[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