prob mit if/else schleife(php)

Seite 1 von 2 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/prob_mit_if_else_schleifephp_95503/page_1 - zur Vollversion wechseln!


Ezekiel schrieb am 13.10.2003 um 11:05

Code: PHP
if ($i<6) {
 $i++;
}
else {
 echo "<br>";
 $i=0;
}

diese schleife befindet sich innerhalb einer while schleife die alle bilder eines verzeichnisses ausliest, und sollte eigentlich nach jedem 6. bild einen zeilenumbruch produzieren - tut sie aber nicht (sie macht eigentlich gar nichts, es kommt auch keine fehlermeldung). :confused:
ich hab keine ahnung wieso - kann mir wer helfen ? :o

btw., tut mir leid dass ich dieses forum im moment mit etlichen vermeintlichen anfängerfragen ueberflute, aber ich steh ziemlich oft an und weiss nicht wieso dinge nicht funktionieren ;).

tia, ezekiel


pandora schrieb am 13.10.2003 um 11:42

ich frag mal einfach: hast du $i vorher einen wert gegeben?


Obermotz schrieb am 13.10.2003 um 11:46

Vorher $i mit 0 oder 1 deklarieren. Womöglich verwendest du $i bei der while-Schleife als Zaehlervariable? Außerdem ist ifthenelse kein Schleifenkonstrukt ;)


watchout schrieb am 13.10.2003 um 13:26

Zitat von Oper8or
ifthenelse kein Schleifenkonstrukt ;)
korrekt, um das nochmal herauszuheben


watchout schrieb am 13.10.2003 um 13:32

Zitat von Ezekiel
es kommt auch keine fehlermeldung
solange du an einem script programmierst solltest du am anfang die zeile
Code: PHP
error_reporting(E_ALL);
ins script schreiben, dann werden nämlich auch notices und warnings angezeigt, die du normalerweise nicht siehst :rolleyes:

ausserdem solltest du dir etwas zulegen das man programmierstil nennt...


insomnia schrieb am 14.10.2003 um 09:26

wie wärs denn mit einem hübschen "while"-konstrukt?


x3 schrieb am 14.10.2003 um 09:31

macht er nun gar nix oder
macht er nur das br nicht?!?

also ich meinen ob er die bilder einfach in einer wurscht hinschreibt oder einfach nix macht!


Maehmann schrieb am 14.10.2003 um 17:57

Code:
for($i = 1; $i <= 3; $i++){
	echo "	<tr>\n";
	for ($k = 1; $k <= 3; $k++){
		if ($symbol = mysql_fetch_assoc($result)){
			echo "<td><img src=\"$symbol[dateiname]\">\n</td>\n";
		}
		else{
			echo "<td> </td>\n";
		}
	}
	echo "	</tr>\n";
}

sodala ... hoffe hab jetzt alles so vereinfacht, dass man sieht wie ichs mach ;)

das erzeugt 3 Zeilen mit je drei spalten und füllt sie mit bildern ;)
*hth*


mat schrieb am 14.10.2003 um 21:20

1.) string "sammeln" -> zum schluss dann 1x echo.. performed besser
2.) abfrage eines feldes.. mysql_result verwenden

sonst passts :)


vossi schrieb am 14.10.2003 um 21:33

was mit output buffering erhöht das auch die performance (ist ja auch 1 * ausgeben im endeffekt)

warum unbedingt mysql_result .. ich benutze seit Jahren mysql_fetch_row .. hat das was mit Performance zu tun oder ist das eher nur dein Geschmack


Maehmann schrieb am 14.10.2003 um 22:25

also ich denk mal, dass bei so miniscripts die performance ziemlich egal sein sollt ;)
das mit dem buffering war mir bis jetzt immer zu mühsam ;)
Vielleicht werd ich das beim nächsten Projekt amal ausprobieren ^^


mat schrieb am 15.10.2003 um 19:20

Zitat
warum unbedingt mysql_result .. ich benutze seit Jahren mysql_fetch_row .. hat das was mit Performance zu tun oder ist das eher nur dein Geschmack

bei einem feld is _result das schnellste.. bei mehreren felder _fetch_row.. am langsamsten is _fetch_assoc


Maehmann schrieb am 15.10.2003 um 19:36

Zitat PHP Manual:
"Zu betonen ist, dass der Gebrauch von mysql_fetch_assoc() nicht signifikant langsamer ist als mysql_fetch_row(), obwohl die Funktion einen sichtlichen Mehrwert bietet."


mat schrieb am 15.10.2003 um 19:50

nicht signifikant langsamer

same as echo - bei einem aufruf nicht. bei 1000 aufrufen siehts anders aus. egal, keine lust hier papierkugeln zu zählen.


vossi schrieb am 15.10.2003 um 23:30

maybe kannst du deine behauptung auch durch Fakten unterlegen (Laufzeitbewertung usw.) wäre nett mal genauer bescheid zu wissen ;)




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025