kostenloser Webspace werbefrei: lima-city


PHP Skript zeigt nur 1 DB Eintrag an

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    Hallo !

    Ich habe ein Problem mit einem von mir geschriebenen PHP Script.

    Hier mal das Skript:

    <?php
    
    include 'sql.php';
    
    $sql = "SELECT * FROM rezepte WHERE kategorie = '".mysql_real_escape_string($_GET['anzeigen'])."'";  
    $result = mysql_query ($sql);  
       
    while ($data = mysql_fetch_array ($result)) {
      $rezeptname = $data["rezeptname"];
      $zutaten = $data["zutaten"];
      $zubereitung = $data["zubereitung"];
      $bild = $data["bild"];
    
    echo "
    <form method=\"POST\" action=\"rezept_eintragen.php\">
        <center>
        <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#111111\" width=\"20%\">
          <tr>
            <td width=\"50%\"><font face=\"Arial\"><b>Rezeptname</b></font></td>
            <td width=\"50%\"><input type=\"text\" name=\"rezeptname\" size=\"36\" value=\"$rezeptname\"></td>
          </tr>
          <tr>
            <td width=\"50%\"><font face=\"Arial\"><b>Zutaten</b></font></td>
            <td width=\"50%\"><textarea rows=\"2\" name=\"zutaten\" size=\"36\">$zutaten</td>
          </tr>
          <tr>
            <td width=\"50%\"><font face=\"Arial\"><b>Zubereitung</b></font></td>
            <td width=\"50%\"><textarea rows=\"2\" name=\"zubereitung\" size=\"36\">$zubereitung</td>
          </tr>
          <tr>
            <td width=\"50%\"><font face=\"Arial\"><b>Bild</b></font></td>
            <td width=\"50%\"><input type=\"text\" name=\"bild\" size=\"36\" value=\"$bild\"></td>
          </tr>
          <tr>
            <td width=\"100%\" colspan=\"2\">
            <input type=\"hidden\" name=\"rezeptname\" value=\"$data[rezeptname]\" size=\"20\">
            <input type=\"submit\" value=\"Daten ändern\" name=\"editrezept\" size=\"20\">
            <input type=\"submit\" value=\"Eintrag löschen\" name=\"delrezept\" size=\"20\"></td>
          </tr>
        </table>
        </center>
      </div>
    </form>
    <br>
    ";
    }
    ?>


    Das Problem: Es sollten alle Einträge aus der Tabelle "rezepte" mit dem Wert aus GET "anzeigen" angezeigt werden.
    Es wird aber nur ein Eintrag angezeigt.
    Was ist an dem Skript falsch?

    Mfg
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. mach ein
    mysql_num_rows($result);
    vor die while-schleife rein, um sicherzugehen, dass nicht nur 1 eintrag aus der db geholt wird.
    überprüfe auch noch einmal via phpMyAdmin, ob wirklich mehr als 1 eintrag in der entsprechenden tabelle vorhanden ist.

    ausserdem könntest du ein
    error_reporting(E_ALL);
    an den anfang des scripts stellen, um eventuelle fehler angezeigt zu bekommen.

    mfg
  4. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    syberpsace schrieb:
    mach ein
    mysql_num_rows($result);
    vor die while-schleife rein, um sicherzugehen, dass nicht nur 1 eintrag aus der db geholt wird.
    überprüfe auch noch einmal via phpMyAdmin, ob wirklich mehr als 1 eintrag in der entsprechenden tabelle vorhanden ist.

    ausserdem könntest du ein
    error_reporting(E_ALL);
    an den anfang des scripts stellen, um eventuelle fehler angezeigt zu bekommen.

    mfg


    Ich hab beides eingefügt. Hat sich leider noch nichts geändert
  5. genau. Schreib mal vor das mysql_num_rows(); ein echo

    dann wird die Anzahl der abgefragten Datensätze rausgehauen, wenn die Zahl 1 ist, dann gibt die Abfrage auch nur 1 Eintrag aus(erstaunlich)

    Dann hast du in deiner DB nur ein Eintrag, der der Kategorie entspricht.
  6. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    ichbinlooper schrieb:
    genau. Schreib mal vor das mysql_num_rows(); ein echo

    dann wird die Anzahl der abgefragten Datensätze rausgehauen, wenn die Zahl 1 ist, dann gibt die Abfrage auch nur 1 Eintrag aus(erstaunlich)

    Dann hast du in deiner DB nur ein Eintrag, der der Kategorie entspricht.


    Nein, es sind garantiert mehr, hab ich in PHPmyadmin gesehen.

    Ich sehe gerade, dass dieser eine Eintrag garnicht vollständig angezeigt wird.
    Nur die ersten zwei werden angezeigt, es sind aber vier.
    Auch der Footer der Seite wird nicht angezeigt.
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!