Seite 1 von 1

mysql ergebnis in tabelle

Verfasst: 05.07.2005, 14:26
von slider
hallo,
wie kann ich das ergebnis einer mysql-abfrage in einer 2-spaltigen tabelle darstellen.
Bisher siehts so aus:
A
B
C
D
E
F

So solls neu assehen:
a b
c d
e f


hiermit hab ichs probiert das ergibt aber nur eine spalte:

$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);
mysql_select_db($db_name,$db);
$result = mysql_query("SELECT buchstaben, farbe FROM tabelle Group by buchstaben");
while ($row = mysql_fetch_array($result)) {
$id=$row['tabelle'];
$buchstaben=$row['Buchstaben'];
$farbe=$row['farbe'];



echo "<TR><TD width=\"50%\"><a href=\"datei-$buchstaben.htm\">$buchstaben </a> &nbsp; </TD></TR> " ;
}

echo "</TABLE>";

Verfasst:
von

mysql ergebnis in tabelle

Verfasst: 05.07.2005, 15:09
von whyte
hallo,

ne du brauchst einen zähler, der dir das TR bei jedem 2. durchlauf der Schleife macht.

also vor der schleife x=1
in der schleife dann x++
und dann die abfrage
if x==2 then { echo "</tr><tr>"; x=1; }

so müsste ein schuh draus werden

gruß
whyte

mysql ergebnis in tabelle

Verfasst: 05.07.2005, 16:20
von Pseudo
table sucken... nimm css!

gibt mehrere Möglichkeiten das zu machen... lass einfach einen Counter mit laufen und bei gerade z.B. die eine Spalte und bei ungerade die andere...

mysql ergebnis in tabelle

Verfasst: 05.07.2005, 16:28
von slider
kannst du mal zeigen wie das in dem beispiel aussehen muss?

Verfasst: 05.07.2005, 18:47
von naden
Hallo,
Table sucken absolut nicht, Sie dienen dazu Daten tabellarisch darzustellen,
sind demnach sehr oft das richtige Mittel.

Die Lösung ist sehr simpel mittels de Module "%" Operators:

Tabelle auf und alles was du sonst machn möchtest ...

Code: Alles auswählen

...
print&#40; "<tr>" &#41;;

$index = 0;
while&#40; &#40; $row = mysql_fetch_array&#40; $result &#41; &#41;
&#123;
  printf&#40; '<td width="50%%"><a href="%s.htm">%s</a></td>', $row&#91; 'tabelle' &#93;, $row&#91; 'buchstabe'&#93; &#41;;
  if&#40; &#40; $index++ % 2 &#41; == 0 &#41;
  &#123;
   print&#40; '</tr><tr>' &#41;;
  &#125;
&#125;
print&#40; '</tr>' &#41;;
...
... tabelle zu und was sont kommt.
Ungetestet, kann sein, dass du die Kondition im Modulo ändern musst auf 1 oder mit 1 beginnst. Probier es einfach aus. Möglich dass du ein %-Zeichn im Format string noch escapen musst.

mysql ergebnis in tabelle

Verfasst: 06.07.2005, 09:05
von auftragslinker
da kommt der perl programmierer durch ;) immer schön mit print arbeiten...

denke, schneller und optimaler gehts so:

Code: Alles auswählen

echo "<tr>";

$i = 0; 
while&#40; $row = mysql_fetch_array&#40; $result &#41; &#41; 
&#123; 
  echo '<td width="50%"><a href="datei-'.$row&#91;'buchstaben'&#93;.'.htm">'.$row&#91;'buchstaben'&#93;.'</a>&nbsp;</td>';

  if &#40;$i == 0&#41; &#123; 
    $i = 1;
  &#125; else &#123;
    $i = 0;
    echo '</tr><tr>';
  &#125;
&#125; 
echo '</tr>';

mysql ergebnis in tabelle

Verfasst: 06.07.2005, 09:07
von auftragslinker
achja...und bitte aus
Group by buchstaben
ORDER BY buchstaben