24. juli 2006 - 10:47
Der er
15 kommentarer og 1 løsning
Tabel og udskrivning driller
Hejsa Jeg er ved at lave 1 tabel med nyeste drinks og nyeste drukspil, men er løbet ind i problemer. Hvis i ser på min kode i bunden af spørgsmålet, kan i se at jeg godt kan udskrive drinks, som står først, men koden bliver lige nu: <tr> <td width="14%" valign="top">2</td> <td width="25%" valign="top"><a href="drinks.php?show=4">Tequila Sunrise</a></td> <td width="10%" valign="top">Kommer</td> <tr> <td width="14%" valign="top">3</td> <td width="25%" valign="top"><a href="drinks.php?show=3">Velkomstdrink/bowle</a></td> <td width="10%" valign="top">Kommer</td> ... 10 gange også kommer </tr> Hvordan skal jeg få det til at se således ud, altså den skal udskrive fra 2 tabeller i databasen for hver gang der kommer en <tr> og </tr>: <tr> <td width="14%" valign="top" class="left">DrinkNr.</td> <td width="25%" valign="top" class="left">DrinkNavn</td> <td width="10%" valign="top" class="left">DrinkEkstra</td> <td width="2%"> </td> <td width="14%" valign="top" class="left">DrukspilNr.</td> <td width="25%" valign="top" class="left">DrukspilNavn</td> <td width="10%" valign="top" class="left">DrukspilEkstra</td> </tr> Min kode lige nu: $query = mysql_query("SELECT * FROM partysite_drinks ORDER BY id DESC LIMIT 10") or die(mysql_error()); $i = 1; while ($row = mysql_fetch_assoc($query)) { $i++; echo '<tr>'; echo '<td width="14%" valign="top">'.$i.'</td>'; echo '<td width="25%" valign="top"><a href="drinks.php?show='.$row['id'].'">'.$row['name'].'</a></td>'; echo '<td width="10%" valign="top">Kommer</td>'; } echo '<td width="2%"> </td>'; echo '<td width="14%" valign="top">5</td>'; echo '<td width="25%" valign="top">6</td>'; echo '<td width="10%" valign="top">7</td>'; echo '</tr></table>'; Hvis I ikke forstår mig så undskyld, vil gerne prøve at skrive det forfra.
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
Du har: echo '<tr>'; Så skal du vel også have: echo '</tr>'; inde i while(...) Men forstår dog ikke helt: Hvordan skal jeg få det til at se således ud, altså den skal udskrive fra 2 tabeller i databasen for hver gang der kommer en <tr> og </tr>:
Ja det er jo problemet. Hvis jeg gør som neden stående vil det hele jo fucke: $query = mysql_query("SELECT * FROM partysite_drinks ORDER BY id DESC LIMIT 10") or die(mysql_error()); $i = 1; while ($row = mysql_fetch_assoc($query)) { $i++; echo '<tr>'; echo '<td width="14%" valign="top">'.$i.'</td>'; echo '<td width="25%" valign="top"><a href="drinks.php?show='.$row['id'].'">'.$row['name'].'</a></td>'; echo '<td width="10%" valign="top">Kommer</td>'; } $query = mysql_query("SELECT * FROM partysite_games ORDER BY id DESC LIMIT 10") or die(mysql_error()); $i = 1; while ($row = mysql_fetch_assoc($query)) { $i++; echo '<td width="2%"> </td>'; echo '<td width="14%" valign="top">'.$i.'</td>'; echo '<td width="25%" valign="top"><a href="games.php?show='.$row['id'].'">'.$row['name'].'</a></td>'; echo '<td width="10%" valign="top">Kommer</td>'; echo '</tr>'; } echo '</table>'; Men jeg kan jo også gøre som nendenstående, men så vil den altid udskrive den samme drukspil: $query = mysql_query("SELECT * FROM partysite_drinks ORDER BY id DESC LIMIT 10") or die(mysql_error()); $i = 0; while ($row = mysql_fetch_assoc($query)) { $i++; echo '<tr>'; echo '<td width="14%" valign="top">'.$i.'</td>'; echo '<td width="25%" valign="top"><a href="?page=drinks.php&show='.$row['id'].'">'.$row['name'].'</a></td>'; echo '<td width="10%" valign="top">Kommer</td>'; $query2 = mysql_query("SELECT * FROM partysite_games ORDER BY id DESC LIMIT 1") or die(mysql_error()); $row2 = mysql_fetch_assoc($query2); echo '<td width="2%"> </td>'; echo '<td width="14%" valign="top">'.$i.'</td>'; echo '<td width="25%" valign="top"><a href="?page=games.php&show='.$row2['id'].'">'.$row2['name'].'</a></td>'; echo '<td width="10%" valign="top">Kommer</td>'; echo '</tr>'; } echo '</table>';
Jeg tror ikke helt jeg forstår hvad du har i dine tabeller og hvad du rent faktisk ønsker. Kan du prøve at lave en side i ren html, hvor du evt. kort viser hvad du ønsker? Og så også kort beskrive hvad du har gemt i dine tabeller?
echo '<tr>'; // Starter række echo '<td width="14%" valign="top">'.$i.'</td>'; //Til drinksudskrivningen echo '<td width="25%" valign="top"><a href="?page=drinks.php&show='.$row['id'].'">'.$row['name'].'</a></td>'; //Til drinksudskrivningen echo '<td width="10%" valign="top">Kommer</td>'; //Til drinksudskrivningen echo '<td width="2%"> </td>'; //Skille linje echo '<td width="14%" valign="top">'.$i.'</td>'; //Til spiludskrivningen echo '<td width="25%" valign="top"><a href="?page=games.php&show='.$row2['id'].'">'.$row2['name'].'</a></td>'; //Til spiludskrivningen echo '<td width="10%" valign="top">Kommer</td>'; //Til spiludskrivningen echo '</tr>'; //Afslutter række Men hvordan får jeg 2 query og 2 while flettet ind i dette, så den udskriver rigtigt. Hvis jeg bare satte dem om de 3 celler hver ting har vil den først udskrive 10x3 celler til drinks og nedenunder 10x3 felter til spil. Så vil de se sådan her ud: echo '<tr>'; // Starter række echo '<td width="14%" valign="top"></td>'; //Til drinksudskrivningen echo '<td width="25%" valign="top"></td>'; //Til drinksudskrivningen echo '<td width="10%" valign="top"></td>'; //Til drinksudskrivningen echo '<td width="2%"> </td>'; //Skille linje echo '<tr>'; // Starter række echo '<td width="14%" valign="top"></td>'; //Til drinksudskrivningen echo '<td width="25%" valign="top"></td>'; //Til drinksudskrivningen echo '<td width="10%" valign="top"></td>'; //Til drinksudskrivningen echo '<td width="2%"> </td>'; //Skille linje echo '<tr>'; // Starter række echo '<td width="14%" valign="top"></td>'; //Til drinksudskrivningen echo '<td width="25%" valign="top"></td>'; //Til drinksudskrivningen echo '<td width="10%" valign="top"></td>'; //Til drinksudskrivningen echo '<td width="2%"> </td>'; //Skille linje 10 gange. Og derefter: echo '<td width="14%" valign="top"></td>'; //Til spiludskrivningen echo '<td width="25%" valign="top"></td>'; //Til spiludskrivningen echo '<td width="10%" valign="top"></td>'; //Til spiludskrivningen echo '</tr>'; //Afslutter række echo '<td width="14%" valign="top"></td>'; //Til spiludskrivningen echo '<td width="25%" valign="top"></td>'; //Til spiludskrivningen echo '<td width="10%" valign="top"></td>'; //Til spiludskrivningen echo '</tr>'; //Afslutter række 10 gange. Det skal jo være først den ene og så den anden: echo '<tr>'; // Starter række echo '<td width="14%" valign="top"></td>'; //Til drinksudskrivningen echo '<td width="25%" valign="top"></td>'; //Til drinksudskrivningen echo '<td width="10%" valign="top"></td>'; //Til drinksudskrivningen echo '<td width="2%"> </td>'; //Skille linje echo '<td width="14%" valign="top"></td>'; //Til spiludskrivningen echo '<td width="25%" valign="top"></td>'; //Til spiludskrivningen echo '<td width="10%" valign="top"></td>'; //Til spiludskrivningen echo '</tr>'; //Afslutter række
Har du noget som "forbinder" de 2 tabeller? For man kan jo godt lave et udtræk, som henter data fra 2 tabeller samtidig.
Hvad mener du med forbinder?
Et ID. F.eks. bruger man jo oftest tabeller til at gemme flere info og kunne sammenkæde dem.
Det jeg skal hente ud er id og navn på 10 nyeste drinks og id og navn på 10 nyeste drukspil. De 2 tabeller hedder partysite_drinks og partysite_games
Du kunne jo lave 2 udtræk og gemme udtræk i et array, og så løbe det igennem og lave din tabel.
24. juli 2006 - 13:12
#10
Ja okay :) Men array har jeg faktisk aldrig arbejdet med, kun ganske lidt, så ved ikke hvordan jeg skulle kunne bruge det.
24. juli 2006 - 13:30
#11
Kunne du evt hjælpe med dette?
24. juli 2006 - 13:50
#12
Eller hvordan henter jeg ud fra 2 tabeller?
24. juli 2006 - 18:18
#13
Fang mig lige på msn: jakobdo \at/ hotmail \dot/ com
25. juli 2006 - 21:47
#14
Så virkede det du fik lavet: $query1 = mysql_query("SELECT * FROM partysite_drinks ORDER BY id DESC LIMIT 10") or die(mysql_error()); $query2 = mysql_query("SELECT * FROM partysite_games ORDER BY id DESC LIMIT 10") or die(mysql_error()); $i = 0; while(($row1 = mysql_fetch_assoc($query1)) && ($row2 = mysql_fetch_assoc($query2))) { $i++; echo '<tr>'; echo '<td width="14%" valign="top">'.$i.'</td>'; echo '<td width="25%" valign="top"><a href="?page=drinks.php&show='.$row1['id'].'">'.$row1['name'].'</a></td>'; echo '<td width="10%" valign="top">Kommer</td>'; echo '<td width="2%"> </td>'; echo '<td width="14%" valign="top">'.$i.'</td>'; echo '<td width="25%" valign="top"><a href="?page=games.php&show='.$row2['id'].'">'.$row2['name'].'</a></td>'; echo '<td width="10%" valign="top">Kommer</td>'; echo '</tr>'; }
25. juli 2006 - 21:51
#15
Svar!
25. juli 2006 - 22:01
#16
Takker for point.
Vi tilbyder markedets bedste kurser inden for webudvikling