+ Antworten
Ergebnis 1 bis 5 von 5

Thema: While-Schleife in Extension zeigt nur letzten Treffer

  1. #1
    TP-Supporter Katjusha macht alles soweit korrekt Avatar von Katjusha
    Registriert seit
    Feb 2008
    Beiträge
    392

    While-Schleife in Extension zeigt nur letzten Treffer

    Hi,

    ich sitze nun auch schon ein paar Tage an einem wie ich zunächst dachte recht simplen Sache, die sich für mich leider als doch etwas schwieriger rausstellt.

    es geht um das simple auslesen von Datensätze aus der DB in einer Extension. Die Daten sollen aufgelistet werden, also eine Select-Abfrage, wo mehr als ein Treffer wahrscheinlich ist, so das dann etwa folgendes zu sehen ist:

    neue Kommentare:

    neuer Koomentar in 55
    neuer Kommentar in 59

    Ich weiß wie ich das über ein Template hinbekomme, nach dem guten Tutorial zur eigenen Extension von Steffenk, also über Subparts und dann mit <--Row--> <--Row-->
    Aber ich will nicht bei jeder kleinen Abfrage ein riesen Fass aufmachen, sprich, ich möchte zb in diesem Fall einfach nur das Ergebniss der DB-Abfrage in eine Variable/ in einen normalen Marker Speichern und im Template ausgeben. Bisher wird mir aber immer nur der letzte Wert angezeigt. wenn zb die Treffer eigentlich " 5 12 16 17 22" sein sollten, wird trotz while-schleife immer nur "22" ausgegeben. Bitte gib mir jemand einen Tipp, weil ich es hier echt schon langsam nervig finde.
    Im folgenden noch mal ein stück source, bitte, ich weiß das es nicht die api-konforme db-abfrage ist, also geschenkt, hatte das ganze schon diverese male mit der api-konformen versucht, diesmal ists es zufällig nun diese, es geht nun erstmal nur darum, alle treffer auszugeben:

    HTML-Code:
    	function account($conf) {
    	
     $subpart = $this->cObj->getSubpart($this->template,'###MY_ACCOUNT###');
    	 $singlerow=$this->cObj->getSubpart($subpart,'###ROW###');
    
         $pfad = $this->conf['path'];
         $benutzer = $GLOBALS['TSFE']->fe_user->user['uid'];
    
    // Get all the data from the "example" table
    $result = mysql_query("SELECT * FROM tx_veguestbook_entries	") 
    or die(mysql_error());  
    
    
    // keeps getting the next row until there are no more to get
    while($row = mysql_fetch_array( $result )) {
    	// Print out the contents of each row into a table
    
    $markerArray['###TREFFER###'] = $row['uid'];
    
    } 
    
    $content = $this->cObj->substituteMarkerArrayCached($subpart,$marker,$subpartArray,array());
    	
    	 return $content;
    	}
    	
    }
    Wenn ich in der while-Schleife hier keinen Marker verwende, sondern die $row['uid'] direkt per echo ausgebe, werden alle treffer ausgegeben, und nciht nur der letzte, aber das nur zur Info, da es ja keine wirklcihe Lösung für das Problem ist.

    ICh hoffe, ihr könnt mir helfen und ich hab das verständlich erklärt und sage schonmal danke für die antworten.

    Mfg, Katjusha

  2. #2
    TP-Special Mod steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User Avatar von steffenk
    Registriert seit
    Feb 2005
    Ort
    Haan / NRW
    Beiträge
    12.869
    ich muss es Dir scho wieder sagen - nutze die API. Also keine mysql-Befehle sondern $GLOBALS['TYPO3_DB']->methode.

    Zu Deinem Problem - kein Wunder, Du überschreibst immer den selben Marker mit dem nächsten Ergebnis.


    TYPO3 · MySQLDumper · dislabs
    ·
    manche Mühlen mahlen schneller ...
    "Ich habe Rücken"
    Horst Schlämmer


  3. #3
    TP-Supporter Katjusha macht alles soweit korrekt Avatar von Katjusha
    Registriert seit
    Feb 2008
    Beiträge
    392
    Code:
    Zu Deinem Problem - kein Wunder, Du überschreibst immer den selben Marker mit dem nächsten Ergebnis.
    Aha, so etwas hatte ich schon fast vermutet. wie kann ich verhindern, das der Marker überschrieben wird?

  4. #4
    TP-Supporter Katjusha macht alles soweit korrekt Avatar von Katjusha
    Registriert seit
    Feb 2008
    Beiträge
    392
    Steffen, ich habs hinbekommen. Es war tatsächlich nur ein kleiner Punkt nötig, um alle Treffer asuzugeben, also ".=" statt "=". Das deckt sich ja auch mit deiner zutreffenden aussage, das sich die Marker überschreiben. Also mit dem Punkt wird dann der nächste Werrt drangehängt, anstatt das die Variable neu definiert wird. Ich danke dir für deine hilfreiche Antwort.

    Gruß, Katjusha

    PS: noch mal zur API, also ich benutze schon normalerweise die TYPO3-Syntax, nur in diesem Beispiel war es eine andere, da man wenn etwas auch beim 100. mal nicht klappt, dann überlegt man halt, ob es nicht vieleicht wie in diesem Fall zb an der select-syntax liegt und wechselt testweise diese aus, usw. das kennt sicher der eine oder andere php-anfäger aus eigener Erfahrung.

  5. #5
    TP-Special Mod steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User steffenk lebt für das TP und seine User Avatar von steffenk
    Registriert seit
    Feb 2005
    Ort
    Haan / NRW
    Beiträge
    12.869
    Du kannst Dir ja die Beta2 installieren, dort gibt es ein sehr gutes Error handling. Wenn also bei DB-Abfrage was schief geht, bekommst Du es auch mit. (mit sqlDebug=1)
    (wobei natürlich vergessene Konkatenierung kein "Fehler" erzeugt.)


    TYPO3 · MySQLDumper · dislabs
    ·
    manche Mühlen mahlen schneller ...
    "Ich habe Rücken"
    Horst Schlämmer


+ Antworten

Ähnliche Themen

  1. wie Excelliste durchsuchen und treffer anzeigen
    Von nagos im Forum Dreamweaver & andere Webeditoren
    Antworten: 4
    Letzter Beitrag: 08.06.2005, 13:35
  2. wo kommt dieser Suma-Treffer her?
    Von Thomas im Forum SEO
    Antworten: 3
    Letzter Beitrag: 21.05.2005, 18:05
  3. Chromless-38 Treffer aber nix gefunden
    Von StephanF im Forum Dreamweaver & andere Webeditoren
    Antworten: 18
    Letzter Beitrag: 19.12.2003, 07:10
  4. Goolge und die Treffer
    Von Tooltime im Forum SEO
    Antworten: 12
    Letzter Beitrag: 24.07.2003, 19:44

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51