Ankündigung

Einklappen
Keine Ankündigung bisher.

URL-Parameter?

Einklappen

Neue Werbung 2019

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

  • URL-Parameter?

    Hallo! Ich biin PHP-Einsteiger, habe in einer MYSQL-Datenbank Daten zu ca. 50 Videospielen gespeichert, die ich mittels PHP abfragen möchte.

    In der Datei 'spieletests.php' werden alle Spiele aufgelistet, das habe ich bereits geschafft; wobei der Titel als Hyperlink ausgegeben wird und zwar auf eine Detailseite, wo eben alle Details zu einem Datensatz angezeigt werden.

    Die PHP-Passage in 'spieletests.php':
    Code:
    $abfrage = "SELECT * FROM Spiele ORDER by Titel";
    $ergebnis = mysql_query($abfrage);
    while($row = mysql_fetch_object($ergebnis))
    {
    echo "<tr><td width='280' class='texts'>" . $row->Titel . "</td>
    <td width='160' class='texts'>" . $row->FaktenGenre . "</td>
    <td width='80' class='texts'>" . $row->FaktenErscheinungsjahr . "</td>
    <td width='120' class='texts'>" . $row->WertungGesamt . "/100 [img]images/wertung__" . $row->WertungNote . ".gif[/img]</td></tr>";
    }
    In der Datei 'spieletests_detail.php' funktioniert die Anzeige von Daten einfach nicht. Bislang habe ich folgenden PHP-Code (Die Kommentare aufgrund mehrerer Versuchsexperimente):
    Code:
    // $ID=$_POST["ID"];
    // $ID = mysql_escape_string("ID");
    $abfrage = "SELECT * FROM Spiele WHERE Alias=" . mysql_escape_string($_POST["ID"]);
    $ergebnis = mysql_query($abfrage);
    while($row = mysql_fetch_object($ergebnis))
    {
    echo $row->Titel;
    }
    Kann mir jemand sagen, was falsch ist? Bin für jede Hilfe dankbar.
    mfg redwing78


  • #2
    Wenn du nur ein Ergebnis sowieso kriegst, warum machst du es dann nicht mit mysql_fetch_array() ?

    Kommentar


    • #3
      mysql_fetch_array ist nötig aber die while schleife kann man weglassen

      Kommentar


      • #4
        ja das war mir schon klar (hoffentrlich war das an mich gerichtet, sonst würd ich ja alles auf mich beziehen)

        Kommentar


        • #5
          also jetzt mal zum problem:
          warum mit mysql_escpae_string() ?
          und heißt dein feld auch wirklich Alias?
          mach die query mal so:
          Code:
          SELECT * FROM spiele WHERE Alias=$id
          vorher muss natürlich $id=$_POST['ID']; stehen

          Kommentar


          • #6
            URL-Parameter

            Hi! Ja, genau, ich möchte nur die Felder eines einzigen Datensatzes auswählen (desjenigen, der zuvor angeklickt wurde).
            Habe den Code verändert (s.u.), aber ich erhalte nur Fehlermeldungen:
            Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\dokumente und einstellungen\apollo\eigene dateien\eigene webs\techplat\apache\htdocs\nes4ever\spieletests_d etail.php on line 25

            Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in c:\dokumente und einstellungen\apollo\eigene dateien\eigene webs\techplat\apache\htdocs\nes4ever\spieletests_d etail.php on line 29


            ... oder eine leere Anzeige (wenn ich den Code etwas modifiziere).

            Der aktuelle Code ist:
            Code:
            $ID=$_POST["ID"];
            // $ID = mysql_escape_string("ID");
            $abfrage = 'SELECT * FROM Spiele WHERE Alias=' . $ID;
            $ergebnis = mysql_query($abfrage);
            while($row = mysql_fetch_array($ergebnis))
            {
            echo $row->Titel;
            }
            Variablen muss ich ja nicht gesondert definieren in PHP oder?
            danke, mfg redwing

            Kommentar


            • #7
              URL-Parameter

              Hi! Ich habe es nun mittels des folgenden Befehles
              echo $_GET["ID"];
              geschafft, die übergebene ID in der Detailseite auszugeben.

              Die Abfrage lautet:
              Code:
              $abfrage = "SELECT * FROM Spiele WHERE Alias='" . $_GET["ID"] . "'";
              DANKE vielmals, Ihr habt mir sehr geholfen!!!!!!!!!
              mfg redwing

              Kommentar


              • #8
                wir haben glatt die ganze zeit GET und POST verwechselt

                Kommentar


                • #9
                  @redwing78
                  In Zukunft: benutze im Beta-Stadium zumindest immer bei den Querys noch die Error-Reporting-Funktion:
                  Code:
                  $query = mysql_query(...) or die(mysql_error());
                  dann lassen sich solche dummen Fehler vermeiden.

                  Kommentar

                  Lädt...
                  X