Tabel opmaak met een MySQL QUERY

Pagina: 1
Acties:
  • 112 views sinds 30-01-2008
  • Reageer

  • Ehv_BramBo
  • Registratie: November 2000
  • Laatst online: 13-04 22:30
Wanneer ik gegevens uit een tabel trek met een select en ik wil met die gegevens steeds in 2 tabellen langs elkaar afdrukken, hoe doe ik dat dan?

vb:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?
$sql"select bla from tabel"; 
$res=$mysql_query($sql); 
while ($record=mysql_fetch_object($res)) {     

  print ("<table>"); 
    print ("<tr><td>"); 
      print ("<table>"); 
        print ("<tr><td>$record->bla</td></tr>"); //1E RECORD   
      print ("</table>"); 
    print ("</td><td>"); 
      print ("<table>"); 
        print ("<tr><td>$record->bla</td></tr>"); //VOLGENDE RECORD 
      print ("</table>"); 
    print ("</td></tr>"); 
  print ("</table>"); 
} 
?>

wanneer de select 4 records op leverd moet dat stuk code dus 2x uitgevoerd worden, bij 6 records 3x enz.

Mijn probeem is: dat het hele stuk code geloopt moet worden in een while lus (waar ik de gegevens in print door middel van bv mysql_fetch_object/array) terwijl hij in die lus 2 verschillende records moet printen (hij moet dus haverwege de lus 1 record verder springen in het object).

Hoop dat mijn probleem een beetje duidelijk is, en dat iemand het andwoord weet :-)

Greetz,

Bram

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Je zou natuurlijk eerst de query uitvoeren, en dan de ene helft in array1 dumpen en dan de andere in array2.
En dan doe je

<tr><td>$array1</td><td>$array2</td></tr>

oid.

  • chris
  • Registratie: September 2001
  • Laatst online: 11-03-2022
Omschrijf eens beter wat je wil doen?
Wil je een gegeven string in 2en splitsen en dit naast elkaar zetten? Misschien dat je dan hier wat aan hebt
PHP:
1
2
3
4
5
6
7
8
9
<?
$inhoud = "Hier komt het result van je query te staan";
$midden = round(strlen($inhoud) / 2); 
$midden = strpos($inhoud, " ", $midden) + 1; 
// Zoek vanaf het midden naar een spatie 
$inhoud1 = substr($inhoud, 0, $midden); 
$inhoud2 = substr($inhoud, $midden); 
echo "<table><tr><td>" . $inhoud1 . "</td></tr><tr><td>" . $inhoud2 . "</td></tr></table>";
?>

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

of kijk eens naar mysql_data_seek(); :)

Klaar voor een nieuwe uitdaging.


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 16:30

Janoz

Moderator Devschuur®

!litemod

Leer hoe loopjes werken (While/ for).. Als je echt over dit probleem had nagedacht, dan wist je dat het grootste probleem juist zal liggen waneer er een oneven aantal records opgehaald moeten worden......

pseudo:
code:
1
2
3
4
5
6
7
8
9
10
print tabel begin
while  haal record op gelukt {
  print record cel
  if haal record op gelukt {
     print record cel
  } else { 
     print dummy cel // met &nbsp;
  }
}
print einde tabel

Vul zelf verder in

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Ehv_BramBo
  • Registratie: November 2000
  • Laatst online: 13-04 22:30
Ik heb al een oplossing met een wissel variabele werken :-)
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?
$wissel = 0; 
while ($record=mysql_fetch_object($res)) { 

if ($wissel == 0) { 
$wissel = 1; 
print ("<table>"); 
print ("<tr><td>"); 
print ("<table>"); 
print ("<tr><td>$record->bla</td></tr>");       
print ("</table>"); 
print ("</td>"); 
}else{ 
$wissel = 0; 
print ("<td>"); 
print ("<table>"); 
print ("<tr><td>$record->bla</td></tr>");       
print ("</table>"); 
print ("</td></tr>"); 
print ("</table>"); 
} 
}
?>

edit: voor code heb je bepaalde tags nl: [ code ] & [/ code ]. Voor php kun je ook [ php ] & [/ php ] gebruiken.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 16:30

Janoz

Moderator Devschuur®

!litemod

1 - waarom gebruik je een tabel in een tabel???? Zoals ik het nu zie heb je die binnenste tabel helemaal niet nodig
2 - die wissel variable van je lost het probleem bij een oneven aantal resutls niet op. Je zou het kunnen oplossen door te kijken wat de waarde van wissel is waneer je uit de lus komt en dan eventueel een dummy cel toevoegen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Tsjipmanz
  • Registratie: Oktober 2000
  • Laatst online: 13-05 14:52

Tsjipmanz

Der Rudi ist da

Is het uberhaubt niet wat onnodig en inefficient om geneste tabellen te gebruiken?!

There's no such thing as a mistake, just happy accidents - Bob Ross
Relaxte muziek: altijd okee!
- Soulseek rulez -

Pagina: 1