beNNi: Datensatz suchen und verarbeiten

Hallo,

ich habe mir eine Tabelle angelegt mit einer ID und einer Beschreibung.

In einem 2. Formular, lege ich noch weitere Daten zur ID an.

Jedoch soll mein Script erst überprüfen, ob die ID vorhanden ist.

Die Überprüfung ist kein Problem, aber die Abfrage..

Er soll mir also den Datensatz raussuchen, der die ID besitzt, und mit der ID weiterarbeiten..

Code

$abfrage = mysql_query ("SELECT * FROM produkte WHERE ID'".$_GET['ID_neu']."'");

if ($abfrage == $ID_neu )

Leider sagt er mir, wenn ich eine richtige ID eingebe, das diese nicht gefunden wurde.
Lasse ich mir das Abfragenergebnis ausgeben, erscheint "Ressource #3".

Wie kann ich es anstellen, das er den richtigen DS raussucht, und die if Bedingung dann ordnungsgemäß ausführt.

Gruß benni

  1. Hallo

    $abfrage = mysql_query ("SELECT * FROM produkte WHERE ID'".$_GET['ID_neu']."'");

    if ($abfrage == $ID_neu )

    Leider sagt er mir, wenn ich eine richtige ID eingebe, das diese nicht gefunden wurde.
    Lasse ich mir das Abfragenergebnis ausgeben, erscheint "Ressource #3".

    Du musst die zurückgegebene Ressouce erst auslesen. Dazu gibt es mehrere PHP-Funktionen, z.B. mysql_fetch_array, mysql_fetch_assoc, naja, alle Funktionen, die mit 'mysql_fetch' beginnen.

    siehe: php.net: mysql-Funktionen

    Tschö, Auge

    --
    Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
    (Victor Hugo)
    <dingdong /><dingdong /><toc /><toc /><toc /><shout>Florence!</shout>
    Veranstaltungsdatenbank Vdb 0.1
    1. Ups, das = ist im Quelltext drinne, ist wohl beim posten rausgerutscht!

      Problem also immer noch da :-((

      1. Hallo

        Ups, das = ist im Quelltext drinne, ist wohl beim posten rausgerutscht!

        Problem also immer noch da :-((

        Hast du das Ergebnis deiner Abfrage mittlererweile mit einer 'mysql_fecht_...'-Funktion behandelt, wie ich es dir schrieb? Offensichtlich nicht, wobei mich wundert, dass dir dein PHP5-Buch, welches du erwähntest, dazu keine Angaben macht.

        Also in Kurzform:

        // der Query (wir wollen nur die IDs der Datensaetze)  
        $anfrage = "SELECT id FROM ...";  
        // uebergabe des Query an die DB und Rueckgabe  
        // des Ergebnisses der Anfrage in Form einer DB-Kennung  
        $ergebniskennung = mysql_query($anfrage);  
        // Auslesen der Ergebniskennung innerhalb einer Schleife  
        // und Ausgabe der IDs, je eine pro Zeile  
        while ($ergebnis = mysql_fetch_assoc($ergebniskennung)) {  
        echo $ergebnis["id"]."<br>";  
        }
        

        Ich habe hier mysql_fetch_assoc() verwandt, da ich somit ohne Umschweife auf die Elemente unter ihrem Spaltennamen in der DB zugreifen kann. Das vereinfacht die Anpassung des Skriptes, falls sich die Struktur der Datenbank ändert. Alternativ würde auf die Nummer der Spalte zugegriffen werden ($ergebnis[0], falls ID die erste Spalte der Tabelle ist).

        Tschö, Auge

        --
        Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
        (Victor Hugo)
        <dingdong /><dingdong /><toc /><toc /><toc /><shout>Florence!</shout>
        Veranstaltungsdatenbank Vdb 0.1
        1. Hi,

          Hast du das Ergebnis [...] mit einer 'mysql_fecht_...'-Funktion behandelt,

          Ganz wichtig: vorher mysql_en_garde() aufrufen!
          Und natürlich festlegen, ob Degen oder Säbel benutzt werden.

          ;-)

          cu,
          Andreas

          --
          Warum nennt sich Andreas hier MudGuard?
          O o ostern ...
          Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
          1. Hallo

            Hast du das Ergebnis [...] mit einer 'mysql_fecht_...'-Funktion behandelt,

            Ganz wichtig: vorher mysql_en_garde() aufrufen!
            Und natürlich festlegen, ob Degen oder Säbel benutzt werden.

            ;-)

            Als Feingeist bevorzuge ich das Florett. Allerdings ... als Grobmotoriker sollte ich doch lieber den Rapier benutzen. Und zum Schluss ersteche ich meinen Gegner mit dem Löffel. Warum Löffel? Weil der schön stumpf ist.

            ;-)

            Tschö, Auge

            --
            Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
            (Victor Hugo)
            <dingdong /><dingdong /><toc /><toc /><toc /><shout>Florence!</shout>
            Veranstaltungsdatenbank Vdb 0.1
  2. Hello,

    $abfrage = mysql_query ("SELECT * FROM produkte WHERE ID'".$_GET['ID_neu']."'");

    abgesehen von der anderen Antwort in Bezug auf die Auswertung - ist DAS dein Oroginalstatement? Da ist ein Syntaxfehler drin, du führst keinen Vergleich zwischen ID und $_GET... aus...

    MfG
    Rouven

    --
    -------------------
    Unser Problem ist, dass wir eine Demokratie entwickelt haben, was nicht immer der richtige Weg ist  --  Bernie Ecclestone zu den lästigen Diskussionen um Regeländerungen in der Formel 1
    1. Dadurch das ich gerade dabei bin PHP zu lernen, und von MySQL außer ein paar Abfragen noch nicht mehr gehört habe, hab ich den Befehl zum Suchen von einem PHP 5.0 Buch....

      Der Rest ist natürlich selbst geschrieben, aber mit den Abfragen haperts halt :-(

      1. Hello,

        Der Rest ist natürlich selbst geschrieben, aber mit den Abfragen haperts halt :-(

        jaja, aber du hast dich beim Abschreiben vertan...
        ID='".$_GET['id']."'
        -> das = fehlt

        MfG
        Rouven

        --
        -------------------
        Ambition is the last refuge of failure.  --  Oscar Wilde (Irish Poet, Novelist, Dramatist and Critic, 1854-1900)