25. april 2005 - 09:36
Der er
15 kommentarer og 1 løsning
Hjælp til hentning af flere id'er?
Hej eksperter. Håber i lige kan hjælpe mig her: hvordan får jeg denne kode til at hente alle id'er i min db ? <?php require "db.php"; $result = mysql_query("SELECT email, navn FROM kontakt"); $personer = mysql_fetch_array($result, MYSQL_ASSOC); mysql_free_result($result); ?>
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?
25. april 2005 - 09:44
#1
Ved at loope over dem alle: <?php require "db.php"; $result = mysql_query("SELECT email, navn FROM kontakt"); $personer = array(); while ($person = mysql_fetch_assoc($result, MYSQL_ASSOC)) { $personer[] = $person; } mysql_free_result($result); ?> -- Morten Barklund
25. april 2005 - 09:46
#2
okay, men så kommer den med fejl: Warning: Wrong parameter count for mysql_fetch_assoc() det er fordi jeg require den fil et andet sted
25. april 2005 - 09:48
#3
Hov, jeg blandede også lidt sammen. Fjern andet argument til mysql_fetch_assoc: <?php require "db.php"; $result = mysql_query("SELECT email, navn FROM kontakt"); $personer = array(); while ($person = mysql_fetch_assoc($result)) { $personer[] = $person; } mysql_free_result($result); ?> -- Morten Barklund
25. april 2005 - 09:50
#4
Ja okay, nu henter den i hvert fald lige så mange gange at der er et id.. men i stedet for at skrive emailen eller navnet fra personen i min DB skriver den bare Array
25. april 2005 - 09:53
#5
$personer er jo nu et array af arrays. Altså hver række er et array med to elementer. Du kan udskrive det som: <?php require "db.php"; $result = mysql_query("SELECT email, navn FROM kontakt"); $personer = array(); while ($person = mysql_fetch_assoc($result)) { $personer[] = $person; } mysql_free_result($result); ... foreach ($personer as $person) { printf ("%s <%s><br />", $person['name'], $person['email']); } ?>
25. april 2005 - 09:58
#6
ja .. for jeg skal have dem udskrevet sådan her: <select input type="select" name="person"> <?php foreach($personer as $email => $navn ) { print '<option value="'.$email.'">'.$navn.'</option>'; } ?> </select>
25. april 2005 - 10:01
#7
Hvis du synes - så skal array'et jo laves på den rigtige måde: while ($person = mysql_fetch_assoc($result)) { $personer[$person['email']] = $person['name']; } Men jeg ved nu ikke lige hvorfor du synes det _skal_ udskrives sådan - det må man vel selv om :) -- Morten Barklund
25. april 2005 - 10:08
#8
det er mig ligegyldigt hvordan det bliver udskrevet hehe, det skal bare være i en dropdown menu på den anden side så man kan vælge hvem man gerne vil skrive til i min mail form :D
25. april 2005 - 10:11
#9
Jamen så kunne du jo bare have ændret dit script. Med ovenstående skulle du have rigeligt muligheder :)
25. april 2005 - 10:15
#10
lige nu der henter den fint navnet i id=1 og i id=5 .. dvs, det første og sidste id.. men ikke fra 2,3,4 ?
25. april 2005 - 10:16
#11
Okay? Er du sikker på, at alle har en email og at ingen har den samme email?
25. april 2005 - 10:49
#12
Jo da.. det er jo lige det som var fejlen ;).. der var en jeg bare havde kopiret i db :D
25. april 2005 - 10:52
#13
Så det virker nu? Du har jo valgt at have dem, så du har email som nøgle i et array - og så kan du kun have én af hver email.
25. april 2005 - 10:54
#14
Nemlig, og det er jo os det som der skal være :D.. det virker vist godt ja ;). Jeg siger mange tak!
25. april 2005 - 10:54
#15
-lukket-
25. april 2005 - 11:00
#16
Tark for points :)
Vi tilbyder markedets bedste kurser inden for webudvikling