03. maj 2008 - 18:00
Der er
11 kommentarer og 1 løsning
array push
Jeg har noget fra databasen jeg skal have puttet i et array. Jeg definere array'et først cate = new Array(); while ($row = @mysql_fetch_assoc($result_k_sted)) { ?> <script type="text/JavaScript"> cate[<?php echo $tel?>].push(<?echo $row["foreningensnavn"]?>); </script> <?php Der kommer ikke noget i array'et Følgende udskriver undefined window.alert(cate[0]); Jeg ønsker at tilføje alle felter fra database kaldet, hvad gør jeg galt.
Annonceindlæg tema
Hvorfor putter du det ikke bare i et array i PHP?
$res = mysql_fetch_array($result_k_sted); echo "$res['foreningensnavn']"; Ovenstående vil tilføje alle de fundne værdier fra SQL-forespørgslen og smide dem i et array ved navn $res.
Hvis du senere får brug for at skrive en værdi i en Alert-boks, så kan du muligvis gøre således (Ikke testet): <script type="text/javascript"> alert('<?php print $res[foreningensnavn]; ?>'); </script>
Jeg har brug for et multi array i java script. Det skal bruges i noget google maps.
<ole> <? function getJSarray() { $a = array(); $result_k_sted = [MYSQL_QUERY]; while ($row = @mysql_fetch_assoc($result_k_sted)) { $a[] = "['".$row["felt_0"]."', '".$row["felt_1"]."', '".$row["felt_2"]."']"; } return implode(",", $a); } ?> <script type="text/JavaScript"> var cate = new Array( <?=getJSarray()?> ); alert(cate[0][1]); </script> /mvh </bole>
Højrehånden holdt måske weekend, Ole? Man bør vel ikke putte ukendt tekst i en javascript-streng uden at javascript-encode det.
Du får lige al koden, den er lidt rodet, men kan pt. ikke finde ud af at lave det bedre. Jeg finder først hvilke mødesteder klubberne bruger, derefter hentes mødesteder og gemmer positionen, derefter hentes hvilke klubber på adressen Limit er kun pga test. $parser->D->dbSetTable("fritid_stamoplysninger"); // hent mødesteder $result_sted = $parser->D->dbQuery("select modestedid ,count(modestedid) from " . $parser->D->table . " where modestedid > 1 GROUP BY modestedid LIMIT 3"); $tel = 0; while ($row = @mysql_fetch_assoc($result_sted)) { $parser->D->dbSetTable("fritid_modested"); // hent mødesteder adresse $result_k_adr = $parser->D->dbQuery("select * from " . $parser->D->table . " where modestedid = '".$row["modestedid"]."' "); $row = @mysql_fetch_assoc($result_k_adr); $lat_array[] = "\"".$row["lat"]."\""; $lon_array[] = "\"".$row["lon"]."\""; $navn_array[] = "\"".$row["foreningensmodested"]."\""; $parser->D->dbSetTable("fritid_stamoplysninger"); // hent klubber hver sted $result_k_sted = $parser->D->dbQuery("select * from " . $parser->D->table . " where modestedid = '".$row["modestedid"]."' "); while ($row = @mysql_fetch_assoc($result_k_sted)) { ?> <script type="text/JavaScript"> cate[<?php echo $tel?>].push(<?php echo $row["foreningensnavn"]?>); </script> <?php } $tel = $tel+1; }
Grunden til jeg valgte cate som java script array er at jeg ikke kan finde ud at lave et php multi array til java script
Erik >> Ja, det bør man, hvis man ikke holder styr på indholdet under indsætning. Det er dog en større omgang - og afhængig af det valgte tegnsæt. steen-h >> Jeg skal ikke bruge resten af koden til noget. Du skal bare sætte koden, jeg skrev, ind. Så kan du se i View->Source, hvad der udskrives =)
olebole du må undskylde jeg skulle lige sove på det før jeg kunne overskue koden. Jeg har rettet følgende, for at google maps kan lide det. $a[] = "\"".$row["foreningensnavn"]."\""; og så skulle jeg gemme et array for hver gennemløb <script type="text/JavaScript"> var cate = new Array( <?=getJSarray($row["modestedid"])?> ); cat[cat.length] = cate; </script> Tak for hjælpen, lægger du et svar olebole.
Okay - jeg havde fået forståelsen af, det skulle være et flerdimensionelt array. Derfor anvendte jeg koden: $a[] = "['".$row["felt_0"]."', '".$row["felt_1"]."', '".$row["felt_2"]."']"; - som svarer til, at JS-array'et vil se ud noget à la dette (hvis der altså var tale om personinformationer): var cate = new Array( ['OleBole', '52', 'mand', 'kodehovede'], ['BimmerMand', '12', 'mand', 'skoleelev'] ); - men bare du finder ud af det, er jeg tilfreds =)
Vi tilbyder markedets bedste kurser inden for webudvikling