Das lernt man recht schnell. Ich würde tasächlich das Ganze noch auf die "SELECT pic_id, pic_title, pic_desc FROM $album_table ORDER BY RAND() LIMIT 4" Methode umstellen, da so mit einer einzigen SQL-Abfrage alles erledigt wird.
Das ganze Maximum suchen und Zufallsgenerator anschmeissen kannst Du Dir dann schenken.
höchsten Wert ermitteln
- Martin Truckenbrodt
- Mitglied
- Beiträge: 1143
- Registriert: 15.08.2003 23:16
- Wohnort: Südthüringen
- Kontaktdaten:
Hallo,
das nenne ich gesund schrumpfen!
Flutscht!
So ist auch das Problem erschlagen, wenn der rand einen Wert ermittelt für den es keinen Daten Satz ermittelt.
Ich habe nur immer noch nicht das Prinzip vonm PHP ganz verstanden. Wie komt es z.B. das bei LIMIT=4 gleich vier zeilen dargestellt werden/wurden?
Mein/Unser erstes PHP Skript ist fertig!
Vielen Dank Martin!
das nenne ich gesund schrumpfen!
Code: Alles auswählen
<table>
<?php
$sql="SELECT pic_id, pic_title, pic_desc FROM $album_table ORDER BY RAND() LIMIT 1";
$result = mysql_query($sql) or die;
while ($row = mysql_fetch_array($result))
print "<TR><TD align='center'>" . $row['pic_title'] . "<BR></TD></TR><TR><TD align='center'><a href='". $phpbb_root_path ."album_page.php?pic_id=" . $row['pic_id'] . "'><img alt='" . $row['pic_desc'] . "' src='". $phpbb_root_path ."album_thumbnail.php?pic_id=" . $row['pic_id'] . "'></a></TD></TR>";
?>
</table>
So ist auch das Problem erschlagen, wenn der rand einen Wert ermittelt für den es keinen Daten Satz ermittelt.
Ich habe nur immer noch nicht das Prinzip vonm PHP ganz verstanden. Wie komt es z.B. das bei LIMIT=4 gleich vier zeilen dargestellt werden/wurden?
Mein/Unser erstes PHP Skript ist fertig!
Vielen Dank Martin!
Advanced Block MOD 1.1.4 ist released! - Verhindere Spam auf Deinem phpBB3 Board mit Stop Forum Spam, BotScout, Akismet, Project Honey Pot und verschiedenen IP-RBL und Domain-RBL DNS Blacklisten! - Meine MODs - phpBB Complete Core
Ich dachte es sollten vier Bilder dargestellt werden.
Limit setzt die Maximalzahl der zurückgelieferten Ergebnisse, die dann in dem "while" durchlaufen werden; jeder Aufruf von mysql_fetch_array liefert ein Ergebnis, bis keines mehr vorhanden ist.
Man könnte diese Ergebnisse auch z.B. zwischenspeichern.
Limit setzt die Maximalzahl der zurückgelieferten Ergebnisse, die dann in dem "while" durchlaufen werden; jeder Aufruf von mysql_fetch_array liefert ein Ergebnis, bis keines mehr vorhanden ist.
Man könnte diese Ergebnisse auch z.B. zwischenspeichern.
- Martin Truckenbrodt
- Mitglied
- Beiträge: 1143
- Registriert: 15.08.2003 23:16
- Wohnort: Südthüringen
- Kontaktdaten:
Hallo,
ich habe jetzt auf drei beschränkt, da der Titel der Bilder teilweise recht breit ist.
In der Kürze liegt die Würze:
Ich rufe das Skript für jedes Build einzeln auf. Sollte doch nicht deutlich mehr Last verursachen, oder?
Vielen Dank nochmal! http://smartor.is-root.com/viewtopic.php?p=64215#64215
Gruß Martin
ich habe jetzt auf drei beschränkt, da der Titel der Bilder teilweise recht breit ist.
In der Kürze liegt die Würze:
Code: Alles auswählen
<table>
<?php
$sql="SELECT pic_id, pic_title, pic_desc FROM $album_table ORDER BY RAND() LIMIT 1";
$result = mysql_query($sql) or die;
$row = mysql_fetch_array($result);
print "<TR><TD class='klein' align='center'>" . $row['pic_title'] . "<BR></TD></TR><TR><td align='center'><a href='". $phpbb_root_path ."album_page.php?pic_id=" . $row['pic_id'] . "'><img alt='" . $row['pic_desc'] . "' src='". $phpbb_root_path ."album_thumbnail.php?pic_id=" . $row['pic_id'] . "'></a></td></TR>";
?>
</table>
Vielen Dank nochmal! http://smartor.is-root.com/viewtopic.php?p=64215#64215
Gruß Martin
Advanced Block MOD 1.1.4 ist released! - Verhindere Spam auf Deinem phpBB3 Board mit Stop Forum Spam, BotScout, Akismet, Project Honey Pot und verschiedenen IP-RBL und Domain-RBL DNS Blacklisten! - Meine MODs - phpBB Complete Core
als Faustregel sollte man die Datenbank so selten aufrufen, wie irgend möglich. (stimmt nicht immer, aber ist erstmal ein guter Anfang).
Ich würde daher nur eine DB Anfrage stellen und mir immer mit mysql_fetch_array($result) jeweils die Daten für ein Bild geben lassen.
Schon alleine um zu verhindern, daß ein Bild evtl. mehrfach ausgelost wird.
Ich würde daher nur eine DB Anfrage stellen und mir immer mit mysql_fetch_array($result) jeweils die Daten für ein Bild geben lassen.
Schon alleine um zu verhindern, daß ein Bild evtl. mehrfach ausgelost wird.
- Martin Truckenbrodt
- Mitglied
- Beiträge: 1143
- Registriert: 15.08.2003 23:16
- Wohnort: Südthüringen
- Kontaktdaten:
Hallo,
ich will die Bilder horizontal nebeneinander stellen. Das dürfte trotzdem mit einer Abfrage schwierig werden.
Gruß Martin
ich will die Bilder horizontal nebeneinander stellen. Das dürfte trotzdem mit einer Abfrage schwierig werden.
Gruß Martin
Advanced Block MOD 1.1.4 ist released! - Verhindere Spam auf Deinem phpBB3 Board mit Stop Forum Spam, BotScout, Akismet, Project Honey Pot und verschiedenen IP-RBL und Domain-RBL DNS Blacklisten! - Meine MODs - phpBB Complete Core