problem mit array zur variablenausgabe
simon
- php
Ich hab folgende schleife geschrieben um bilder die in
einem array gespeichert sind auszugeben...
for($i=0;$i<$cnt-1;$i++)
{
if( $daten[$i][0] != "")
{
echo "<d> \n";
echo " <a href="javascript:open_img('".$daten[$i][0]."_kl.jpg',193,400);">".$daten[$i][0]."</a> \n";
echo " <a href="config.php?del=1&id=".$i."">Löschen</a> \n";
echo " <pre> \n";
echo " Bildunterschrift: ".$daten[$i][1]. " \n";
echo " Bildtext: ".$daten[$i][2]. " \n";
echo " Kategorie: ".$cat[$daten[$i][3]]." \n";
echo " </pre> \n";
echo "</d> \n\n";
}
}
Die ausgabe sieht nun so aus...
bild2 Löschen
Bildunterschrift: comment2.1
Bildtext: comment2.2
Kategorie: *1
bild1 Löschen
Bildunterschrift: comment3.1
Bildtext: comment3.2
Kategorie: Cat2
Nun die frage wie kommt es das nur beim letzten eintrag
die kategorie angezeigt wird???
(*1 hier sollte eigentlich Catx stehen.)
Online unter: www.moks-artvan.de/gal/config.php
Script: www.moks-artvan.de/gal/config.txt
Nun die frage wie kommt es das nur beim letzten eintrag
die kategorie angezeigt wird???
(*1 hier sollte eigentlich Catx stehen.)
hm, vermutlich versuchst du gerade, sowas wie ne bildergalerie zu bauen, richtig?
hm, also bis dato konnte ich nur herausfinden, dass die übergebenen daten von deiner pictures.dat-datei als strings und nicht etwa als values aka integer-zahlenwerte eingelesen werden.
ein versuch mit strval($daten[$i][3]) schlug leider fehl.
vielleicht findet sich nachher noch was.
cu, w0lf.
ein versuch mit strval($daten[$i][3]) schlug leider fehl.
vielleicht findet sich nachher noch was.
also bei mir funktioniert's jetzt.
folgende dinge habe ich ersetzt:
statt der do-while-schleife am anfang gibts jetzt eine for-schleife in der form: for($cnt = 0; $cnt < sizeof($picfile); $cnt++)
statt dem $daten[$cnt] = $bild = ... durchpipen hab ich selbiges entfernt
$daten[$i][3] ist eine STRING-, keine INTEGER-variable - deswegen hab ich das php-handbuch ein bisserl zu rate gezogen, und deswegen wird $daten[$i] erst in eine extra variable ($v) entleert und dann mit 0 addiert: $v[3] += 0;
dadurch ist $v[3] dann automatisch eine integer-variable (dank php)
das komplette script mit allen änderungen (aber auch hässlichen debug-tests) findest du hier:
http://www.f2w.de/prjs/selfhtml_array_prob2.phps
die angesprochene hilfreiche seite im php-handbuch gibts hier:
http://de.php.net/manual/de/language.types.type-juggling.php
cu, w0lf.
Hi,
- $daten[$i][3] ist eine STRING-, keine INTEGER-variable - deswegen hab ich das php-handbuch ein bisserl zu rate gezogen, und deswegen wird $daten[$i] erst in eine extra variable ($v) entleert und dann mit 0 addiert: $v[3] += 0;
Hast Du mal "(int)$var" versucht, um explizit den Varaiablentyp Integer festzulegen?
Gruesse Joachim
Vielen dank, ich teste gleich mal ob alles so funktioniert wie ichs
brauche...
Und vielen dank nochmal für die optimierung der schleifen zum einlesen der dateien.