Hallo,
JA die Suchfunktion hab ich benutzt, aber leider keine direkte Lösung für das Problem gefunden (oder ich bin schlichtweg transferunfähig *G*).
Ich versuche gerade eine Extension zu schreiben bei der eine Anzahl von Dokumenten (Anwendungsbeispieldokumentationen bestehend aus einigen Textfeldern sowie Bildern) angezeigt werden. Ganz zu Anfang gibt es einen Index. Die Daten liegen in einer Tabelle vor. Jetzt habe ich das Problem, daß er permanent behauptet es gäbe keine Datensätze, obwohl diese NACHWEISLICH in der Datenbank vorhanden sind. Auch das Auslagern in eine andere Datenbank schaffte da keinerlei Abhilfe. Es bleibt bei angeblichen Null Einträgen. Beim Durchwühlen der Dokumentation habe ich auch nichts spezifisches gefunden außer das Tutorial "Creating a basic extension".
Der dort angegebene Weg über mysql(TYPO3_db,$query) funktioniert definitiv NICHT. Eine explizite Angabe der Datenbankverbindung mittels mysql_connect führte ebenfalls zu keinem Ergebnis, von Seiteneffekten die irgendwelche dubiosen Fehlermeldungen aus der CORE API hervorrufen mal abgesehen. Desweiteren hab ich den Cache irgendwie im Verdacht meine Auswertungen zu verfälschen da die Fehlermeldungen manchmal da sind und manchmal nicht. Völlig unnachvollziehbares Verhalten eben, gibt es eine Möglichkeit das Cachen komplett zu verhindern? Denn jedesmal über das Backend die Caches leeren zu müssen nervt enormst. Der Browsercache geht mir schon auf den Keks genug.
Die generelle wichtige Frage jedoch:
Wie rufe ich Daten aus einer beliebigen Tabelle X ab. Gibts dafür unter Typo3 eine Bibliotheksfunktion oder dergleichen die ich verwenden kann (muß) oder geht das nur über mysql_query("viel SQL",$verbindung) (wenn dem so ist mach ich was falsch denn es geht so nicht momentan)?
Codeausschnitt aus der kooperationsunwilligen Extension:
content=$content._AN_SUCHE.'
<input type="text" name="suche" size="25" maxlen="60">
<input type="submit" value="Go!">
<a href="$scr?op=showidx&lang='._AN_SPRCODE.'">'._AN_SPRACHWAHL.'</a>
</form>
</td></tr>';
$content=$content.'
<tr style="background:silver;">
<td>'.$srtlnk.'9">'._AN_BEZEICH.'</a></td>
<td>'.$srtlnk.'10">'._AN_MATERIAL.'</a></td>
<td width="8%">'.$srtlnk.'11">'._AN_MASCHINE.'</a></td>
<td width="8%">'.$srtlnk.'7">'._AN_ANWENDUNG.'</a></td>
<td width="12%">'.$srtlnk.'3">'._AN_FIRMA.'</a></td>
<td width="8%">'.$srtlnk.'1">'._AN_DATUMB.'</a></td>
</tr>';
$query="select note_id,datum_beginn,datum_ende,firma,kdnr_firma,ansprechp,id_ansprechp,id_vertretung,
id_anwendung,teil_bezeichnung,teil_material,tech_maschine,tech_features,tech_software,tech_bearbzeit,
tech_bearbdetail,tech_beschreib,tech_imglink,id_bearbeiter,priorität,freigabe from tx_usrappnotes_data where 1";
$con=mysql_connect("zensiert","zensiert","zensiert");
$ergebnis=mysql_db_query("zensiert",$query,$con);
if (mysql_num_rows($ergebnis)==0) {
$content=$content.'<tr><td colspan="6"> Keine Datensätze gefunden</td></tr>';
} else {
for ($i=1;$i<=mysql_num_rows($ergebnis);$i++) {
$zeile=mysql_fetch_row($ergebnis);
$detlnk="<a href="$scr?lang=$lang&op=showdtl&item=$zeile[0]">";
$content=$content.'
<tr>
<td>$detlnk$zeile[1]</a></td>
<td>$zeile[2];</td>
<td>$zeile[3];</td>
<td>$zeile[4];</td>
<td>$zeile[5];</td>
<td>$zeile[6];</td>
</tr>
';
}
}
$content=$content.'
</table>
';
*ratlos mit Deadline im Nacken*
- Dragan