Ergebnis 1 bis 4 von 4
  1. #1
    DateMake Dialer
    Registriert seit
    17.05.2009
    Beiträge
    117

    Standard Problem bei Mysql abfrage einzelnes Ergebnis

    ICh habe ein PRoblem bei einer Mysqlabfrage. Von Funpic her bin ich es gewöhnt mit php4 zu schreiben deshalb macht mir nur auf bplaced die umstellung auf php5 etwas schwierigkeiten. Momentan versuche ich ein PM-System zu schreiben, habe aber das Problem, dass wenn ich wie gelernt Alle Daten per while() schleife auszulesen, in eine endlosschleife reinrutsch.
    Das verblüffende dadran, wenn ich die Zeile ausgeb, kommt endlos immer in der Ausgabe der erste wert.
    PHP-Code:
    while($eingang2 mysql_fetch_object(mysql_query("SELECT * FROM dt_pm WHERE an='$hust' AND gelesen=0 ORDER BY id DESC LIMIT 30"))){
    $id     =$eingang2->id;
    $betreff=$eingang2->betreff;
    $von    =$eingang2->von;
    $datum  =$eingang2->datum;

    echo 
    "<tr><td><a href='index.php?site=member&&mod=showuser&&name=$von'>$von</a></td>";
    echo 
    "<td>$datum</td>";
    echo 
    "<td><a href='index.php?site=msg&&mod=read&&id=$id'>$betreff</a></td></tr>";

                                                         } 
    Ich hoffe ihr könnt mir helfen.
    $hust ist der per Cookie übermittelte name.

  2. #2
    Kevin Lee Poulsen Avatar von VeN0m
    Registriert seit
    30.12.2008
    Beiträge
    1.270

    Standard

    Hat einen ganz einfachen Grund. Wenn Du den Query in die Schleifenbedingung hineinschreibst ist klar, wieso es eine Endlosschleife ist. Das Ding fragt immer den ersten Wert ab und fetched ihn in ein Objekt . Somit trifft die Bedingung immer zu:

    PHP-Code:
    $res mysql_query("SELECT * FROM dt_pm WHERE an='$hust' AND gelesen=0 ORDER BY id DESC LIMIT 30");

    while(
    $eingang2 mysql_fetch_object($res)) {

        
    $id     =$eingang2->id;
        
    $betreff=$eingang2->betreff;
        
    $von    =$eingang2->von;
        
    $datum  =$eingang2->datum;

        echo 
    "<tr><td><a href='index.php?site=member&&mod=showuser&&name=$von'>$von</a></td>";
        echo 
    "<td>$datum</td>";
        echo 
    "<td><a href='index.php?site=msg&&mod=read&&id=$id'>$betreff</a></td></tr>";


    Try this . Ich bevorzuge jedoch mysql_fetch_array(), das finde ich im allgemienen komfortabler.
    Come to the dark side - We have cookies

  3. #3
    DateMake Dialer
    Registriert seit
    17.05.2009
    Beiträge
    117

    Standard

    thx ich wers so mal probieren.

    ich habs nie anderst gelernt ausser mit fetch object^^

  4. #4
    Kevin Lee Poulsen Avatar von VeN0m
    Registriert seit
    30.12.2008
    Beiträge
    1.270

    Standard

    Dann versuchs zukünftig mal mit fetch_array . Dann hast Du statt $eingang2->id einfach $eingang2['id'], was einem normalen Array entspricht.

    http://de.php.net/manual/de/function...etch-array.php

    Das ist eigentlich die am häufigsten benutzte Variante. Fetch_object() geht aber natürlich auch.
    Come to the dark side - We have cookies

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •