tabellen mit mysql erzeugen

Status
Nicht offen für weitere Antworten.

romu

Mitglied
Hallo alle zusammen :-)

Habe eine kurze frage die ihr mir bestimmt im handumdrehen beantworten könnt.

Ich habe eine Abfrage per Mysql erstellt und möchte die ergebnisse in einer Tabelle "NEBENEINANDER" anzeigen.

Mit dem Skript unten, werden mir die Abfragen aber nur untereinander angezeigt. Wie kann ich das am besten lösen ?

<?
$name=$HTTP_GET_VARS['name'];
include "connect.php";

$query = "SELECT DISTINCT form,pfad,beschreibung FROM artikelstamm WHERE beschreibung like '$name%'";
$result=mysql_query($query);


while ($daten=mysql_fetch_array($result, MYSQL_ASSOC)) { ?>

<table width="72" border="0" bordercolor="#235aa6">
<tr>
<td width="62" class="Stil10 Stil15 Stil1 Stil2 Stil6"><span class="Stil1"><a href="testheader.php?form=<? echo $daten['form']; ?>"><img src="/bilder/<? echo $daten['pfad'] ;?>"></a>
<div align="center"></div>
<div align="center"></div>
<div align="center"></div></td>
</tr>
</table>
<?
}
?> </div></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
 
Ich denke es sollte funktionineren ,wenn du am anfang der ersten tabelle (vor <table) ein <div> machst und am Ende der letzeten tabelle (nach dem </table>) ein </div> setzt.
 
Bin mir nicht sicher, aber wenn du zusätzlich den div-Container als Inlineobjekt deklarierst (siehe http://de.selfhtml.org/css/eigenschaften/positionierung.htm#display), müssten die Tabellen ohne Umbruch nebeneinander stehen. Normalerweise wird ja nach einem div immer ein Zeilenumbruch eingefügt. Mit dem CSS-Attribut display:inline müsste dies verhindert werden. Eventuell kannst du auch auf den div-Tag verzichten und das display:inline direkt in den table-Tag packen.
 
Erzeuge in deiner Schleife einfach nur neue <td>......das Tabellengerüst bis zur <tr> lasse ausserhalb der Schleife... dann wird auch alles nebeneinander angezeigt:
Code:
<table>
<tr>

<?php
//Hier die Schleife, in welcher nur <td> und deren Inhalt erzeugt werden
?>

</tr>
</table>
Oder hab ich das falsch verstanden:rolleyes:
 
Ganz sooo einfach ist es ja nicht, da seine Schleife ja mehrere ganze Tabellen erzeugt, die nebeneinander stehen sollen...
 
keine ahnung

also,

ich habe jetzt mehrfach versucht schleifen jeglicher art in den code aufzunehmen, allerdings vergeblich. was mir vorstrebt ist ja praktisch 5 bilder , dadrunter 5 beschreibungen der bilder und dann genau das gleiche in der nächsten zeile (bilder, beschreibung).

allerdings reichen meine kenntnisse für das gnaze nicht aus :-(((
 
problem gelöst :-)

Habe das Problem jetzt gelöst bekommen.
Musste die Schleife nur noch richtig anpassen :-)

script:

<?
$name=$HTTP_GET_VARS['name'];
include "connect.php";

$query = "SELECT DISTINCT form,pfad,beschreibung FROM artikelstamm WHERE beschreibung like '$name%'";
$result = mysql_query($query);

echo "<table width=\"100\" border=\"0\">\n";
$i = 0;

while ($data = mysql_fetch_array($result))
{
if ( ! ($i % 4))
echo " <tr>\n";

echo " <td>" ?>
<a href="testheader1.php?form=<? echo $data['form']; ?>">
<img src="/bilder/<? echo $data['pfad'] ;?>" border="0">
</a>
<br> <? echo $data['form']; ?></br>
<? "</td>\n";
if ($i % 1)
echo " </tr>\n";
$i++;
}

if ( ! ($i % 3))
{
echo " <td>&nbsp;</td>\n";
echo " </tr>\n";
}
echo "</table>\n";
mysql_close($sql);
?>


Vielen Dank an alle !
 
Status
Nicht offen für weitere Antworten.
Zurück