Formblatt für eine MySQL-Datenbank

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Formblatt für eine MySQL-Datenbank

    Ich habe ein Problem unzwar habe ich eine MySQL-Datenbank mit dem Namen 'Tomatenliste'

    Tabelle: Tomatenliste

    mit den Spalten: id, Name, Beschreibung und Bild

    Und ich möchte ein Formblatt erstellen, in dem ich ein Index habe von A - Z geht soweit auch alles.

    Aber sobald ich auf z.B. auf A klicke kommen die Fehler:

    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\Wampp2\htdocs\zeig.php on line 32

    und

    Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in C:\Wampp2\htdocs\zeig.php on line 42

    Hier ist mein Code:

    PHP-Code:

    <html><body align="center"><b>Tomaten</b>

    <?php

     
    if ($aktion==start)
          
    start();
     elseif (
    $aktion==liste)
          
    liste($bereich);
     elseif (
    $aktion==detail)
          
    detail($id);
     else
         
    start();

     function 
    start()
     {
     
    $ABC=array(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,ä,ö,ü);
     echo 
    "Name beginnt mit:<p>";
     for (
    $i=0$i<=28$i++)
     echo 
    "<a href='zeig.php?aktion=liste&bereich=$ABC[$i]'>$ABC[$i]</A> ";
     echo 
    "<p><a href='edit.php?aktion=neu'>NeuerEintrag</a>";
     }

     function 
    liste($bereich){
         
    $verbindung=mysql_connect('localhost','root','');
         if (!
    $verbindung)
         echo 
    "Es konnte keine Datenbankverbindung hergestellt werden.";
         
    mysql_select_db("Tomatenliste"$verbindung);
         
    $sql "SELECT Name, Beschreibung, id FROM Tomatenliste
                WHERE Name LIKE '
    $bereich%' ODER BY Name";
         
    $ergebnis mysql_query($sql$verbindung);
         echo 
    "Alle Einträge mit $bereich<P><table width='50%'>";
         while(
    $row mysql_fetch_object($ergebnis))  <-- 1 fehler 
     
                
    {
                echo 
    "<tr><td>"$row->Name" "$row->Beschreibung"</td>";
                echo 
    "<a href=zeig.php?aktion=detail$id=$row->id>Detail</a>\n";
                echo 
    "<a href='edit.php?aktion=loeschen&id=$row->id'>
                       Löschen</a> \n"
    ;
                echo 
    "<a href='edit.php?aktion=edit&id=$row->id'>
                       Bearbeiten</a></tr> \n"
    ;
                }
      echo 
    "</table><p><a href='edit.php?aktion=neu'>Neuer Eintrag</a>";
      
    mysql_free_result($ergebnis);     <-- 2 fehler
      mysql_close
    ($verbindung);
     }

     function 
    detail($id){
                      
    $verbindung=mysql_connect('localhost','root','');
                      if (!
    $verbindung)
                      echo 
    "Es konnte keine Datenbankverbindung hergestellt werden.";
                      
    mysql_select_db("Tomatenliste"$verbindung);
                      
    $sql "SELECT * FROM Tomatenliste WHERE id=$id";
                      
    $ergebnis mysql_query($sql$verbindung);
                       while(
    $row mysql_fetch_object($ergebnis))
                       {
                       echo 
    " "$row->Name"<br>\n";
                       echo 
    " "$row->Beschreibung,"<br>\n";
                       echo 
    " "$row->Bild"</a><p>\n";
                       echo 
    "<a href='edit.php?aktion=loeschen&id=$row->id'>
                              Eintrag löschen</a> \n"
    ;
                       echo 
    "<a href='edit.php?aktion=edit&id=$row->id'>
                              Eintrag bearbeiten</a> \n"
    ;
                       }
          
    mysql_free_result($ergebnis);
          
    mysql_close($verbindung);
     }

    ?>
    </body></html>
    Naja wäre nett wenn ihr mir helfen könntet.

    Nachtrag:
    PHP-Version 4
    MySQL-Version 3.23.52


    mfg cp_xen
    Zuletzt geändert von cp_xen; 14.10.2003, 11:30.
    mfg cp_xen

  • #2
    Als erstes solltest du mal die betreffenden Zeilen irgenwie kennzeichnen, da keiner sie sonst findet.
    Zweitens bedeutet deine Fehlemeldung, dass du das Ergebnis deiner SQL-Abfrage falsch abfängst. Du musst dazu eine andere Funktion nehmen als die aktuelle.
    it's not a bug,
    it's a feature!

    Kommentar


    • #3
      PHP-Code:
      $sql "SELECT Name, Beschreibung, id FROM Tomatenliste
                  WHERE Name LIKE '
      $bereich%' ODER BY Name";
           
      $ergebnis mysql_query($sql$verbindung) or die(mysql_error()); 
      würde mich nicht wundern, wenn jetzt ein fehler kommt, der dir anzeigt, dass "ODER != ORDER" ist.
      Kissolino.com

      Kommentar


      • #4
        Original geschrieben von Wurzel
        PHP-Code:
        $sql "SELECT Name, Beschreibung, id FROM Tomatenliste
                    WHERE Name LIKE '
        $bereich%' ODER BY Name";
             
        $ergebnis mysql_query($sql$verbindung) or die(mysql_error()); 
        würde mich nicht wundern, wenn jetzt ein fehler kommt, der dir anzeigt, dass "ODER != ORDER" ist.
        Danke dir !!!!

        Wie dumm, von mir ist mir nicht aufgefallen *g*

        freu

        Nachtrag:
        Naja, jetzt zeigt er mir keine Fehler mehr aber leider auch keine Daten aus der Datenbank an. Woran kann das liegen?


        mfg cp_xen
        Zuletzt geändert von cp_xen; 14.10.2003, 11:46.
        mfg cp_xen

        Kommentar


        • #5
          Original geschrieben von cp_xen
          Naja, jetzt zeigt er mir keine Fehler mehr aber leider auch keine Daten aus der Datenbank an. Woran kann das liegen?
          unternehme bitte die bei db-query-problemen üblichen debugversuche, die wir hier immer wieder predigen (müssen):

          - querystring zur kontrolle it echo ausgeben
          - die ausführung der query mit mysql_query() um die ausgabe potentieller fehler erweitern, also
          PHP-Code:
          ... = mysql_query(...) or die(mysql_error()); 
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Danke, ich habe es schon selber hinbekommen

            mfg cp_xen
            mfg cp_xen

            Kommentar

            Lädt...
            X