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-Key: 362081

Url: https://administrator.de/contentid/362081

Printed on: April 19, 2024 at 21:04 o'clock

Member: em-pie
em-pie Jan 23, 2018 updated at 17:40:59 (UTC)
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
Member: LordKimahri
LordKimahri Jan 23, 2018 at 18:12:06 (UTC)
Goto Top
Danke für deine antwort jedoch kann ich deinem ansatz gerade nicht folgen.^^
Member: LordKimahri
LordKimahri Jan 23, 2018 at 18:17:04 (UTC)
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