[PHP] Ergebnisse in html Tabelle Speichern *ERLEDIGT

Tattooman

www.tattoodream.de
ID: 39630
L
21 April 2006
126
2
Hallo ich habe da auch mal eine Frage bzw. suche ich Lösungsansätze

Mein Vorhaben:

Ich rufe Ergebnisse aus einer Mysql Tabelle ab, diese Ergebnisse sollen
in einer html Tabelle ausgegeben werden, allerdings sollen nur 5 Ergebnisse
pro Tabellenspalte Angezeigt werden.

Meine Frage:

Wie realisiere ich es das nach jeweils 5 Ergebnissen eine neue Spalte in der Tabelle angelegt wird?

Wäre über Tipps oder Codeschnipsel sehr dankbar.
 
Zuletzt bearbeitet:
Ich würde sagen, das ist etwas komplizierter, da die tabellen immer Zeile für Zeile gefüllt werden, soweit ich weiß. Dann müsstest du vorher schon die Anzahl der Ergebnisse auszählen, damit du weißt, wieviele Spalten du brauchst. Dann hast du ja die Tabellenstruktur, und kannst sie wie gewohnt füllen.
 
Jetzt so auf die schnelle würde ich sagen, dass du es so realisieren könntest, dass du in einer Zeile dann immer die 5. Elemente im Array ausgibst.

Also zB:

Code:
$array[$x]    $array[$x+5]      $array [$x+2*5].....

$array[$x+1] $array[$x+1+5]  $array[$x+1+2*5]....

....

Sollte sich mit Schleifen recht gut realisieren lassen
 
PHP:
...connect...query...
<table>
 <tr>
  <th>Spalte 1</th>
  <th>Spalte 2</th>
  <th>Spalte 3</th>
  <th>Spalte 4</th>
  <th>Spalte 5</th>
 </tr>
 <tr>
<?
$a=0;
if (mysql_num_rows($query)>0)
{
 while($row=mysql_fetch_array($query))
 {
$a++;
 echo '<td>'.$row['spalte'].'</td>';
 if(bcmod($a,5)===0)
 {
  echo '</tr><tr>';
 }
}
}
else
{
 echo '<td colspan="5">keine Daten vorhanden</td>';
}
?>
</tr>
</table>
wenn ich mich jetzt nicht verrechnet habe, dann so
EDIT: anstatt dem bcmod kann man auch $a%5 nehmen, aber irgendwie ging das bei mir glaube nicht, oder irgendwas war damit.
EDIT 2: hatte noch paar grobe Fehler drin
 
Zuletzt bearbeitet:
Claudi schrieb:
Jetzt so auf die schnelle würde ich sagen, dass du es so realisieren könntest, dass du in einer Zeile dann immer die 5. Elemente im Array ausgibst.

Also zB:

Code:
$array[$x]    $array[$x+5]      $array [$x+2*5].....

$array[$x+1] $array[$x+1+5]  $array[$x+1+2*5]....

....
Sollte sich mit Schleifen recht gut realisieren lassen

ja, so würde ich das auch machen...
 
So richtig wollte dein Code nicht funktionieren aber war für mich ein guter Ansatz. Habe die Sache jetzt mit diesen Code gelößt!

PHP:
<table>
  <tr>
    <td>
<?
$a=0;
$max=4;

$sql = mysql_query("SELECT * FROM tabellenname");
$anzahl = mysql_num_rows($sql);

while($row=mysql_fetch_array($sql))
{
$a++;

echo $row['spalte']."<br>";

$spalten = round((($anzahl+1)/$max), 0);

for($i=0; $i<$spalten; $i++){ 

if($a == $max*$i)
{
  echo "</td><td>";
}
}
}
?>
    </td>
  </tr>
</table>

Und es funktioniert!

Vielen Dank an Dich und die Anderen.
 
Zuletzt bearbeitet:
Tattooman schrieb:
So richtig wollte dein Code nicht funktionieren...
mit einfachem Debuggen hätte man das locker hinbekommen. Und meiner funktioniert jetzt.

Warum nen Fullquote gemacht wurde, frag ich mich allerdings :roll: weil das stand alles schon mal da