Datensätze dynamisch mit datei.php?id=1 Get ausgeben

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

  • Datensätze dynamisch mit datei.php?id=1 Get ausgeben

    Folgendes Problem ich lasse mir mit dem folgendem Code alle Datensätze meiner Datenbanktabelle auslesen

    produkt.php
    Zitat:
    PHP-Code:
    <table width="690" border="0">
    <tr>
    <td>#</td>
    <td>Thema</td>
    <td>Trainer</td>
    <td>Dauer</td>
    </tr>
    <?php
    try{
    // MYSQL CONNECT
    $db = new MySQLi('localhost''root''''sortiment');
    //SQL TABELLEN ZUWEISUNG
    $sql 'SELECT * FROM tabelle';
    $ergebnis $db->query($sql);
    //Alle Daten auslesen
    while ($zeile $ergebnis->fetch_object()) {

    printf ('<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td> </tr>',
    $zeile->id,
    htmlspecialchars($zeile->h1),
    htmlspecialchars($zeile->h2),
    $zeile->dauer
    );
    }

    $db->close();
    echo 
    'Verbindung zu.<br />';
    } catch (
    Exception $e) {
    echo 
    'Fehler: ' htmlspecialchars($e->getMessage());
    }

    ?>
    </table>
    funktioniert soweit auch.

    Meine Datenbank Tabelle besteht nur aus 3 Feldern: ID als Integer (mit auto inkrement) und h1 und h2 als varchar. Hier hab ich nun in phpmyadmin mehrere Daten eingetragen.

    Nun möchte ich das ganze aber dynamisch mit einer GET-Variablen auslesen. Also immer nur einen Datensatz pro URL via GET ausgeben aber alles in produkt.php.

    konkret: wenn ich

    produkt.php?id=1 eingebe = erster datensatz (überschriften+id) ausgeben
    produkt.php?id=2 eingebe = zweiter datensatz (überschriften+id) ausgeben
    produkt.php?id=3 eingebe = dritter datensatz (überschriften+id) ausgeben
    u.s.w.

    Ich glaube die Lösung ist sehr einfach mit mysqli, dem mysqli_real_escape_string und WHERE ID hinzubekommen aber ich steh irgendwie gerade auf dem Schlauch.
    Zuletzt geändert von dersascha; 07.11.2007, 22:21.

  • #2
    Code:
    $query = 'SELECT * FROM tabelle where id = \\'' . $_GET['id'] . '\\'' ;
    Vielleicht solltest Du noch abfragen ob id gesetzt ist.
    Zuletzt geändert von ; 07.11.2007, 22:28.

    Kommentar


    • #3
      edit: gelöscht - doppel post
      Zuletzt geändert von ; 07.11.2007, 22:29.

      Kommentar


      • #4
        Du musst deine Abfragen mit einem WHERE beglücken:
        Code:
        SELECT
            ...
        FROM
            ...
        WHERE
            id = ...
        Nieder mit der Camel Case-Konvention

        Kommentar


        • #5
          Nutze die Suchfunktion! Wieder eines dieser "1000-Threads-im-Monat" Themen!

          Kommentar


          • #6
            ok dieser code hier funzt soweit
            $sql = 'SELECT * FROM tab where id = \'' . $_GET['id'] . '\'' ;
            aber darf ich ihn den so auch benutzen ?

            Kommentar


            • #7
              ja darfst du.... wer solls dir verbieten??

              aber lass dir den tipp geben, dich über mysql injections schlau zu machen, sonst hast du n scheunentor gebaut....
              **********
              arkos
              **********

              Kommentar


              • #8
                aber darf ich ihn den so auch benutzen ?
                Dürfen tust du alles v.a. wenn es um deine eigene DB geht. Ich würde diesen Code aber so bestimmt nicht verwenden. Du hast die richtige Fkt
                Ich glaube die Lösung ist sehr einfach mit mysqli, dem mysqli_real_escape_string()
                ja bereits genannt.

                Gruss

                tobi
                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                Kommentar

                Lädt...
                X