Avatar billede tif12345 Nybegynder
26. september 2005 - 19:14 Der er 8 kommentarer og
1 løsning

Udtræk fra db og listing af data i 2 kolonner pr række?

Jeg har en række hvor jeg gerne vil have trukket data ud gældende for noget specifikt, i dette tilfælde $platform og de seneste 5 $titel id's til den tilsvarende platform.

I min query har jeg valgt at der skal hentes data til platform PC, PS2, Xbox og Gamecube, dvs 4 listings.

Jeg vil gerne have at der blive listet 2 $platform på en række, dvs der skal være 2 kolonner på en række, efterfulgt af en ny række med de resterende $platform

Men hvordan gøres det?

Query kunne se sådan her ud (umiddelbart), og selve html opbygning med kolonnen ses forneden..

Har ikke den store erfaring med at kode, så alt den hjælp jeg kan få vil der sættes pris på..

SELECT * FROM tabel where platform='PC' OR platform='PS2' OR platform='Xbox' OR platform='Gamecube' ORDER BY id DESC limit 0,5

<tr>
 
<td> / kolonne start
    <table width='280' border='0' cellspacing='0' cellpadding='0'>
          <tr>
            <td id='head_ps2'>&gt;&gt; $platform spil</td>
          </tr>
          <tr>
            <td id='link'>&gt; <a href='www.' class='link'>$titel</a></td>
          </tr>
          <tr>
            <td id='link'>&gt; <a href='www.' class='link'>$titel</a></td>
          </tr>
          <tr>
            <td id='link'>&gt; <a href='www.' class='link'>$titel</a></td>
          </tr>
          <tr>
            <td id='link'>&gt; <a href='www.' class='link'>$titel</a></td>
          </tr>
          <tr>
            <td id='link'>&gt; <a href='www.' class='link'>$titel</a></td>
          </tr>
        </table>
    </td> // kolonne slut

</tr>
Avatar billede jaw Nybegynder
26. september 2005 - 19:48 #1
Sådan her tror jeg:

$i = 1;
echo "<table><tr>";
while($row = mysql_fetch_assoc($query)) {
  echo "<td>".$row['platform']."</td>";
  if(($i%2) == 0) {
    echo "</tr><tr>";
  }
  $i++;
}
Avatar billede jaw Nybegynder
26. september 2005 - 19:48 #2
Og pointen er så:
if( ($i%2) == 0) {
Avatar billede tif12345 Nybegynder
26. september 2005 - 20:20 #3
Det virker i princippet faktiskt rigtigt .. altså det med at der bliver lavet 2 kolonner også en ny række osv ...

men lige nu trækkes den samme platform ud flere gange med et udtræk - det seneste id for platformen. vil gerne have at de forskellige platforms kun skrives 1 gang og de seneste 5 tilhørende id's til hver platform skrives under.
Tror måske det har noget med min query at gøre? Den ser således ud:

$query = mysql_query("SELECT * FROM tabel where platform='pc' OR platform='ps2' OR platform='xbox' OR platform='gc' ORDER BY id DESC limit 0,5") or die(mysql_error());
Avatar billede jaw Nybegynder
26. september 2005 - 20:22 #4
Prøv så at tilføje
GROUP BY platform
Avatar billede tif12345 Nybegynder
26. september 2005 - 20:48 #5
uhm er ik helt sikker hvordan jeg tilføjer det til min query ?

Pørvede med noget, men det funkede ikke lige
Avatar billede jaw Nybegynder
26. september 2005 - 20:54 #6
SELECT * FROM tabel where platform='PC' OR platform='PS2' OR platform='Xbox' OR platform='Gamecube' GROUP BY platform ORDER BY id DESC limit 0,5
Avatar billede tif12345 Nybegynder
26. september 2005 - 22:41 #7
Har fået det vil at virke .. MAnge tak, smid et svar ..
Avatar billede jaw Nybegynder
26. september 2005 - 22:44 #8
Gør jeg gerne - selv tak :)
Avatar billede jaw Nybegynder
01. oktober 2005 - 18:16 #9
Accepterer du så også lige?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester