PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [PHP] MYSQL mehrere Datensätze in einer Zelle bei der Ausgabe



nischtak
12.01.2006, 13:57
ich hab die datensätze in eine tabelle
es geht um bücher
es gibt die haben mehrere Autoren .... und ich will die authoren in einer Zelle haben und nicht in 2,3 oder mehr

hier meine syntax


<table border="1">
<tr><td>TITEL</TD><td>JAHR</td><TD>EDITION<TD>AUTHOR(EN)<td></td></tr>


<?php

$verbindung = mysql_connect ("192.168.178.1","root","tpw")
or die ("keine Verbindung möglich Benutzername oder Passwort sind falsch");

mysql_select_db("mis")
or die ("Die Datenbank existiert nicht.");

$abfrage = "SELECT books_ge.title,
books_ge.year,
books_ge.edition,
books_ge.book_id


FROM books_ge";


$ergebnis = mysql_query($abfrage)
or die ("Ungueltiges SQL".mysql_error());
while ($row = mysql_fetch_row($ergebnis))
{
echo "<tr><TD>$row[0]</TD><TD>$row[1]</TD><TD>$row[2]</td>";

//suche jetzt alle autoren für <book_id>

$abfrage2 = "SELECT authors_ge.author

FROM authors_ge,
rel_book_author_ge

WHERE rel_book_author_ge.book_id=".$row[3]." and
authors_ge.author_id=rel_book_author_ge.author_id";


$ergebnis1 = mysql_query($abfrage2)
or die ("Ungueltiges SQL".mysql_error());
while ($row1= mysql_fetch_row($ergebnis1))

echo "<td>$row1[0]</td>";
}

es würd bestimmt irgendwie gehen nur die tabelle zu formatieren

Phux
12.01.2006, 15:10
Ich bin nicht sicher, ob ich Dein Problem verstanden habe, aber probier mal:




echo "<td>";

while ($row1= mysql_fetch_row($ergebnis1))

echo "$row1[0]";
}

echo "</td></tr>";



-> Beachte, dass Du das tr nicht geschlossen hast.
Weiter solltest Du NIE für Webzugriff den Root benutzen.

nischtak
13.01.2006, 07:45
root hab ich nur hingeschrieben...
aber danke dir ;)

nischtak
13.01.2006, 08:15
genau so hab ich das gemeint vielen dank... funktioniert DANKE