tabellen anordnung - klappt nicht ganz

icolumbo

Grünschnabel
Hallo,

hier im Forum bin ich zum Thema schon fündig geworden - Teils klappts auch schon.

PHP:
 <table width="170" border="0" align="center" cellpadding="0" cellspacing="0" >
      	   <tr>
<?php $i = 0; 
while($row_serienshop = mysql_fetch_assoc($serienshop)){ ?>
<td><div align="center"><img src="bilder/serienshop/<?php echo $row_serienshop['asin']; ?>.jpg" width="96" height="140"><span class="normalfett"><?php echo $row_serienshop['titel']; ?></span><br>
    <span class="kleineschrift"><?php echo $row_serienshop['beschreibung']; ?></span><br>
    <span class="Stil2"><?php echo $row_serienshop['preis']; ?> &euro; </span></div></td>

<?php $i++;  if($i%3 ==0){ ?> </tr><tr> 

<?php } } ?>
        </tr>
      </table>
Das eben funktioniert prima, nur dies:
PHP:
 <table width="170" border="0" align="center" cellpadding="0" cellspacing="0">
      	   <tr>
<?php $i = 0; 
while($row_serienshop = mysql_fetch_assoc($serienshop)){ ?>
<td><div align="center"><img src="bilder/serienshop/<?php echo $row_serienshop['asin']; ?>.jpg" width="96" height="140"></div></td>
</tr><tr> 

<td><div align="center"><span class="normalfett"><?php echo $row_serienshop['titel']; ?></span><br>
<span class="kleineschrift"><?php echo $row_serienshop['beschreibung']; ?></span><br>
<span class="Stil2"><?php echo $row_serienshop['preis']; ?> &euro; </span></div></td>
<?php $i++;  if($i%3 ==0){ ?> </tr><tr> 

<?php } } ?>
        </tr>
      </table>

funktioniert leider nicht mehr :rolleyes:

Ich hab schon viel rumversucht - vielleicht ist es nur eine Kleinigkeit die ich falsch mache?
Würde mich freuen wenn mir jemand helfen könnte - falls das ganze zu aufwendig wird, werde ich es so machen wie im ersten Beispiel.

Danke
Christian
 
im ersten Beispiel klappt es soweit, dass es mit immer drei Datensätze in einer Zeile anzeigt und dann die Zeile wechselt.

PHP:
|----------||----------||----------|
|          ||          ||          |
|          ||          ||          |
| Daten1   || Daten2   ||  Daten3  |
|          ||          ||          |
|          ||          ||          |
|          ||          ||          |
|----------||----------||----------|
|----------||----------||----------|
|          ||          ||          |
|          ||          ||          |
| Daten4   || Daten5   ||  Daten6  |
|          ||          ||          |
|          ||          ||          |
|          ||          ||          |
|----------||----------||----------|
nun hätte ich es allerdings gerne so:
PHP:
|----------||----------||----------|
|          ||          ||          |
|          ||          ||          |
| Daten1   || Daten2   ||  Daten3  |
|          ||          ||          |
|----------||----------||----------|
| daten1   || daten2   ||  daten3  |
|----------||----------||----------|
|----------||----------||----------|
|          ||          ||          |
|          ||          ||          |
| Daten4   || Daten5   ||  Daten6  |
|          ||          ||          |
|----------||----------||----------|
| daten4   || daten5   ||  daten6  | 
|----------||----------||----------|

hm - kann man das verstehen? Es soll also immer ein Datensatz in 2 Zeilen. Oben ein Bild und darunter in der Zeile die Beschreibung dazu.

Gruß Christian
 
ich glaube, dass ich dein Problem verstanden habe. Du musst bei dem Aufbau deiner Tabelle bedenken, dass eine Tabelle nach Zeilen aufgebaut ist (Zeile 1, Zeile 2, etc.).

Habe dir mal ein Scirpt geschrieben, wie es klappen sollte (tut mir Leid, dass ich die HTML Tags mit echo ausgegeben habe, aber ich finde das viel übersichtlicher)

ich habe das jetzt nicht getestet, aber theoretisch müsste es klappen (hoffe ich mal)



PHP:
<?php
 
echo "<table width=\"170\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\n";
echo " <tr>\n";
 
$i = 1;
 
$anzahl = mysql_num_rows($serienshop);
 
$insgesamt = 0;
 
while($row_serienshop = mysql_fetch_assoc($serienshop)){
 
$insgesamt++;
 
$daten[$i]['titel'] = $row_serienshop['titel'];
 
$daten[$i]['beschreibung'] = $row_serienshop['beschreibung'];
 
$daten[$i]['preis'] = $row_serienshop['preis'];
 
echo " <td align=\"center\">\n";
 
echo " <img src=\"bilder/serienshop/".$row_serienshop['asin'].".jpg\" width=\"96\" height=\"140\">\n";
 
echo " </td>\n";
 
 
 
$i++;
 
 
 
if($i == 3) {
 
 
 
echo " </tr>\n";
 
echo " <tr>\n";
 
 
 
$x = 1;
 
 
 
for($x = 1; $x <= 3; $x++) {
 
 
 
echo " <td align=\"center\">\n";
 
echo " <span class=\"normalfett\">".$daten[$x]['titel']."</span><br />\n"; 
 
echo " <span class=\"kleineschrift\">".$daten[$x]['beschreibung']."</span><br />\n";
 
echo " <span class=\"Stil2\">".$daten[$x]['preis']." &euro; </span>\n";
 
echo " </td>\n"; 
 
 
 
} 
 
 
 
echo " </tr>\n";
 
 
 
unset($daten);
 
 
 
if($anzahl != $insgesamt)
 
echo " <tr>\n";
 
 
 
$i = 1; 
 
}
 
}
 
echo "</table>\n";
 
?>
 
Zuletzt bearbeitet:
Das gehört jetzt nicht hier her aber da es gerade wieder ein beispiel war wollte ich mal eben schnell fragen @Vasilios

warum schreibt ihr immer alles im PHP und macht dann bei den sachen die html sind das echo rein ?

ist es nicht viel einfacher wenn man des was html ist einfach nicht in den code einbindet sprich so:

PHP:
<tr>
	 <td align="center"><?PHP include("link oder sowas")?></td>
</tr>


greez
 
beim Programmieren kommt es ja hauptsächlich auf die Übersichtlichkeit an und

PHP:
<?php
 
if(true) {
echo "blubb";
if(false) {
echo "false";
}
}

ist übersichtlicher als

PHP:
<?php if(true) { ?>
blubb
<?php if(false) { ?>
false
<?php }
} ?>

bei kurzen Scripten macht das keine großen Unterschied, aber wenn du ein Script mit 1000 und mehr Zeilen hast, dann ist die zweite Methode nur noch Müll und zum Bugs fixen total ungeeignet

wieder zurück zum Thema:
klappt das denn?
 
Vielen Dank Vasilios,

ich hatte jetzt erst Gelegenheit dein Script einzubauen, es kommt schon nahe ran, leider werden nur 2 Spalten nebeneinander dargestellt.
http://www.columbo-forum.de/index.php?s=serienshop2

Mit dem Code hast du schon recht, ist übersichtlicher so wie du es machst.

Ich habe an dem ersten Lösungsansatz (mit nur einer Zeile je Datensatz) noch etwas rumgefeilt, bin mit der Ausgabe jetzt so ziemlich zufrieden.
http://www.columbo-forum.de/index.php?s=serienshop

Werde dein Script aber aufheben und wenn ich mit meinem PHP-Buch, welches ich zu Weihnachten bekommen habe, etwas weiter bin kann ichs dann vielleicht so anpassen das es drei Spalten macht. Momentan durchblicke ich es ehrlichgesagt noch nicht ganz :rolleyes:

Auf jedenfall nochmal vielen dank :)

Christian
 
Zurück