In Funktionen array übergeben
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
array
ausgeben
behandeln
code
ergebnis
fachbegriff
falsch mache
funktion
inhalt
klappen
obige bemerkung
probier
problem
spalte
string
teil
total vergessen
url
zeile
-
<?php function getCodesAsArray() { global $cookies; $abfrage = "SELECT * FROM accounts WHERE playername = '$_COOKIE[$cookies]'"; $ergebnis = mysql_query($abfrage); $row = mysql_fetch_object($ergebnis); if($row){ $abfrage = "SELECT * FROM invitecodes WHERE accid = '$row->id'"; $ergebnis = mysql_query($abfrage); $arr = array(); while($row = mysql_fetch_array($ergebnis)) { $arr[] = $row; } return $arr; } else { return 0; } } <p><? $array = getCodesAsArray() . "<br>"; ?><p> <p><? echo $array[0] . "<br>"; ?><p> ?>
Hi, ich möchte gerne einen array übergeben aber es kommt immer "Array" bzw. bei $array[0] ein "A" raus.. k.a. wieso.
Also was ich konkret will ist.. ich habe Tabellen mit Namen, Einladungscodes, und andereSachen wie "aktiviert"(Sry ich habe leider die Fachbegriffe vergessen.. lange nicht mehr damit gearbeitet). Darum möchte ich z.B. $array[0][0] $array[0][1] usw.. aber wenn das nicht geht reicht mir aus wenn ich nur die codes lesen kann und nur ein dimensionales Array habe.
Das da oben funktioniert nicht. Das einzige was funktioniert ist das
$arr[] = $row['invitecode'];
Aber das geht wenn ich echo $arr[0]; in der funktion mache aber nicht wenn ich $array = getCodesAsArray() benutze.
Beitrag zuletzt geändert: 7.10.2011 17:17:21 von bilo -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Du verwandelst den Array zu einem String, weil du das "<br>" anhängst und ein Array als String "Array" entspricht. Strings sind wie char Arrays und deshalb ist $array[0] das A von "Array<br>".
Was willst du mit dem <br> anhängen bewirken? -
bilo schrieb:
<?php <p><? $array = getCodesAsArray() . "<br>"; ?><p> <p><? echo $array[0] . "<br>"; ?><p> ?>
Ich sehe diesen Teil des Codes kritisch:
Du versuchst, einen Array (getCodesAsArray()) wie einen String zu behandeln und "<br>" anzuhängen.
Dadurch dürfte $array vermutlich auch ein string und kein Array sein, oder verstehe ich das gerade falsch ???
Andererseits erzeugst du ja auch zweidimensionale arrays, wenn du "$arr[] = $row;" machst, fügst du in $arr[0] ja ein Array ein, bedeutet, wenn du $array[0] ausgeben willst, dann ist dies natürlich immer noch ein array. Probier mal nur $arr[] = $row['code'} (oder wie auch immer die Spalte heißt. Dann sollte es klappen.
Gruß,
Sky
Edit: So, reimann war schneller ;)
Also, ich denke, dass das <br> einfach doppelt ist + Siehe obige bemerkung. -
Achso!!!!!!!
Vielen Dank!!!
Ich versuche schon seit gestern zu kapieren was ich falsch mache.
Das lag daran das ich erste mal in der Funktion alles ausgegeben habe. Deswegen habe ich dahinter <br> gesetzt. Ich habe total vergessen das <br> mit in der Variable $array gespeichert. Wird.. oh man :D
mittlerweile sieht mein code so aus
function getCodesAsArray() { global $cookies; $abfrage = "SELECT * FROM accounts WHERE playername = '$_COOKIE[$cookies]'"; $ergebnis = mysql_query($abfrage); $row = mysql_fetch_object($ergebnis); if($row){ $abfrage = "SELECT * FROM invitecodes WHERE accid = '$row->id'"; $ergebnis = mysql_query($abfrage); $num = mysql_num_rows($ergebnis); for($i = 0; $i < $num; $i++) { $arr[$i] = mysql_fetch_array($ergebnis); } return $arr; } else { return 0; } }
finde ich bisschen schöner :P
Beitrag zuletzt geändert: 7.10.2011 17:38:53 von bilo -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage