[Typo3-german] PHP-Datenbankzugriff, Suche
Christoph Köpernick @ proSystem Media GmbH
christoph at psysm.com
Wed Sep 7 16:48:25 CEST 2005
Hallo,
benutze am Besten die typo3 eignenen Datenbank Funktionen, beschrieben
in
http://typo3.org/documentation/document-library/doc_core_cgl/Using_the_w
rapper_cl/
z.B. // SELECT:
$query = $GLOBALS['TYPO3_DB']->SELECTquery(
'*', // SELECT ...
'mytable', // FROM ...
'uid=123 AND title LIKE "%blabla%"', // WHERE...
'', // GROUP BY...
'title', // ORDER BY...
'5' // LIMIT ...
);
$res = $GLOBALS['TYPO3_DB']->sql(TYPO3_db, $query);
Wenn Du diese benutzt bist du schon mit den DB verbunden und brauchst
dich um nichts weiter kümmern.
Wo legst du den PHP Code an? Als Extension oder als content-typ "php"?
Grüße, Christoph Köpernick
> -----Ursprüngliche Nachricht-----
> Von: typo3-german-bounces at lists.netfielders.de [mailto:typo3-german-
> bounces at lists.netfielders.de] Im Auftrag von Lars Jonuscheit
> Gesendet: Mittwoch, 7. September 2005 16:42
> An: typo3-german at lists.netfielders.de
> Betreff: [Typo3-german] PHP-Datenbankzugriff, Suche
>
>
>
> Hi,
>
>
>
> ich möchte ein kleine Suche in PHP-Schreiben und habe erstmal
folgendes
> Script:
>
>
>
> <?php
>
> $eingabe_array = explode(' ',$suchfeld);
>
> $query = 'SELECT * FROM tt_content WHERE '; //anfang der abfrage
> for($i=0; $i<count($eingabe_array); $i++){
>
> $query .= "(bodytext LIKE '%".$eingabe_array[$i]."%' OR header
> LIKE '%".$eingabe_array[$i]."%')";
> //ob der $i-te begriff in einer der zwei spalten enthalten
ist
> (mit oder verknüpft)
> if($i<count($eingabe_array)-1){
> $query .= ' and ';
> }
> //verknüpfung der einzelnen worte mit und
> }
>
> $result = mysql_db_query('typo3',$query);
>
> $num = mysql_num_rows($result); //anzahl der zurückgegebenen
datensätze
> for($i=0; $i<$num; $i++){
> $header = mysql_result($result,$i,'header'); //abfrage der
> ueberschift
> $bodytext = mysql_result($result,$i,'bodytext'); //abfrage der
> news
> $first = array_slice(explode(' ', $bodytext), 0, 40);
//explode
> teilt den string wieder an der ' ' und array_slice erstellt einen
neuen
> array mit den ersten 40 elementen = worten der suche
> $kurze_suche = join(' ', $first) . '... '; //join verbindet
die
> elemente des arrays wieder zu einem string. am ende werden noch drei
> punkte angehängt...
> echo $kurze_suche.'<br><br>'; //der 40 worte lange anfang des
> ergebnistextes
> }
>
> ?>
>
>
>
> Leider bekomme ich keine Ausgabe. $query stimmt, die habe ich mir per
echo
> ausgeben lassen und sogar im sql getestet. ab $result gibt es
probleme.
>
> muss ich bei einer datenbankanfrage in typo3 erst eine
datenbankanfrage
> aufbauen oder bin ich bereits verbunden und muss nur noch die tabelle
> angeben, so wie ich es gemacht habe?
>
> kann mir jemand weiterhelfen?
>
>
>
> MfG Lars
>
________________________________________________________________________
_
> Mit der Gruppen-SMS von WEB.DE FreeMail können Sie eine SMS an alle
> Freunde gleichzeitig schicken:
http://freemail.web.de/features/?mc=021179
>
>
>
> _______________________________________________
> Typo3-german mailing list
> Typo3-german at lists.netfielders.de
> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-german
More information about the TYPO3-german
mailing list