20. maj 2006 - 15:25
Der er
31 kommentarer og 1 løsning
skal have ID til at følge med mit array
jeg har fra mysql udskrevet nogle data hvor jeg får ID og Navn . min kode sorterer mine data så de er alfabetisk sat op, men jeg mangler at få min ID værdi med. En som ved hvad man gøre?? KODEN --->> $navn[] = 'Nikolaj'; $navn[] = 'Brian'; $navn[] = 'Lars'; $navn[] = 'Jens'; sort($navn); reset($navn); while (list(, $value) = each($navn)) { echo "Value: $value<br />\n"; }
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
Går ud fra at det er key du vil have fat i
foreach ($navn as $key => $value) { echo "Id:". $key ." Navn: ".$value; }
nu henter den array-id $navn[] = $fornavn; --- gir ---> $navn[] = 'Nikolaj'; udover $fornavn har jeg $navnid som jeg gerne vil have ind i array'et .. med? fx $navn[] = $fornavn + $navnid; altså $navnid skal med...
Men jeg ved jo ikke hvor du gemmer dit id. Når du henter fra MySQL: $navn[$row['id']] = $row['navn'];
$navn[$navnid] = $fornavn; sådan her, er med på ideen, men flere $navn[] har samme ID.. så ved at sætte $navnid ind i [] så kommer ikke alle navne frem (dem som deler samme ID)
Så skal du over i noget multidimissionelt: $navn[][$navnid] = $fornavn;
<ole> ID = identifikation Flere ting kan ikke dele ID, så der er en arkitektonisk fejl i din applikation :) /mvh </bole>
stim > ja.. tror jeg også... men hvordan får jeg udskrevet det i foreach sætningen så?
Det kunne väre gruppeID ;o)
Men eftersom variabelen hedder $navnid, er det nok ikke det...
"Så drejer hjulet, mine damer og herrer - og vi gør opmærksom på, at næste spørgsmål udløser en bamse fra nederste hylde" ;D Lidt kode ville nok være en meget god måde at få quiz'en kortet en anelse =)
har ændret det til sådan her.. men er lidt væk mht hvordan jeg nu for indholdet vist, for pt viser den kun array efter at jeg har tilføjet [$id] på $navn[] $navn[][$id] = $kategori; foreach ($navn as $key => $value) { echo '<a href="navn.php?id='.$nid.'">'.$value.'</a>'; }
Taget fra linket jeg skrev tidligere: /* foreach example 4: multi-dimensional arrays */ $a = array(); $a[0][0] = "a"; $a[0][1] = "b"; $a[1][0] = "y"; $a[1][1] = "z"; foreach ($a as $v1) { foreach ($v1 as $v2) { echo "$v2\n"; } }
Så din skal se ud noget á la dette: $navn[$id][] = $kategori; foreach ($navn as $value) { foreach ($value as $key => $value2) { echo "<a href=\"navn.php?id=\"".$key."\">".$value2."</a>"; } }
value2 er fin, men key er lig null.. så der må være en fejl
Hold nu op... Kom med noget kode... Hvad er $kategori???? Som olebole skrev: "Så drejer hjulet, mine damer og herrer - og vi gør opmærksom på, at næste spørgsmål udløser en bamse fra nederste hylde" ;D Lidt kode ville nok være en meget god måde at få quiz'en kortet en anelse =)
hov.. skrivefejl... havde kommet til at skrive kategori i stedet.. det er stadig $navn[$id][] = $fornavn; min fejl!! :/ men der kommer stadig ikke noget i $key.. den samlede er lige nu: $navn = array(); $navn[$id][] = $fornavn; $navn[$id][] = $fornavn; $navn[$id][] = $fornavn; sort($navn); reset($navn);
foreach ($navn as $value) { foreach ($value as $key => $value2) { echo "<a href=\"navn.php?id=\"".$value."\">".$value2."</a><br>"; } }
Og hvis du ändre $value til $key? I din sti.
foreach ($navn as $key => $value) { foreach ($value as $value2) { echo "<a href=\"navn.php?id=\"".$key."\">".$value2."</a><br>"; } }
Eller: $navn[][$id] = $fornavn; foreach ($navn as $value) { foreach ($value as $key => $value2) { echo "<a href=\"navn.php?id=\"".$key."\">".$value2."</a><br>"; } } Giver samme resultat men er mere struktureret.
$key er tilsyneladende tom. den henter vist ikke [$id] fra $navn[][$id]
pröv at udskrive din array: echo"<pre>"; print_r($navn); echo"</pre>";
echo "<a href=\"navn.php?id=".$key."\">".$value2."</a><br>";
Mig der havde skrevet forkert i stien :(
juhu :) nu er dét plads, men den har mistet sin alfabetiske rækkefølge.. <? $navn[][1] = 'Nikolaj'; $navn[][1] = 'Niholas'; $navn[][2] = 'Bo'; $navn[][2] = 'Brian'; $navn[][3] = 'Lars'; $navn[][4] = 'Jens'; sort($navn); reset($navn); foreach ($navn as $value) { foreach ($value as $key => $value2) { echo "<a href=\"navn.php?id=".$key."\">".$value2."</a><br>"; } } ?> sort() må åbenbart være påvirket af at der er sat [$id] på array'et. Igen, er lidt i syv sind om hvordan det kan løses.. gir flere point :)
function natsort2d(&$aryInput) { $aryTemp = $aryOut = array(); foreach ($aryInput as $key=>$value) { reset($value); $aryTemp[$key]=current($value); } natsort($aryTemp); foreach ($aryTemp as $key=>$value) { $aryOut[$key] = $aryInput[$key]; } $aryInput = $aryOut; } natsort2d($navn); foreach ($navn as $value) { foreach ($value as $key => $value2) { echo "<a href=\"navn.php?id=".$key."\">".$value2."</a><br>"; } }
nice.. stim du er en guttermand :) lig et svar.. så smider jeg li nogle ekstra point i, imens
De point der var givet i starten, er nok til mig ;o)
Vi tilbyder markedets bedste kurser inden for webudvikling