Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Arrayprobleme ? Wieso ? [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Arrayprobleme ? Wieso ?


 
IceT
19-07-2002, 20:49 
 
Hallo,
Ich komme einfach nicht weiter:
Hier erstmal mein Code:

include ("../dbconnect.php");
$spiele=array();
$spieler=array();
$tipps=array();
$resul='';
$row='';

$resul=mysql_query('SELECT * FROM spieltag');
while ($row=mysql_fetch_array($resul)) {
for ($i=1;$i<10;$i++) {
$spiele=array($row[('torh'.$i)],$row[('torg'.$i)]);
}
}
mysql_free_result($resul);

Soweit so gut !
Nun möchte ich das Ergebnis aus $spiele ausgeben. Wenn ich nach der Zeile $spiele=array($row[...... ein
echo "$spiele[0]";
echo "$spiele[1]";
einfüge, bekomme ich die Daten aus dem array angezeigt. Hier in meinem Fall 111111111222222222. Das funktioniert einwandfrei.
Nun steht das echo aber direkt in der Schleife.
Setze ich ein Echo vor die mysql_free Zeile, also direkt nach der Schleife, so kann ich nicht mehr auf die Variable $spiele zugreifen und ich bekomme lediglich 11 angezeigt.
Es scheint tatsächlich so, als ob nur in der Schleife das array $spiele gültig wäre.

Wie aber mache ich es nun, dass ich auch noch später ausserhalb der Schleife auf das Array zugreifen kann ???
Bitte helft mir, ich verzweifle langsam.

Vielen Dank
IceT

 
GWC
20-07-2002, 15:49 
 
Hi,
also dass du nur innerhalb deiner Schleife auf $spiele zugreifen kannst, liegt wahrscheinlich daran, dass $spiele nach jeder Schleife ja wieder nen anderen Inhalt erhält :)
Also das müsste ja dann 9 (oder 10?) mal der Fall sein.

Falls die for-Schleife dazu da ist, nur 9 Einträge aus der DB zu holen, mach das besser so:


...
$resul=mysql_query('SELECT * FROM spieltag LIMIT 0,9');
...


$spiele würde ich gleich in einzelne Variablen zerteilen.
Also z.B. so:


include ("../dbconnect.php");
$spiele=array();
$spieler=array();
$tipps=array();
$resul='';
$row='';
$i = 1;

$resul=mysql_query('SELECT * FROM spieltag LIMIT 0,9');
while ($row=mysql_fetch_array($resul)) {
$torh[$i] = $row[('$torh'.$i)];
$torg[$i] = $row[('$torg'.$i)];
$i++;
}
mysql_free_result($resul);


$torh und $torg ist dann im restlichen Script verfügbar und mit ner Schleife für $i abrufbar ($torh[1] bis $torh[9] und $torg[1] bis $torg[9]).

Weiss zwar net ob alles genauso funkt wie ich mir das vorgestellt hab, hoffe aber erst mal, dass es dir weiterhilft :)

MfG

 
IceT
21-07-2002, 01:58 
 
Danke erstmal für deine Antwort:
Hab das jetzt so gemacht:


$res=mysql_query('SELECT * FROM spieltag LIMIT 0,9');
while ($row=mysql_fetch_array($res)) {
$torh[$i] = $row[('$torh'.$i)];
$torg[$i] = $row[('$torg'.$i)];
$i++;
}
for ($i=1;$i<10;$i++) {
echo "$torh[$i]";
}

mysql_free_result($res);

Geht aber leider immer noch nicht irgendwie !
Jetzt bekomme ich gar kein Ergebnis mehr.
Er zeigt nichts mehr.
Was kann da noch falsch sein ??

 
GWC
21-07-2002, 02:52 
 
Hi,
hast du $i am Anfang definiert?
Also $i = 1;

Wenn nein, versuchs mal so.
Auch wenns damit net funzt, wir werden schon noch ne Lösung finden :)

MfG

 
IceT
21-07-2002, 10:42 
 
ja hab ich gemacht !
Sorry, dass ich das nicht ins script gepostet habe.

 
GWC
21-07-2002, 15:27 
 
np.
Hast du IRC oder ICQ?
Da kann man das glaub ich besser besprechen als hier im Forum.

MfG

 
IceT
21-07-2002, 17:44 
 
ICQ 31915833


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:10 Uhr.