mb: ORDER BY

hi leute!
hab mal ne etwas blöde frage. ich möchte von einer datenbank datensätze auslesen. dies funktioniert auch. jetzt möchte ich aber diese nach zunummer ordnen. dann kommt mir immer bei der zeile mit num1 eine fehlermeldung. kann mir jemand sagen, was ich hier für einen fehler gemacht habe?

$abfrage = "SELECT * FROM rdbzutaten ";
   $abfrage .= "LEFT JOIN rdbwaren ON (zuwaren = waid) ";
   $abfrage .= "WHERE zurezept = $reid";
   $abfrage .= "ORDER BY $zuid ASC";

$resultat = mysql_query($abfrage, $conn);
   $num1 = mysql_num_rows($resultat);

danke!

  1. Hallo,

    Lass Dir die fertige Query anzeigen:

    echo $abfrage;

    Dann siehst Du den Fehler vielleicht (ich vermute,
    dass die Variable $zuid leer ist) - sonst
    poste die _fertige_ Query hier.
    Wie Du die Query mit PHP zusammenbaust ist fuer uns
    voellig uninteressant.

    Und fuehre endlich eine anstaendige Fehlerbehandlung ein.
    Als Beispiel koennte
    http://www.php.net/manual/de/ref.mysql.php
    dienen...

    Gruesse,

    Thomas

    --
    Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
    Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
    Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/
    1. Du hast richtig vermutet, die Variable ist leer. Ich komm da aber noch nicht ganz mit; in der Datenbank steht bei zuid was drinnen.
      Was muss ich jetzt ändern?

      Hallo,

      Lass Dir die fertige Query anzeigen:

      echo $abfrage;

      Dann siehst Du den Fehler vielleicht (ich vermute,
      dass die Variable $zuid leer ist) - sonst
      poste die _fertige_ Query hier.
      Wie Du die Query mit PHP zusammenbaust ist fuer uns
      voellig uninteressant.

      Und fuehre endlich eine anstaendige Fehlerbehandlung ein.
      Als Beispiel koennte
      http://www.php.net/manual/de/ref.mysql.php
      dienen...

      Gruesse,

      Thomas

      1. Hallo,

        Du hast richtig vermutet, die Variable ist leer. Ich komm da aber noch nicht ganz mit; in der Datenbank steht bei zuid was drinnen.

        Wenn "zuid" der Spaltenname in der Datenbank ist,
        dann muss es einfach heissen:
        SELECT [...] ORDER BY zuid

        http://www.mysql.com/doc/en/SELECT.html

        Gruesse,

        Thomas

  2. yo,

    $abfrage .= "ORDER BY $zuid ASC";

    ORDER BY braucht den namen der spalte oder den aliasnamen für die spalten, nach der sortiert werden soll. setzte einfach für $zuid den spaltennamen ein.

    Ilja

  3. Ich habs jetzt geschafft!
    Danke für die hilfreichen Antworten!

    hi leute!
    hab mal ne etwas blöde frage. ich möchte von einer datenbank datensätze auslesen. dies funktioniert auch. jetzt möchte ich aber diese nach zunummer ordnen. dann kommt mir immer bei der zeile mit num1 eine fehlermeldung. kann mir jemand sagen, was ich hier für einen fehler gemacht habe?

    $abfrage = "SELECT * FROM rdbzutaten ";
       $abfrage .= "LEFT JOIN rdbwaren ON (zuwaren = waid) ";
       $abfrage .= "WHERE zurezept = $reid";
       $abfrage .= "ORDER BY $zuid ASC";

    $resultat = mysql_query($abfrage, $conn);
       $num1 = mysql_num_rows($resultat);

    danke!

  4. Hello,

    hi leute!
    hab mal ne etwas blöde frage. ich möchte von einer datenbank datensätze auslesen. dies funktioniert auch. jetzt möchte ich aber diese nach zunummer ordnen. dann kommt mir immer bei der zeile mit num1 eine fehlermeldung. kann mir jemand sagen, was ich hier für einen fehler gemacht habe?

    $abfrage = "SELECT * FROM rdbzutaten ";
       $abfrage .= "LEFT JOIN rdbwaren ON (zuwaren = waid) ";
       $abfrage .= "WHERE zurezept = $reid";

    ---

    $abfrage .= "ORDER BY $zuid ASC";

    $resultat = mysql_query($abfrage, $conn);
       $num1 = mysql_num_rows($resultat);

    Da fehlt ein Leerzeichen. Wenn Du Statements codest, solltest Du einen "Debug-Mode" einbauen, der dir die Dinger vor der Benutzung nochmal auf den Bildschirm schiebt.

    if (DEBUG) echo "<p>".htmlentities($abfrage)."</p>\n";

    Liebe Grüße aus http://www.braunschweig.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen