2016-04-30 17 views
0

Ich muss derzeit eine Tabelle erstellen, die automatisch füllt, abhängig davon, wie viele Entitäten in der Datenbank vorhanden sind.Geschachteltes Formular mit ausgewählten Daten

Ich habe derzeit eine einfache Select-Anweisung;

Ich habe versucht, ein Formular zu verwenden, aber das speichert nur ein Stück Daten.

+0

Ich brauche nur die Ergebnisse der zweiten Anweisung Schleife – ScaperExe

+0

haben Sie versucht, eine 'while' Schleife? – RST

+0

'Ich habe versucht mit einem Formular', wie Sie es versucht haben? –

Antwort

1

Aus Ihrem SQL-Code, versehe ich, dass ArticleId der Primärschlüssel der Artikeltabelle ist und dass ArtId in der Kommentartabelle ein Fremdschlüssel ist.

Also Ihre erste Abfrage sollte nur auf Ergebnis daher die Fetch-Methode zurückgeben. Die zweite Abfrage kann andererseits viele Zeilen zurückgeben, aber die Fetch-Methode gibt nur die erste zurück. Um ein Array von Ergebnissen zu erhalten, sollten Sie die Methode fetchAll verwenden und eine Schleife über das resultierende Array ziehen, um alle Kommentare anzuzeigen.

Hier ist ein Code mit den beiden Resultsets, um die Struktur zu sehen. Ich gab Ihnen auch ein einfaches Beispiel, wie Sie das zweite Ergebnis durchlaufen könnten.

$articleID = $_GET['id']; 
$stmt = $pdo->query('SELECT * FROM article WHERE articleID = "' . $articleID . '"'); 
$result = $stmt->fetch(PDO::FETCH_ASSOC); 

$stmt2 = $pdo->query('SELECT * FROM comments WHERE artID = "' . $articleID . '"'); 
$result2 = $stmt2->fetchAll(PDO::FETCH_ASSOC); 

var_dump($result); 
var_dump($result2); 

foreach($result2 as $comment){ 
    echo '<p>'.$comment['text'].'<p>'; 
} 
Verwandte Themen