Link aus Datenbank generieren

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

  • Link aus Datenbank generieren

    So, bevor jemand sagt, "nutze die Suchfunktion", hab ich schon. Hab auch teilweise was gefunden, hat mir aber nich bei meinem Anliegen geholfen.

    Sollzustand:

    Ich möchte aus einer DB-Tabelle "spieler" die Spalten "id, vorname, nachname, Rückennummer" jedes Datensatzes auslesen. Das ist weiter kein Problem. Diese ausgelesenen Daten sollen nun als Link dargestellt werden, wobei den Link den der Benutzer sieht, aus der Variablen
    "$vorname $nachname" besteht. Auch dies ist kein Problem, da es eine einfache echo Anweisung ist. Nun soll aber bei Klick auf den einzelnen Link eine neue Seite geöffnet werden, z.B. "spielerdaten.php", wo alle zum Spieler gehörenden Daten inclusive Foto angezeigt werden. Das man das über eine "SELECT"- Abfrage macht ist mir klar.

    $databfrage = "SELECT * FROM spieler WHERE id == $id";
    (hoffe doch, das dies richtig ist)

    Nur weiss ich jetzt nicht, wie ich die Daten der einzelnen Spieler an diese Seite übergebe.
    z.B.: Bei Klick auf den Link "Max Muster" sollen alle Daten die zu dieser "ID" gehören auf der nächsten seite angezeigt werden. Wie bringe ich es fertig, die dazugehörige "ID" die ich ja vorher schon aus der DB ausgelesen habe mit zu übertragen, damit das folgende Script alle Daten dieser "ID" ausliesst!!
    Also, wie binde ich die "ID" mit in den Link ein??

    Danke schon mal im voraus für Eure Antworten und Denkanstösse!
    MfG Darson

  • #2
    Auf der Übersichtsseite nur die relevanten Daten für die Anzeige ziehen, die ID des Spielers als GET-Parameter an den Link anhängen und auf der Nächsten Seite die kompletten Daten des Spielers ziehen.
    it's not a bug,
    it's a feature!

    Kommentar


    • #3
      Ja, so dachte ich es mir auch, aber wie häge ich die ID an den Link an? Bin doch noch neu in der Materie! Mein Link sieht momentan so aus:

      PHP-Code:

      echo ="<a href='spielerdetails.php' target ='_self'>$vorname $nachname</a>"
      Wohin packe ich denn die ID??
      MfG Darson

      Kommentar


      • #4
        PHP-Code:
        echo "<a href='spielerdetails.php?id="$id ."' target ='_self'>"$vorname " " $nachname "</a>";
        //$id halt noch durch deinen korrekten Variablennamen ersetzen 
        auf der nächsten Seite einfach so die Abfrage reinbauen:
        PHP-Code:
        $sql "SELECT * FROM spieler WHERE id=".$_GET["id"]; 

        Kommentar


        • #5
          Noch nie gesehen? Sogar das Forum hier machst...

          spielerdetails.php?id=bla

          Kommentar


          • #6
            Danke Mercury1987, hab es auch schon gefunden, auf "php-quake.net".

            @TobiaZ: Klar hatte ich das schon gesehen, wusste nur nicht genau, wie es im link geschrieben wird.

            Wie gesagt, bin doch noch Anfänger, und da fragt man häufiger nach, weil die Profis dies verständlich erklären können!!

            Thx for help!!!
            MfG Darson

            Kommentar


            • #7
              Original geschrieben von Mercury1987
              PHP-Code:
              $sql "SELECT * FROM spieler WHERE id=".$_GET["id"]; 
              [/B]
              Und am besten sich noch gegen MySQL-Injection absichern. Und zwar so:

              PHP-Code:
              $sql "SELECT * FROM spieler WHERE id=".mysql_real_escape_string($_GET["id"]); 
              sicher ist sicher .

              Kommentar


              • #8
                aber eigentlich überflüssig, weil ne ID idr vom Typ Integer sein wird. Daher intval().

                Kommentar


                • #9
                  Ähm, sorry, will ja nicht nerven aber ich bekomme jetzt einen Syntax Error in der Zeile:

                  PHP-Code:
                  $abfrage "SELECT * FROM spieler WHERE id =".$_GET["id"]; 
                  die fehlermeldung sagt mir, das ----unexpected '"'---- in der Zeile ist.

                  komplette Meldung ist:

                  Parse error: syntax error, unexpected '"' in C:\xampp\htdocs\test\spielerdetails.php on line 11

                  und zur vollständigkeit, das komplette Script der Datei spielerdaten.php:

                  PHP-Code:

                  <?php

                  $DatabaseHost 
                  "localhost";
                  $DatabaseUser "root";
                  $DatabasePassword "";
                  $Database "danny";

                  mysql_connect("$DatabaseHost""$DatabaseUser","$DatabasePassword") or die ("Keine Verbindung moeglich");
                  mysql_select_db("$Database") or die ("Die Datenbank existiert nicht");

                  $abfrage "SELECT * FROM spieler WHERE id =".$_GET["id"];
                  $ergebnis mysql_query($abfrage);

                  while (
                  $row mysql_fetch_object($ergebnis))
                        {
                              
                  $id $row->id;
                              
                  $vorname $row->vorname;
                              
                  $nachname =$row->nachname;
                              
                  $rnr $row->rnr;
                              
                  $position $row->position;
                        }
                  echo 
                  "

                        Name: 
                  $vorname<br>
                        Nachname: 
                  $nachname<br>
                        Rücken-Nr: 
                  $rnr<br>
                        Position: 
                  $position<p>";

                  ?>
                  Wo hab ich denn da einen Fehler gemacht?

                  Zur Sicherheit noch mal das Script der vorherigen Seite:

                  PHP-Code:

                  <?php

                  $DatabaseHost 
                  "localhost";
                  $DatabaseUser "root";
                  $DatabasePassword "";
                  $Database "danny";

                  mysql_connect("$DatabaseHost""$DatabaseUser","$DatabasePassword") or die ("Keine Verbindung moeglich");
                  mysql_select_db("$Database") or die ("Die Datenbank existiert nicht");

                  $abfrage "SELECT id, vorname, nachname, rnr FROM spieler";
                  $ergebnis mysql_query($abfrage);

                  while (
                  $row mysql_fetch_object($ergebnis))
                        {
                              
                  $id =$row->id;
                              
                  $vorname $row->vorname;
                              
                  $nachname $row->nachname;
                              
                  $rnr $row->rnr;
                        echo 
                  "($rnr)&nbsp;&nbsp;";
                        echo 
                  "<a href='spielerdetails.php?id="$id ."' target='_self'>$vorname $nachname</a><br>";
                        }

                  mysql_close();

                  ?>
                  Und bitte schimpft mich nicht gleich Dummkopf!!!
                  MfG Darson

                  Kommentar


                  • #10
                    Grundlagen: Strings richtig trennen!

                    Kommentar


                    • #11
                      Du musst auch etwas in $_GET['id'] übergeben. Rufst du das Skript "einfach so" auf, wird der Wert nicht gesetzt. In der Stringverkettung wird dies zu einem leeren String. Damit wird aus deinem Statement:
                      Code:
                      SELECT * FROM spieler WHERE id =
                      und da fehlt MySQL ein Wert nach dem Gleichheitszeichen.
                      Gibt mal die Query vor dem Senden an den Server aus!

                      Kommentar


                      • #12
                        Häää, ich habe es doch in der Zeile 11 geau so geschrieben, wie es Mercury1987 gemacht hat! Und weil ein String nicht richtig getrennt wird, gibt er mir diese Fehlermeldung? Hast Du noch nen kleinen Tipp?? Bitte Bitte
                        MfG Darson

                        Kommentar


                        • #13
                          Wie sieht dein aktueller code aus??

                          Kommentar


                          • #14
                            Ich hoffe, du rufst dein Skript auch mit
                            Code:
                            spielerdetails.php?id=123
                            auf!

                            Kommentar


                            • #15
                              Original geschrieben von PHP-Desaster
                              Ich hoffe, du rufst dein Skript auch mit
                              Code:
                              spielerdetails.php?id=123
                              auf!
                              nicht ganz, so sieht es bei mir aus! :

                              PHP-Code:
                              echo "<a href='spielerdetails.php?id=" $id "' target='_self'>"$vorname " " $nachname "</a><br>"
                              wobei $id aus einer Datenbanktabelle kommt! die URL zeigt dann auch die richtige ID an!!!

                              http://localhost/test/spielerdetails.php?ida=1


                              Zuletzt geändert von Darson; 30.10.2007, 21:23.
                              MfG Darson

                              Kommentar

                              Lädt...
                              X