Daten aus DB ausgeben
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abstand
anweisung
bild
code
dank
durchlauf
eintragen
ende
erstellen
genau krieg
kategorie
kleinigkeit
mache
rezept
schleife
tabelle
unsichtbare tabelle
url
verloren versuch
zeile
-
Hallo !
Ich habe mir ein System erstellt, mit dem ich neue Rezepte im Adminbereich eintragen und die werden dann mit Bild auf der Seite angezeigt.
Zum Testen: http://davidlohmann.de/rezepte/backrezepte/index.php
Jetzt meine Frage: Kann ich auch die Rezepte nebeneinander anzeigen lassen, also z.B. 2 nebeneinander? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
drafed-map schrieb:
Mach doch eine unsichtbare Tabelle, dann lässt du bei jedem 2. Durchlauf der Schleife eine neue Zeile erstellen. Oder mache es ohne Tabelle, und füge bei jedem 2. Durchlauf ein "<br />" ein.
mfg drafed-map
Wie mach ich das?
Hier mal mein Script:
<? $result = mysql_query("SELECT * FROM rezepte WHERE kategorie = 'backrezepte'"); while($rows = mysql_fetch_array($result)) { echo "<table border='0' width='40%'> <tr> <td><img src='".$rows[bild]."' height='50' /></td> <td><a href='rezept.php?zept=".$rows['rezeptname']."'>".$rows['rezeptname']."</a></td> </tr> </table><br>\n"; } ?>
-
Nehme diesen Code (ungetestet):
<?php echo '<table border="0" width="40%">'; $neue_zeile = true; $result = mysql_query("SELECT * FROM rezepte WHERE kategorie = 'backrezepte';"); while($rows = mysql_fetch_array($result)) { if($neue_zeile) { echo '<tr>'; $neue_zeile = false; } else $neue_zeile = true; echo '<table border="0" width="100%">'; echo '<tr><td><img src="'.$rows[bild].'" height="50px" /></td>'; echo '<td><a href="rezept.php?zept='.$rows['rezeptname'].'">'.$rows['rezeptname'].'</a></td></tr></table>'; if($neue_zeile) echo '</tr>'; } // ende while if(!$neue_zeile) echo '</tr>'; echo '</table>'; ?>
Edit: Ich hab noch eine Kleinigkeit verbessert.
mfg drafed-map
Beitrag zuletzt geändert: 30.7.2009 11:59:59 von drafed-map -
drafed-map schrieb:
Nehme diesen Code (ungetestet):
<?php echo '<table border="0" width="40%">'; $neue_zeile = true; $result = mysql_query("SELECT * FROM rezepte WHERE kategorie = 'backrezepte';"); while($rows = mysql_fetch_array($result)) { if($neue_zeile) { echo '<tr>'; $neue_zeile = false; } else $neue_zeile = true; echo '<table border="0" width="100%">'; echo '<tr><td><img src="'.$rows[bild].'" height="50px" /></td>'; echo '<td><a href="rezept.php?zept='.$rows['rezeptname'].'">'.$rows['rezeptname'].'</a></td></tr></table>'; if($neue_zeile) echo '</tr>'; } // ende while if(!$neue_zeile) echo '</tr>'; echo '</table>'; ?>
Edit: Ich hab noch eine Kleinigkeit verbessert.
mfg drafed-map
Es geht leider noch nicht. Kommt nur eine weiße Seite.
mfg david
EDIT: Jetzt kommt die Seite, aber die Rezepte werden nicht richtig angezeigt.
Beitrag zuletzt geändert: 30.7.2009 12:02:00 von davy -
Dann teste diesen Code, wenn der nicht geht, überprüfe bitte, ob die Get-Variabele wirklich "zept", und nicht "rezept" heisen soll, und ob die Datenbanktabellenspalte "bild" wirklich existiert, und gefüllt ist.
<?php echo '<table border="0" width="40%">'; $neue_zeile = true; $result = mysql_query("SELECT * FROM rezepte WHERE kategorie = 'backrezepte';"); while($rows = mysql_fetch_array($result)) { if($neue_zeile) { echo '<tr>'; $neue_zeile = false; } else $neue_zeile = true; echo '<td><table border="0" width="100%">'; echo '<tr><td><img src="'.$rows['bild'].'" height="50px" /></td>'; echo '<td><a href="rezept.php?zept='.$rows['rezeptname'].'">'.$rows['rezeptname'].'</a></td></tr></table></td>'; if($neue_zeile) echo '</tr>'; } // ende while if(!$neue_zeile) echo '</tr>'; echo '</table>'; ?>
Edit: Nochmal was am Code geändert.
mfg drafed-map
Beitrag zuletzt geändert: 30.7.2009 12:15:32 von drafed-map -
drafed-map schrieb:
Dann teste diesen Code, wenn der nicht geht, überprüfe bitte, ob die Get-Variabele wirklich "zept", und nicht "rezept" heisen soll, und ob die Datenbanktabellenspalte "bild" wirklich existiert, und gefüllt ist.
<?php echo '<table border="0" width="40%">'; $neue_zeile = true; $result = mysql_query("SELECT * FROM rezepte WHERE kategorie = 'backrezepte';"); while($rows = mysql_fetch_array($result)) { if($neue_zeile) { echo '<tr>'; $neue_zeile = false; } else $neue_zeile = true; echo '<td><table border="0" width="100%">'; echo '<tr><td><img src="'.$rows['bild'].'" height="50px" /></td>'; echo '<td><a href="rezept.php?zept='.$rows['rezeptname'].'">'.$rows['rezeptname'].'</a></td></tr></table></td>'; if($neue_zeile) echo '</tr>'; } // ende while if(!$neue_zeile) echo '</tr>'; echo '</table>'; ?>
Edit: Nochmal was am Code geändert.
mfg drafed-map
Danke ! Es klappt alles !
Geht es auch, dass 3 Rezepte nebeneinander sind und der Abstand zwischen 2 Rezepten ein bisschen größer sind?
mfg david -
davy schrieb:
drafed-map schrieb:
Dann teste diesen Code, wenn der nicht geht, überprüfe bitte, ob die Get-Variabele wirklich "zept", und nicht "rezept" heisen soll, und ob die Datenbanktabellenspalte "bild" wirklich existiert, und gefüllt ist.
<?php echo '<table border="0" width="40%">'; $neue_zeile = true; $result = mysql_query("SELECT * FROM rezepte WHERE kategorie = 'backrezepte';"); while($rows = mysql_fetch_array($result)) { if($neue_zeile) { echo '<tr>'; $neue_zeile = false; } else $neue_zeile = true; echo '<td><table border="0" width="100%">'; echo '<tr><td><img src="'.$rows['bild'].'" height="50px" /></td>'; echo '<td><a href="rezept.php?zept='.$rows['rezeptname'].'">'.$rows['rezeptname'].'</a></td></tr></table></td>'; if($neue_zeile) echo '</tr>'; } // ende while if(!$neue_zeile) echo '</tr>'; echo '</table>'; ?>
Edit: Nochmal was am Code geändert.
mfg drafed-map
Danke ! Es klappt alles !
Geht es auch, dass 3 Rezepte nebeneinander sind und der Abstand zwischen 2 Rezepten ein bisschen größer sind?
mfg david
Ja, das geht. Die Abstände musst du mit Style-Anweisungen in den tr's und td's regelen, das mit den 3 Rezepten nebeneinander ist aber etwas komplizierter als das mit den 2, da man dazu nichtmehr true und false nutzen kann.
Hier ist der neue Code:
<?php echo '<table border="0" width="40%">'; $neue_zeile = 1; $ende_zeile = false; $result = mysql_query("SELECT * FROM rezepte WHERE kategorie = 'backrezepte';"); while($rows = mysql_fetch_array($result)) { if($neue_zeile==1) { echo '<tr>'; $neue_zeile = 3; } else $neue_zeile--; if($neue_zeile==2) $ende_zeile = true; echo '<td style="width:33%"><table border="0" width="100%">'; echo '<tr><td><img src="'.$rows['bild'].'" height="50px" /></td>'; echo '<td><a href="rezept.php?zept='.$rows['rezeptname'].'">'.$rows['rezeptname'].'</a></td></tr></table></td>'; if($ende_zeile) echo '</tr>'; } // ende while echo '</table>'; ?>
Leider habe ich etwas den überblick verloren, versuch mal in der Zeile "if($neue_zeile==2) $ende_zeile = true;" die Zahlen 1, 2 und 3 durch.
mfg drafed-map
Beitrag zuletzt geändert: 30.7.2009 12:36:04 von drafed-map -
Jetzt habe ich in der Zeile 1 eingetragen, und in der ersten Reihe auf der Seite sind 3 nebeneinander, aber dann nur noch 1. Wie krieg ich es gleichmäßig hin?
-
Probiere das mal:
<?php echo '<table border="0" width="40%">'; $neue_zeile = 3; $ende_zeile = false; $result = mysql_query("SELECT * FROM rezepte WHERE kategorie = 'backrezepte';"); while($rows = mysql_fetch_array($result)) { if($neue_zeile==3) { echo '<tr>'; $neue_zeile = 2; $ende_zeile = false; } else if($neue_zeile==2) { $neue_zeile = 1; $ende_zeile = false; } else if($neue_zeile==1) { $ende_zeile = true; $neue_zeile = 3; } echo '<td style="width:33%"><table border="0" width="100%">'; echo '<tr><td><img src="'.$rows['bild'].'" height="50px" /></td>'; echo '<td><a href="rezept.php?zept='.$rows['rezeptname'].'">'.$rows['rezeptname'].'</a></td></tr></table></td>'; if($ende_zeile) echo '</tr>'; } // ende while echo '</table>'; ?>
-
drafed-map schrieb:
Probiere das mal:
<?php echo '<table border="0" width="40%">'; $neue_zeile = 3; $ende_zeile = false; $result = mysql_query("SELECT * FROM rezepte WHERE kategorie = 'backrezepte';"); while($rows = mysql_fetch_array($result)) { if($neue_zeile==3) { echo '<tr>'; $neue_zeile = 2; $ende_zeile = false; } else if($neue_zeile==2) { $neue_zeile = 1; $ende_zeile = false; } else if($neue_zeile==1) { $ende_zeile = true; $neue_zeile = 3; } echo '<td style="width:33%"><table border="0" width="100%">'; echo '<tr><td><img src="'.$rows['bild'].'" height="50px" /></td>'; echo '<td><a href="rezept.php?zept='.$rows['rezeptname'].'">'.$rows['rezeptname'].'</a></td></tr></table></td>'; if($ende_zeile) echo '</tr>'; } // ende while echo '</table>'; ?>
Super, das geht
Wie genau krieg ich das mit dem Abstand hin
Mfg -
Hier sit der Code:
<?php echo '<table border="0" width="40%">'; $neue_zeile = 3; $ende_zeile = false; $result = mysql_query("SELECT * FROM rezepte WHERE kategorie = 'backrezepte';"); while($rows = mysql_fetch_array($result)) { if($neue_zeile==3) { echo '<tr>'; $neue_zeile = 2; $ende_zeile = false; $abstand = true; } else if($neue_zeile==2) { $neue_zeile = 1; $ende_zeile = false; $abstand = true; } else if($neue_zeile==1) { $ende_zeile = true; $neue_zeile = 3; $abstand = false; } echo '<td style="width:30%"><table border="0" width="100%">'; echo '<tr><td><img src="'.$rows['bild'].'" height="50px" /></td>'; echo '<td><a href="rezept.php?zept='.$rows['rezeptname'].'">'.$rows['rezeptname'].'</a></td></tr></table></td>'; if($abstand) echo '<td style="width:5%"> </td>'; if($ende_zeile) echo '</tr>'; } // ende while echo '</table>'; ?>
mfg drafed-map -
drafed-map schrieb:
Hier sit der Code:
<?php echo '<table border="0" width="40%">'; $neue_zeile = 3; $ende_zeile = false; $result = mysql_query("SELECT * FROM rezepte WHERE kategorie = 'backrezepte';"); while($rows = mysql_fetch_array($result)) { if($neue_zeile==3) { echo '<tr>'; $neue_zeile = 2; $ende_zeile = false; $abstand = true; } else if($neue_zeile==2) { $neue_zeile = 1; $ende_zeile = false; $abstand = true; } else if($neue_zeile==1) { $ende_zeile = true; $neue_zeile = 3; $abstand = false; } echo '<td style="width:30%"><table border="0" width="100%">'; echo '<tr><td><img src="'.$rows['bild'].'" height="50px" /></td>'; echo '<td><a href="rezept.php?zept='.$rows['rezeptname'].'">'.$rows['rezeptname'].'</a></td></tr></table></td>'; if($abstand) echo '<td style="width:5%"> </td>'; if($ende_zeile) echo '</tr>'; } // ende while echo '</table>'; ?>
mfg drafed-map
Danke für alles !
mfg david -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage