[PHP] Zwei Tabellen Auslesen...

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von mac17, 09.09.2006.

  1. mac17

    mac17 Thread Starter MacUser Mitglied

    Beiträge:
    151
    Zustimmungen:
    0
    MacUser seit:
    05.03.2004
    Ich habe zwei Tabellen>

    1 Tabelle - Navigation
    Kategorie - Name
    1 - News
    2 - Sport
    3 - Schule
    4 - Reisen

    2 Tabelle - Kategorien
    ID - Name - Link - Kategorie
    1 - Aktuelles 2006- news.php - 1
    2 - Skifahren - skifahren.php - 2
    3 - Tennis - tennis.php - 2
    4 - Schwimmen - schwimmen.php - 2
    5 - mein Klasse - mklasse.php - 3
    6 - Europa - europa.php - 4
    7 - Amerika - amerikas.php - 4
    8 - Australien - australien.php - 4

    So SOLLTE es ausschauen:
    News
    Aktuelles 2006

    Sport
    Skifahren
    Tennis
    Schwimmen

    Schule
    Meine Klasse

    Reisen
    Europa
    Amerika
    Australien

    Mein Problem ich schaffe es nicht nur die Kategorie abzufragen. Verbunden
    sind sie, jedoch bin ich noch total am anfang von php.

    Das bisherige Script:
    PHP:
    <?php
    include("dbconnect.php");
    $sql "SELECT * FROM `Kategorien`";
    $ergebnis mysql_query($sql);

    while(
    $row mysql_fetch_object($ergebnis)) {
        echo 
    $row->Name"<br>";
    }
    ?>
    Kann mir diesbezüglich jemand weiterhelfen bitte.
     
  2. 2nd

    2nd MacUser Mitglied

    Beiträge:
    8.902
    Zustimmungen:
    242
    MacUser seit:
    25.07.2004
    z. B. mit

    PHP:
    $sql "SELECT * FROM Kategorien WHERE kategorie = '2'";
    holst Du alle Einträge des Themas "Sport" aus der DB.

    Es erscheint mir nicht sinnvoll, für jedes Ausgabemodul eine einzelne PHP-Datei zu erstellen, da wirst Du ja kirre. Du liest den Namen aus und gibts diese Variablen einfach als Liste aus, fertig:

    PHP:
    <? 
        
    $counter 0;
        
    $selectQuery "SELECT * FROM Kategorien WHERE kategorie = '2'";
        
    $queryID mysql_query($selectQuery);
        while (
    $content mysql_fetch_assoc($queryID)) {
          
    $name[$counter] = $content["name"];
          
    $counter++;
       }
    ?>

    <ul>
    <? 
       for ($i=0; $i <= count($name); $i++) {
            echo "<li>" . $name[$i]. "</li>";
       }
    ?>
    </ul>

    Du kannst natürlich auch die Ausgabe direkt in der While-Schleife vornehmen. Ich speichere hier die Werte erstmal in einem Array, ich hoffe, das ist übersichtlicher. Damit solltest Du erstmal weiterkommen. Um die jeweilige Überschrift aus der Tabelle Navigation zu holen würde ich einen extra Query vor den Kategorien-Query machen und das Ergebnis des Feldes Kategorie in den 2. Query einsetzen (dort wo ich 2 stehen habe).

    Man kann die beiden Tabellen sicherlich auch über einen JOIN verknüpfen und nur einen Query machen, aber den bekomme ich auf die Schnelle nicht hin. Ausserdem könnte man Deine Tabellen noch weiter normalisieren und eine 3. Tabelle dazunehmen, die nur für die Verknüpfung zwischen den beiden vorhanden da ist...


    Hier steht noch was dazu:

    http://www.macuser.de/forum/showthread.php?t=196315

    Und hier:

    http://www.macuser.de/forum/showthread.php?t=199808


    2nd
     
    Zuletzt bearbeitet: 09.09.2006
Die Seite wird geladen...

Diese Seite empfehlen