DB-Einträge unter- UND nebeneinander darstellen

Webmaster haben hier die Gelegenheit, ihr Wissen auszutauschen. Tips und Tricks zu Webspace, scripten, HTML, JAVA, PHP, MySQL sowie Redirectoren und was sonst noch alles dazugehört.
  • Beitrag 22. Aug 2006 14:57

DB-Einträge unter- UND nebeneinander darstellen

Hi, schätze die Frage geht vor allem wieder an den MEISTER Bierhasser ;)

Ich hab hier mehrere DB-Einträge, die ich bisher einfach untereinander ausgegeben habe. Nun will der Kunde diese aber 2-spaltig untereinander haben, wie bekomme ich das hin?
Kann man irgendwie bei foreach angeben, dass er die ungeraden Abfrageergebnisse (1.,3.,5., ...) in die erste und die geraden in die zweite Spalte untereinander setzt oder wie mache ich das am besten? :confused:

Oder kann man ihm angeben, dass er immer erst zwei spalten füllen soll bevor er ne neue Zeile kreiert oder ...?


Greetz,

Picl
Bild
Bild
Picl
Graf
Graf
Benutzeravatar
 

  • Beitrag 22. Aug 2006 18:39

Re: DB-Einträge unter- UND nebeneinander darstellen

Sowas in der Art hatte ich auch mal gemacht. Am besten machts du das nach der Abfrage wenn du Die Daten dann zur ausgabe vorbereitest. [PHP]<?php
$SQL = $DB->select("SELECT feld1, feld2, feld3 from TABLE where intressant = 'TRUE'");
$allcats = $DB->numRows($SQL)-1;
$OUT = '<table><tr><td colspan="2">Überschrifft</td></tr>';
$COUNT = 1;
while($LINE = $DB->fetchArray($SQL)) {
$checkgerade = GeradeZahl($COUNT);
if ( $checkgerade == '1' && $COUNT <= $allcats ) {
$nexttdrow .= "\n<td>".$LINE['feldX']."</td>";
}elseif ( $checkgerade == '2' && $COUNT <= $allcats ) {
$OUT .= "\n<tr>$nexttdrow<td>".$LINE['feldX']."</td>\n</tr>";
$nexttdrow ='';
}elseif ( $COUNT > $allcats && $geradecats == '1') {
$OUT .= "\n<tr>\n<td>".$LINE['feldX']."</td>\n</tr>";
}else{
$OUT .= "\n<tr>$nexttdrow<td>".$LINE['feldX']."</td>\n</tr>";
}
$COUNT++;
}
$OUT .= "</table>";

echo $OUT;

function GeradeZahl($Zahl) {
if($Zahl%2!=0) {
return '1';
}else{
return '2';
}
}
?>[/PHP]
Bierhasser
Datenvojore
Eigner
 

  • Beitrag 23. Aug 2006 09:10

Re: DB-Einträge unter- UND nebeneinander darstellen

Danke für den Denkanstoß! Hab es jetzt folgendermaßen geregelt:

oben diese beiden Werte festgelegt
[PHP]$anz = 0;
$tb_w = 2;[/PHP]

und unten dann
[PHP]
foreach
{
.
.
.
.
.
$anz++;
if( $anz < $tb_w)
{
echo "</td>";
}
elseif( $anz == $tb_w)
{
echo "</td></tr><tr>";
$anz = 0;
}
}
[/PHP]


Greetz,

Picl
Bild
Bild
Picl
Graf
Graf
Benutzeravatar
 

  • Beitrag 23. Aug 2006 09:54

Re: DB-Einträge unter- UND nebeneinander darstellen

Jo oder so das ist doch noch viel schneller :yes:
Bierhasser
Datenvojore
Eigner
 


Zurück zu Webmaster-Stammtisch & Programmiersprachen