Anzahl anzeigender Codeelemente

C

cym

Guten Abend

Sorry für meinen Titel, denn ich wusste nicht, wie ich dies beschreiben soll.
Ich habe nur wenig Ahnung im Bereich PHP.
Darum habe ich eine Frage:

Ich habe eine Bildergalerie. In der Navigation hat es für jedes Bild eine Grafik. Wenn ich also auf die Grafik klicke, wird darüber das Bild angezeigt.

Code der jeweiligen Grafik:
PHP:
if ($_GET['bild'] == '1')
{	
echo "<img src=\"images/kasten_a.gif\" alt=\"kasten\" height=\"10\" width=\"8\" border=\"0\" /><br />";
}
elseif ($_GET['page'] == 'galerie')
{
echo "<a href=\"index.php?page=galerie&amp;sub=1\" onfocus=\"this.blur()\" class=\"nav2\"><img src=\"images/kasten.gif\" alt=\"kasten\" height=\"10\" width=\"8\" border=\"0\" /></a><br />";
}
else
{
echo "";
}
Nun habe ich ja ganz viele solcher Grafiken. Wie kann ich das programmieren, dass dann z.B. 10 Grafiken ausgegeben werden, die sich jeweils bei bild=1 um 1 erhöhen?

Ich freue mich auf eine Antwort! :)

cym
 
Vielleicht habe ich mein Problem nicht klar genug beschrieben.

Also: Das obige Codeschnipsel ergibt ein Kästchen, dass weiss angezeigt wird, falls das Bild aktiv ist, oder schwarz falls nicht, oder gar nicht, wenn die Galerie-Seite nicht aufgerufen wird.

Besteht die Möglichkeit, dass man nur diesen Code 1x reinschreibt, dann aber z.B. 10x ausgegeben wird. Dabei sollte sich natürlich die Stelle "sub = 1" immer um 1 erhöhen.

Könnte mir dabei jemand helfen? :)
 
Ich kapier nicht ganz die Logik, die dahinter steckt und wie, wann, wo, was angezeigt wird, aber prinzipiell kann man sone wiederholende Ausgabe mit einer for-Schleife realisieren:
PHP:
for ($i=1; $i<=10; $i++)
{
//ausgabe oder was auch immer
echo $i." ";
}
Das würde zum Beispiel folgendes ausgeben:
1 2 3 4 5 6 7 8 9 10

Du kannst dann ja einfach die ganze if-Anweisung in die for-Schleife packen und statt sub=1 einfach sub=$i schreiben
 
Sorry, aber es funktioniert fast.
Die if-Abfrage wird ignoriert.
Nur die elseif-Abfrage wird ausgeführt.

Weiss jemand Rat?
Code:
if ($_GET['sub'] == 'fritzmueller')
{
	for ($i=1; $i<=4; $i++)
	{	
		if ($_GET['sub2'] == '$i')
		{	
		echo "$kasten_a<br />";
		}
		elseif ($_GET['sub'] == 'fritzmueller')
		{
		echo "<a href=\"index.php?page=ueberuns&amp;sub=fritzmueller&amp;sub2=$i\" onfocus=\"this.blur()\" class=\"nav2\">$kasten</a><br />";
		}
		else
		{
		echo "";
		}
	}
}
 
JA, weil:
Wenn du '$i' schreibst, dann erwartet er dass in $_GET['sub2'] '$i' drin steht. Aber es soll ja der INHALT von $i verglichen werden, deshalb einfach die Hochkommata wegmachen. Also:
PHP:
if ($_GET['sub2'] == $i) //...

Übrigens:
Der Unterschied zwischen ' und ":
' wertet die Variable nicht aus, " schon.
PHP:
$var = "Hallo";
echo "$var Welt";  //Ausgabe: Hallo Welt
echo '$var Welt';  //Ausgabe: $var Welt
echo $var." Welt"; //Ausgabe: Hallo Welt
 
Zuletzt bearbeitet:
Zurück