MySQL result in tabel met PHP

Pagina: 1
Acties:

  • evaarties
  • Registratie: April 2001
  • Laatst online: 09-09 13:46

evaarties

Powerball @ 12.582

Topicstarter
Ik heb het volgende resultaat uit een MySQL db gehaald:

Piet 9
Klaas 9
Henk 10
Karel 10
Ernst 10
GoT 11

Nu wil ik deze als volgt in een tabel zetten:
code:
1
2
3
4
5
Naam   Nr | Naam   Nr | Naam   Nr
----------+-----------+----------
Piet   9  | Henk   10 | GoT    11
Klaas  9  | Karel  10 |
        | Ernst  10 |

Maar dit krijg ik niet voor elkaar, omdat ik als ik de rijen fetch uit het resultaat, ik ze 1 voor 1 eruit moet halen (normaal). En dan kan ik ze gesorteerd onder elkaar zetten, of eerst alle rijen 9, dan 10 en 11. Maar niet gewoon zoals ik het wil.

Is dit mogelijk in een tabel?

edit:

typo

Verwijderd

Het is me niet helemaal duidelijk wat je nu wilt. :?
Je kunt je query toch sorteren op dat nummer met GROUP BY of ORDER BY

  • evaarties
  • Registratie: April 2001
  • Laatst online: 09-09 13:46

evaarties

Powerball @ 12.582

Topicstarter
Op maandag 15 oktober 2001 11:21 schreef daniel_hoenderdos het volgende:
Het is me niet helemaal duidelijk wat je nu wilt. :?
Je kunt je query toch sorteren op dat nummer met GROUP BY of ORDER BY
Het resultaat is gewoon netjes gesorteerd in het resultaat. Maar als je dit fetcht. krijg je alle gegevens onder elkaar in een tabel.

Dus 1e wordt alles getoond van nummer 9. Dan komen de rijen met 10 en als laatste met nummer 11. Nu wil ik niet de nummers onder elkaar hebben.

Vb

9
10
11

Maar als volgt (in kolommen naast elkaar)

9 | 10 | 11

  • HenkS
  • Registratie: Mei 2000
  • Laatst online: 06:45

HenkS

Da_king alias HenkS

dan moet je een lus in een lus maken, anders kun je zoiets niet doen volgens mij

  • evaarties
  • Registratie: April 2001
  • Laatst online: 09-09 13:46

evaarties

Powerball @ 12.582

Topicstarter
Op maandag 15 oktober 2001 11:24 schreef HenkS het volgende:
dan moet je een lus in een lus maken, anders kun je zoiets niet doen volgens mij
Ga ik daar ff goed mee puzzelen....

  • irondog
  • Registratie: Januari 2001
  • Laatst online: 11-05-2025

irondog

alle dingen moeten onzin zijn

Dit script maakt een tabel aan met breedte 2 en hoogte=totaal aantal resultaten gedeeld door 2.

De variabele $state bepaalt of er een nieuwe rij aangemaakt moet worden of alleen een nieuw vakje in een rij.

$keuze = mysql_query("select * from occasions where occasions.type='$type' and occasions.merk='$merk' and occasions.prijs='$prijs' and occasions.bouwj='$bouwj'");
$keuze1 = mysql_fetch_row($keuze);

$foo='8';
$state='0';
while ($foo!='38')
{
if ($keuze1[$foo]==1)
{
if ($state==0)
{echo "<tr><td>$fuck[$foo]</td>";

$state='1';
}
else
{
echo "<td>$fuck[$foo]</td></tr>";

$state='0';
}
}
else
printf("");
$foo++;
}

if ($keuze1[38]==1)
{
if ($state==0)
{echo "<tr><td>$fuck[$foo]: $keuze1[5]</td>";
$foo++;
$state='1';
}
else
{
echo "<td>$fuck[$foo]: $keuze1[5]</td></tr>";
$foo++;
$state='0';
}
}
else
printf("");

[P5B deluxe] [Core2Duo 6300] [2 X 1GB DDR2] [GF FX7300] [320 GB WD] [Gentoo] [VISTA]


Verwijderd

AARG!
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?
$keuze = mysql_query("select * from occasions where occasions.type='$type' and occasions.merk='$merk' and occasions.prijs='$prijs' and occasions.bouwj='$bouwj'");
$keuze1 = mysql_fetch_row($keuze);

$foo='8';
$state='0';
while ($foo!='38')
{
if ($keuze1[$foo]==1)
{
if ($state==0)
{echo "<tr><td>$fuck[$foo]</td>";

$state='1';
}
else 
{
echo "<td>$fuck[$foo]</td></tr>";

$state='0';
}
}
else
printf("");
$foo++;
}

if ($keuze1[38]==1)
{
if ($state==0)
{echo "<tr><td>$fuck[$foo]: $keuze1[5]</td>";
$foo++;
$state='1';
}
else 
{
echo "<td>$fuck[$foo]: $keuze1[5]</td></tr>";
$foo++;
$state='0';
}
}
else
printf("");
?>

  • HenkS
  • Registratie: Mei 2000
  • Laatst online: 06:45

HenkS

Da_king alias HenkS

wat ook kan

je doet 1 grote tabel om alles heen die begi nje dus buiten de loop

dan doe je in de loop het volgende:

je begint de tabel (dus in de loop, een nieuwe tabel)

je zet de waarde uit de tabel in een var
dan doe je bij iedere loop regel
< /td> < /tr>

totdat de waarde uit de tabel niet meer gelijk is aan de waarde uit de recordset en dan sluit je de tabel af en dan begin je dus een nieuwe tabel

als je dit alles dus goed doet krijg je het volgende

<table>
<tr><td>
<table>
<tr><td>
9
</td></tr>
<tr><td>
</td></tr>
</table>
</td><td> // buitenste tabel
<table>
<tr><td>
10
</td></tr>
</table>
</td></tr>
</table>

  • evaarties
  • Registratie: April 2001
  • Laatst online: 09-09 13:46

evaarties

Powerball @ 12.582

Topicstarter
Daar heb ik wat aan !! Bedankt

  • evaarties
  • Registratie: April 2001
  • Laatst online: 09-09 13:46

evaarties

Powerball @ 12.582

Topicstarter
Heb zelf een iets andere oplossing gevonden.. misschien handig voor andere:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?
   include "../../include/connect.php";
   mysql_select_db ('medewerkers');
   $vorigemaand=date("m")-1;
   $huidigemaand=date("m");
   $volgendemaand=date("m")+1;
   $huidigedag=date("j");
   $vorigresult=mysql_query ("select voornaam, tussenvoegsel, achternaam, gebdag, gebmaand from PERSONEN where gebmaand='$vorigemaand' order by gebdag ASC, voornaam ASC");
   $huidigresult=mysql_query ("select voornaam, tussenvoegsel, achternaam, gebdag, gebmaand from PERSONEN where gebmaand='$huidigemaand' order by gebdag ASC, voornaam ASC");
   $volgendresult=mysql_query ("select voornaam, tussenvoegsel, achternaam, gebdag, gebmaand from PERSONEN where gebmaand='$volgendemaand' order by gebdag ASC, voornaam ASC");

   $aantal=mysql_num_rows($vorigresult);
   if (mysql_num_rows($huidigresult) > $aantal) {
      $aantal=mysql_num_rows($huidigresult);
   }
   if (mysql_num_rows($volgendresult) > $aantal) {
      $aantal=mysql_num_rows($volgendresult);
   }

   print "<table>\n";
   print "<tr>\n";
   print "<th width='30%'>Naam\n";
   print "<th>Dag\n";
   print "<th width='30%'>Naam\n";
   print "<th>Dag\n";
   print "<th width='30%'>Naam\n";
   print "<th>Dag\n";
   print "</tr>\n";
   print "<tr>\n";
   print "<th colspan='2'><i>$vorigemaand</i>\n";
   print "<th colspan='2'><i>$huidigemaand</i>\n";
   print "<th colspan='2'><i>$volgendemaand</i>\n";
   print "</tr>\n";

   for ($i=1;$i<=$aantal;$i++) {
      print "<tr>\n";
      $rowvorig=mysql_fetch_object($vorigresult);
      print "<td>$rowvorig->voornaam $rowvorig->tussenvoegsel $rowvorig->achternaam\n";
      print "<td>$rowvorig->gebdag\n";
      $rowhuidig=mysql_fetch_object($huidigresult);
      print "<td>$rowhuidig->voornaam $rowhuidig->tussenvoegsel $rowhuidig->achternaam\n";
      print "<td>$rowhuidig->gebdag\n";
      $rowvolgend=mysql_fetch_object($vorigresult);
      print "<td>$rowvolgend->voornaam $rowvolgend->tussenvoegsel $rowvolgend->achternaam\n";
      print "<td>$rowvolgend->gebdag\n";
      print "</tr>\n";
   }

   print "</table>\n";   
?>
Pagina: 1