lordkimahri
Goto Top

Zweispaltige Tabelle mit while-schleife erzeugen. finde meinen fehler nicht

Ich versuche derzeit eine 2 Spaltige dynamische Tabelle mittels PHP zu erzeugen.

Leider gibt mir mein bisheriger Code nur eine Spalte aus, und reiht die Ergebnisse untereinander.

Bin derzeit leider etwas blind face-smile Vllt kann mir ja wer helfen.

<center>
<table border="1" width="65%">  
<?php
 $spalten = 2; //Spaltenanzahl 
$fueller = '&nbsp;'; //Fuellzeichen für leere Zellen z.B. ' '   
while($obj = mysqli_fetch_object($page_query)){
// Tabellenzeile beginnen
if ($i % $spalten == 2) {
echo '<tr>';  
}

// Zellen erstellen und mit Daten füllen
?>
<table border='1'><tr>  

<td width='50' height='50'><img src='/webinv/blocks2/<?php echo $obj->item_id;?>.png' width='50' height='50'></img></td>  

<td width='150' height='50'><?php echo $obj->shop_id;?></td>  
</tr></table>
<table border='1'><tr>  
<td width='206' height='100'></td>  
</tr></table>					
<?php
$i++;

// Zeile nach vorgegebener Spaltenzahl beenden
if ($i % $spalten == 2) {
echo '</tr>';  
}
}



// Tabelle mit Zellen auffüllen und letzte Tabellenzeile korrekt abschliessen
if ($i % $spalten != 2) {
echo (str_repeat ('<td>' . $fueller . '</td>', $spalten - (bcmod($i, $spalten))));  
echo '</tr>';  

}
?>
</table> 

Content-ID: 362081

Url: https://administrator.de/forum/zweispaltige-tabelle-mit-while-schleife-erzeugen-finde-meinen-fehler-nicht-362081.html

Ausgedruckt am: 23.12.2024 um 16:12 Uhr

em-pie
em-pie 23.01.2018 aktualisiert um 18:40:59 Uhr
Goto Top
Moin,

du hast das ziemlich verkompliziert...

FOlgender Ansatz/ wie wich es immer mache

$columns = 2;
$rows = [SQL-Results];

echo '<TABLE>';  
For ($i = 1; $i <= $rows; $i++) {
 echo '<TR>';  
  for ($k = 1; $k <= $columns ; $k++) {
   echo '<TD>' . $array[$k-1][$i-1] . '</TD>';  
  }
 echo '</TR>';  
}
echo '</TABLE>';  

Du musst nur noch dafür sorgen, dass du mit mehrdimensionalen Arrays arbeitest

Hinweise:
For-Schleife
Multidomensionale Arrays

Gruß
em-pie
LordKimahri
LordKimahri 23.01.2018 um 19:12:06 Uhr
Goto Top
Danke für deine antwort jedoch kann ich deinem ansatz gerade nicht folgen.^^
LordKimahri
LordKimahri 23.01.2018 um 19:17:04 Uhr
Goto Top
habe meinen Fehler nun gefunden, manchmal ist die lösung mehr als einfach

// Zellen erstellen und mit Daten füllen 

?> 

<td>

<table border='1'><tr>  

Das <td> in zeile 3 fehlte