Ankündigung

Einklappen
Keine Ankündigung bisher.

Struktur-Problem bei der Seitengestaltung

Einklappen

Neue Werbung 2019

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

  • Struktur-Problem bei der Seitengestaltung

    Ich bin dabei, eine Seite mit technischen Inhalten aufzubauen und fange gerade erst mit PHP an.

    Mein Problem ist nun folgendes: Ich habe eine Liste mit verschiedenen Fahrzeugen. In der Liste sind einige Rahmendaten zu den Fahrzeugen enthalten. Nun möche ich, dass man über einen Link weitere, ausführliche Infos zu dem Fahrzeug bekommen kann, also quasi ein vollständiges Datenblatt, das aus der Datenbank generiert wird.

    Wie gestalte ich den Link, damit auch die Daten zum richtigen Fahrzeug aus der Datenbank gezogen werden. Ich möchte hier keinen vollständigen Code-Vorschlag haben. Mich interessiert "nur", wie ich die Abfrage / Verlinkung strukturiere, und welche PHP-Funktionen dafür eingesetzt werden. Ich weiß nämlich im Moment überhaupt nicht, wo ich ansetzen soll.


  • #2
    Üblicherweise werden Datensätze in Datenbanken mit einem eindeutigen Schlüssel versehen, einer ID (heißt ja ausgeschrieben auch Identifikation). Diese Spalte wird in MySQL als PrimaryKey und meist auch auto_increment definiert. Der Schlüssel/ID ist damit eindeutig.

    Dadurch kannst du also einem Script datenblatt.php diese id per Link übergeben, und diese holt sich damit die kompletten Infos aus der Datenbank. Beispiel:

    Code:
    // Datenbank: Tabellenstruktur
    id | fahrzeug | rahmendaten | weitereInfo1 | weitereInfo2 | ...
    Deine Übersichtsseite liest nun aus der Datenbank grobe Infos über das Fahrzeug, z.B.
    Code:
    SELECT id, fahrzeug, rahmendaten FROM fahrzeuge
    Das es eine Blätterfunktion bei vielen Autos geben sollte lassen wir mal der Einfachheit halber weg.

    An die Daten aus der DB kommst du mit
    mysql_query()
    mysql_fetch_assoc()
    und schreibst diese in einen Array [1]

    Dann gehst du diesen Array mit einer for-Schleife [2] durch und verlinkst z.B. mit
    Code:
    $sql = "SELECT id, fahrzeug, rahmendaten FROM fahrzeuge";
    $res = mysql_query($sql);
    $fahrzeugliste = array();
    while ($cur = mysql_fetch_assoc($res)) {
      $fahrzeugliste[] = $cur;
    }
    for ($i = 0; $i < count($fahrzeugliste); $i++) {
      printf'' . $fahrzeugliste[$i]['fahrzeug'] . '';
    }
    durch und verlinkst somit auf die Datei datenblatt.php, welcher die eindeutige per GET übergeben wird.

    die Datenblatt.php könnte dann so aussehen:
    Code:
    $success = false;
    if (isset($_GET['id']) {
      $sql = "SELECT * FROM fahrzeuge WHERE id = " . $_GET['id'] . " LIMIT 1";
      $res = mysql_query($sql);
      if (mysql_num_rows($res) == 1) {
        $success = true;
        print_r(mysql_fetch_assoc($res));
      }
    }
    if (!$success) {
      print 'ID ist nicht gültig';
    }
    Das ganze ist jetzt natürlich sehr vereinfacht.

    Hoffe geholfen zu haben, Gruß, c

    [1] http://de3.php.net/array
    [2] http://de3.php.net/for
    MySQL: http://de3.php.net/mysql

    Kommentar


    • #3
      [offtopic]
      @Zerling
      nette ausführliche beschreibung...

      ps.: Du scheinst viel freizeit zu haben...^^
      [/offtopic]
      Gruß JEGO

      Ein PHP Script tut, was Du schreibst, nicht was Du willst.

      Kommentar


      • #4
        Eigentlich bin ich grad beim Praxissemester

        Kommentar


        • #5
          he he, und dir ist da wohl sehr langweilig... :wink:
          Gruß JEGO

          Ein PHP Script tut, was Du schreibst, nicht was Du willst.

          Kommentar


          • #6
            Danke für die schnelle Antwort, denke, damit komm ich erstmal weiter. Ich hoffe, ich schüttel das später auch mal nebenbei innerhalb von 10 Minuten aus dem Ärmel

            Kommentar


            • #7
              Keine Sorge, wirst du wenn dus ein paar mal eingesetzt hast

              Kommentar

              Lädt...
              X