ERLEDIGT
JA
JA
ANTWORTEN
21
21
ZUGRIFFE
1000
1000
EMPFEHLEN
-
Hallo,
in meiner Bildergalerie habe ich verschiedene Kategorien.
Ich lasse immer pro Seite und Kategorie 12 Bilder auf einer Seite anzeigen. Manchen Kategorien enthalten aber nur 3-11 Bilder, also weniger um die ganze Seite aufzufüllen.
Ich habe versucht hierfür ein "Platzhalterbild" einzufügen, aber irgendwo hängts mal wieder. Vielleicht weiß jemand Rat, danke schonmal.
Hier mein Code:
PHP-Code:$proseite = 12;
$number = mysql_num_rows(mysql_query("SELECT EOSID FROM images_eos WHERE EOSVisible ='true'"));
$seiten = ceil($number / $proseite);
$start = $_GET['page'] * $proseite - $proseite;
$ende = $start + $proseite;
#Auslesen der Bilder, mit Start und Ende der jeweiligen Seite
$images = mysql_query("SELECT * FROM images_eos WHERE EOSVisible ='true' ORDER BY EOSID DESC LIMIT $start, $proseite");
while($row = mysql_fetch_array($images)) {
$data[] = $row;
}
if ($number < $proseite) {
for($number; $number <= $proseite; $number++) {
$data[$number][EOSName] = "spacer.gif";
}
}
My little Playground || 3D Modellierung & Fotografie
http://www.despoiler.de
-
17.06.09 20:21 #2
- Registriert seit
- Feb 2008
- Beiträge
- 522
Hi
"aber irgendwo hängts mal wieder". Könntest du uns eine genauere Fehlerbeschreibung geben?Napoleon trug rote Kleidung, damit seine Soldaten nicht sahen, dass er verwundet war.
Die Naz!s trugen braune Hosen ...
-
Na klar! Ich Nase.....
Es scheint so als würde er die if-Abfrage überspringen, denn es werden z.B. nur die 3 Bilder in der Kategorie angezeigt.
Das Array ist in diesem Fall mit drei Bildern gefüllt, 0-2.
Er füllt also nicht wie gewünscht das Array bis 11 mit dem Bild "spacer.gif" auf.
My little Playground || 3D Modellierung & Fotografie
http://www.despoiler.de
-
17.06.09 20:29 #4
- Registriert seit
- Feb 2008
- Beiträge
- 522
Hi
ersetze erstmal das veraltete mysql_num_rows() durch mysql_numrows().
Zudem (immer nützlich beim debuggen) lasse dir die Variablen ausgeben (hier: $number und $proseite).Napoleon trug rote Kleidung, damit seine Soldaten nicht sahen, dass er verwundet war.
Die Naz!s trugen braune Hosen ...
-
17.06.09 20:34 #5
- Registriert seit
- Dec 2007
- Ort
- Bremen
- Beiträge
- 3.418
Da es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.
-
mysql_numrows! Schaut irgendwie komisch aus.

Das Depugging hab ich schon alles ausprobiert.
Die Variablen sind alle mit den richtigen Werten gefüllt und werden auch ausgegeben.
Ich Prinzip müsste mein Code doch funktionieren, oder?
My little Playground || 3D Modellierung & Fotografie
http://www.despoiler.de
-
17.06.09 20:37 #7
- Registriert seit
- Feb 2008
- Beiträge
- 522
Asche auf mein Haupt, ich sollte mal besser wieder mal schlafen gehen, 4 Tage mit wenig Schlaf schlägt aufs gemüt
Napoleon trug rote Kleidung, damit seine Soldaten nicht sahen, dass er verwundet war.
Die Naz!s trugen braune Hosen ...
-
@ kuddeldaddeldu
Jetzt muss ich erstmal grinsen, schöner Name.
Ich weiß nicht obs daran liegen könnte, aber ändert das was an der Tatsache, dass alles bei mir in einer switch-action verarbeitet wird?!
$number wird ohne Problme unterhalb des Switch ausgegeben, genauso wie var_dump($data).
My little Playground || 3D Modellierung & Fotografie
http://www.despoiler.de
-
17.06.09 20:50 #9
- Registriert seit
- Dec 2007
- Ort
- Bremen
- Beiträge
- 3.418
Da es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.
-
Oh mein Gott, es liegt wirklich daran....ich schäme mich so.....
Wenn ich die if-Schleife jetzt unter die switch-Abfrage schreibe funktioniert es.....määä
Hier mein alter Code:
Hier mein neuer Code:PHP-Code:$sortby = $_GET["sortby"];
switch ($sortby) {
#Sortby Newest
case "newest":
$proseite = 12;
$number = mysql_numrows(mysql_query("SELECT EOSID FROM images_eos WHERE EOSVisible ='true'"));
$seiten = ceil($number / $proseite);
$start = $_GET['page'] * $proseite - $proseite;
$ende = $start + $proseite;
#Auslesen der Bilder, mit Start und Ende der jeweiligen Seite
$images = mysql_query("SELECT * FROM images_eos WHERE EOSVisible ='true' ORDER BY EOSID DESC LIMIT $start, $proseite");
while($row = mysql_fetch_array($images)) {
$data[] = $row;
}
#Das ist die beschriebene if-Schleife
if ($number < $proseite) {
for($number; $number <= $proseite; $number++) {
$data[$number][EOSName] = "spacer.gif";
}
}
break;
}
PHP-Code:$sortby = $_GET["sortby"];
switch ($sortby) {
#Sortby Newest
case "newest":
$proseite = 12;
$number = mysql_numrows(mysql_query("SELECT EOSID FROM images_eos WHERE EOSVisible ='true'"));
$seiten = ceil($number / $proseite);
$start = $_GET['page'] * $proseite - $proseite;
$ende = $start + $proseite;
#Auslesen der Bilder, mit Start und Ende der jeweiligen Seite
$images = mysql_query("SELECT * FROM images_eos WHERE EOSVisible ='true' ORDER BY EOSID DESC LIMIT $start, $proseite");
while($row = mysql_fetch_array($images)) {
$data[] = $row;
}
break;
}
#Das ist die beschriebene if-Schleife
if ($number < $proseite) {
for($number; $number <= $proseite; $number++) {
$data[$number][EOSName] = "spacer.gif";
}
}
My little Playground || 3D Modellierung & Fotografie
http://www.despoiler.de
-
Ok das läuft jetzt so einigermaßen.

Danke schonmal bis hierher.
Er füllt jetzt den Rest mit einem "Platzhalter" auf, abeeeeer nur in dem Fall, dass auch wirklich nur weniger wie 12 Bilder in der Kategorie sind!
Ist das nicht der Fall, also Bilder > 12, so greift meine Schleife nicht mehr, is ja auch logisch.
Er füllt aktuell immer nur die erste Seite mit Platzhaltern auf wenn Bilder < 12.
Was hälst du von meiner Theorie immer zu prüfen, wieviele Bilder auf einer Seite wirklich angezeigt werden.
- Ich weiß wieviele Bilder in der Kategorie sind
- Diese geteilt durch 12 gibt mir die Anzahl der Seiten
- Ich habe immer einen Start-Wert für meine SQL-Abfrage
War da nicht was mit der Operation "Modulo", die mir einen Restwert zurückgibt?
Könnte man nicht das so rechnen: (GesamtAnzahlBilder - Seitenzahl * ProSeite), wenn ich diesen Wert jetzt auf Rest überprüfe ist alles OK und er fügt keine weiteren Platzhalter ein.
Ist jedoch ein Rest vorhanden, so könnte ich doch die Platzhalter ausgeben?
Oh Mann und das alles noch um diese Uhrzeit.
Mal sehen was du davon hälst.
My little Playground || 3D Modellierung & Fotografie
http://www.despoiler.de
-
17.06.09 21:56 #12
Das Auffüllen des Arrays geht übrigens noch leichter.
PHP-Code:array_fill(count($array), $proseite - $number, 'spacer.gif');
KIDS Kinderbetreuungsdienst
Xing
"When you play the game of thrones, you win or you die. There is no middle ground."
by Cersei Lannister in "A Game Of Thrones"
-
17.06.09 22:39 #13
- Registriert seit
- Dec 2007
- Ort
- Bremen
- Beiträge
- 3.418
Und dann musst Du nur noch statt $number mysql_num_rows($images) verwenden. Mach's doch nicht so kompliziert.

LGDa es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.
-
Okay!
Lass mich das mal kurz zusammenfassen.
count($array) --> Das zählt wieviele Einträge in dem Array enthalten sind.PHP-Code:array_fill(count($array), $proseite - $number, 'spacer.gif');
$proseite - mysql_num_rows($images) --> Gibt die max. Anzahl von Spalten an, die mit 'spacer.gif' befüllt werden sollen.
Wenn das so richtig ist, müsste mein Code doch so lauten, denn jede Seite hat ja immer max. 12 Bilder.
Aber woher weiß er jetzt, in welchen Bereich er das spacer.gif schreiben soll?PHP-Code:$proseite = 12;
array_fill(count($data[]), $proseite, 'spacer.gif');
Es soll ja im $data[][EOSName] landen.
Sorry wenn ich nerve...
My little Playground || 3D Modellierung & Fotografie
http://www.despoiler.de
-
17.06.09 23:43 #15
- Registriert seit
- Dec 2007
- Ort
- Bremen
- Beiträge
- 3.418
Hi,
Dein Array heißt $data, nicht $data[]. Du müsstest als Wert array('EOSName' => 'spacer.gif') übergeben und das Ergebnis von array_fill() dann per array_merge() an $data anhängen:
LGPHP-Code:$data = array_merge($data, array_fill(count($data), $proseite - $anz_treffer, array('EOSName' => 'spacer.gif')));
Da es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.
Ähnliche Themen
-
Array soll mit zufälligen Werten aus anderem Array gefüllt werden
Von jenny-birdy im Forum Java GrundlagenAntworten: 4Letzter Beitrag: 02.11.09, 17:18 -
Array mit gleichen Werten
Von lara23 im Forum JavaAntworten: 2Letzter Beitrag: 28.12.08, 12:38 -
Array mit konstanten Werten
Von DerStauner im Forum Visual Basic 6.0Antworten: 2Letzter Beitrag: 04.07.08, 13:12 -
MySQL / PHP Abfrage nach bereits vorh. Werten
Von citr1 im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 08.06.08, 20:13 -
datenbankanfrage mit werten aus array
Von Zero2000 im Forum PHPAntworten: 4Letzter Beitrag: 02.03.06, 16:28





Zitieren




Login






[PHP] [Codeschnipsel] ImageColor aus HTML-Farbcodierung erstellen