emceechen
Threadersteller
Dabei seit: 09.09.2005
Ort: Bad Kreuznach
Alter: 41
Geschlecht:
|
Verfasst Fr 11.07.2008 11:10
Titel Arrayfunktion / bedingte MySQL-Ausgabe |
|
|
Hallo zusammen,
ich steh' heute irgendwie total auf dem Schlauch. Ich schreibe gerade ein kleines "Tool" das Grafiken aus einer Datenbank holt und dann rotierend anzeigt. Dabei soll es möglich sein jeder Grafik eine Gewichtung zu geben. Das Gewichtungsproblem habe ich so gelöst, dass ich eine Zufallszahl aus einem Zahlenbereich 1-550 ziehe und dann sage wenn 1-10 raus kommt ist die Gewichtung 1, wenn 11-30 raus kommt ist die Gewichtung 2 usw.
Das ganze geht dann hoch bis 10 (zehnfacher Bereich von 1 = 451 - 550). Jetzt hole ich mir aus der Datenbank alle Bilder bei denen die Gewichtung größer als die zufällige Gewichtung ist. Das passt auch so weit, es entsteht halt nur das Problem, dass wenn z.B. die zufällige Gewichtung 5 gezogen wird und nur Bilder mit Gewichtung 7 und 8 eingepflegt sind diese beiden ausgegeben werden. Ich müsste nun abfragen bei welchem Bild die eingetragene Gewichtung niedriger ist und dann NUR dieses ausgeben. Ich bekomme das jetzt bloss nicht in meine while-Schleife sinnig eingebaut, deshalb habe ich mir gedacht ich bastel mir einfach ein mehrdimensionales Array zusammen und frag die kleinste Gewichtung einfach darin ab, aber das bekomme ich auch nicht hin...
Ich habe jetzt ein Array der Form:
Code: |
Array
(
[1.gif] => Array
(
[Priority] => 10
[Link] => 18-6521
[Path] => http://www.xyz.de/_banner/1.gif
)
[2.gif] => Array
(
[Priority] => 5
[Link] => 19-6521
[Path] => http://www.xyz.de/_banner/2.gif
)
)
|
Das wäre jetzt natürlich nach oben offen, sprich da könnten nachher auch zehn Bilder drin stehen. Ich möchte es jetzt so haben, dass nur das zweite Bild mit der Gewichtung/Priorität 5 ausgegeben wird habe aber jetzt den totalen Knoten im Hirn... Vielleicht hat ja jemand eine Idee.
Sollte es einfacher sein diese Bedingung direkt in der mysql_fetch irgendwie zu verwursteln bin ich natürlich für Vorschläge offen, aber ich habe das in allen möglichen Varianten probiert und nicht hin bekommen...
Ich hoffe ich konnte zumindest halbwegs verständlich beschreiben was ich mir da ausgedacht habe. Bin für alle Vorschläge schon im Voraus dankbar
Gruß, Michael
|
|