Volledige versie bekijken : waardes komen niet in Array uit PHP (OPGELOST)
nls61
%Europe/Berlin %641 %2007, 16:23
ik haal variablen op uit een db met nu 15 entry's via loadVars dat werkt
Nu wil ik die variablen in een array steken.
Via verschillende tuts ben ik tot het onderstaande gekomen.
lv = new LoadVars();
rv = new LoadVars();
lv.flashdatabase = db;
lv.flashtabel = tabel.text;
/*Dit komt terug)*/
rv.onLoad = function(success) {
if (success) {
}
maxrows = this.totaalrows
myArray = new Array()
for(i = 0 ;i <= maxrows; i++){
myArray.push(this.id + i)
}
id = myArray;
myarraylength = myArray.length;
}
lv.sendAndLoad("getlast30.php", rv, "POST" );
dat geeft me keurig my arrayLenght terug
en de totaalrows
Maar in de array krijg ik dit:
29,0,29,1,29,2,29,3,29,4,29,5,29,6,29,7,29,8,29,9, 29,10,29,11,29,12,29,13,29,14,29,15
check ik de php is de output wel goed.( de ids zijn inderdaad niet netjes op volg nummer) nl:
&id=5,&id=11,&id=12,&id=13,&id=15,&id=18,&id=19,&id=20,&id=22,&id=23,&id=25,&id=26,&id=27,&id=28,&id=29,&totaalrows=15
Dauntless
%Europe/Berlin %645 %2007, 16:29
Dat is niet de manier om data door te sturen naar flash...
Doe het zo:
$ids=5,11,12,13,...,29&totaalrows=15&
In AS doe je dan "myArray = this.ids.split(",");"
frontLawn.mow()
%Europe/Berlin %647 %2007, 16:32
de variabele 'id' wordt in de string steeds opnieuw gedefinieerd, dus zodra je :
this.id
doet, neemt 'ie de laatste, 29 dus.
je moet de string die je vanuit php terug stuurt aanpassen:
&id1=5,&id2=11,&id3=12,&id4=13 etc...
dan wordt je AS:
myArray.push(this["id" + i]);
of zoals Dauntless zegt dus...
nls61
%Europe/Berlin %659 %2007, 16:50
bedankt Dauntless
Mijn php geeft nu keurig
5,11,12,13,15,18,19,20,22,23,25,26,27,28,29,&totaalrows=15
alleen heb ik nu Nan 16x koma gescheiden.
Dauntless
%Europe/Berlin %661 %2007, 16:51
Dat is omdat je een getal wilt optellen bij een string.
Wat wil je nu juist doen? (The Bigger Picture)
BernardV
%Europe/Berlin %661 %2007, 16:52
Het moet wel geven:
&ids=5,11,12,13,15,18,19,20,22,23,25,26,27,28,29,&totaalrows=15
Zonder de eerste &ids= gaat het niet werken.
nls61
%Europe/Berlin %670 %2007, 17:06
goed dacht ik dus een as vraag te hebben vandaar in dit forum
is het eigenlijk een php vraag geworden.
Hieronder het scriptje
<?php
include_once("login.php");
$dbvelden="id";
$uitkomst = mysql_query ("SELECT $dbvelden FROM $dbtabel");
$nrows = mysql_num_rows($uitkomst);
for ($i=0; $i < $nrows; $i++) {
$row = mysql_fetch_array($uitkomst);
echo $id.$row['id'];
echo ",";
}
echo "&totaalrows=$nrows";
mysql_close ($link);
?>
ik ploeter in tussen nog wat door in de php manual
verdere hulp zeer welkom
nls61
%Europe/Berlin %896 %2007, 22:31
afin ik ben nu ff bezig maar ik kom de kennis te kort om duidelijker te zijn.
Ik krijg 5,11,12,13,15,18,19,20,22,23,25,26,27,28,29,&totaalrows=15 terug
maar wil graag &ids=5,11,12,13,15,18,19,20,22,23,25,26,27,28,29,&totaalrows=15
Ik heb niet de flauwste notie hoe ik het voor elkaar moet krijgen.
Dauntless
%Europe/Berlin %942 %2007, 23:36
Het enige wat er dus ontbreekt is de &ids= vooraan je string... Print dat dan toch gewoon ...? (Je hebt het php script niet zelf geschreven zeker?)
<?php
include_once("login.php");
$dbvelden="id";
$uitkomst = mysql_query ("SELECT $dbvelden FROM $dbtabel");
print "&ids=";
$nrows = mysql_num_rows($uitkomst);
for ($i=0; $i < $nrows; $i++) {
$row = mysql_fetch_array($uitkomst);
echo $id.$row['id'];
echo ",";
}
echo "&totaalrows=$nrows";
mysql_close ($link);
?>
Omdat je ids eindigt met "29,", zal je het laatste element uit de array moeten verwijderen (in Flash) want dat gaat leeg zijn.
nls61
%Europe/Berlin %947 %2007, 23:44
ja helaas toch wel maar zoals je ziet nog veel te leren
Maar in de zoektocht toch al wel weer veel opgepikt wat hiernatuurlijk de oplossing niet was
Daar is zo iets dan toch goed voor.
Harstikke bedankt er is mij weer een boel duidelijk geworden.
Dauntless
%Europe/Berlin %953 %2007, 23:53
Ps: Sorry als m'n post een beetje negatief overkwam... Was zeker niet de bedoeling :)
nls61
%Europe/Berlin %956 %2007, 23:57
Absoluut geen prob ik heb (en wil) gewoon nog (te) veel leren,maar ik begin een beetje een ouwe @#@$%^$ te worden en doe dus baby stapjes.
Ik kan er wel tegen hoor
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.