/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Hjælp til en for-løkke og en select...
Fra : Lasse Madsen


Dato : 04-05-04 15:29

Jeg har problemer med nedenstående kode.
Problemet er, at den kun viser den første data i arrayet og lader
de andre blive tomme.

Koden er:

$conn = mysql_connect("localhost", $brugernavnet, $adgangskoden);
mysql_select_db($brugernavnet, $conn);
$sql = mysql_query("SELECT navn FROM turen WHERE brugernavn=''");
$numrows = mysql_num_rows($sql);
$i = 0;
$data = mysql_fetch_array($sql);
for($i = 0; $i < $numrows; $i++) {
   echo "<option value=".$data[$i].">".$data[$i]."</option><br/>";
}


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Dan Molberg (04-05-2004)
Kommentar
Fra : Dan Molberg


Dato : 04-05-04 15:35

In news:4097a8c8$0$97089$14726298@news.sunsite.dk,
Lasse Madsen <Lasse@hippie.dk> typed:
> Jeg har problemer med nedenstående kode.
> Problemet er, at den kun viser den første data i arrayet og lader
> de andre blive tomme.
Ikke underligt, det er jo det du beder den om.... du skal selecte alle dem
du vil have vist.

--
MVH Dan Molberg
http://beyond.repair.dk/



Lasse Madsen (05-05-2004)
Kommentar
Fra : Lasse Madsen


Dato : 05-05-04 20:00

Dan Molberg wrote in dk.edb.internet.webdesign.serverside.php:
> Ikke underligt, det er jo det du beder den om.... du skal selecte alle dem
> du vil have vist.

Jeg selecter alle navnene, og den vil kun udskrive et af navnene...

Her er en liste over de ting, jeg har forsøgt:

/////////////////////////////////////////////////////////////////////////////
/////////////
$conn = mysql_connect("localhost", $brugernavnet, $adgangskoden);
mysql_select_db($brugernavnet, $conn);
$res = mysql_query("SELECT id FROM turen WHERE brugernavn=''");
$data = mysql_fetch_array($res);
$numrows = mysql_num_rows($res);
$i = 0;
while ($i < $numrows){
   $sql = mysql_query("SELECT fornavn FROM turen WHERE id='".$id[$i]."'");
   $fornavn = mysql_fetch_array($sql);
   echo "<option value\"".$data[$i].">".$fornavn[$i]."</option><br />";
   $i++;
}

/////////////////////////////////////////////////////////////////////////////
/////////////

$conn = mysql_connect("localhost", $brugernavnet, $adgangskoden);
mysql_select_db($brugernavnet, $conn);
$sql = mysql_query("SELECT fornavn FROM turen WHERE brugernavn=''");
$numrows = mysql_num_rows($sql);
$i = 0;
$data = mysql_fetch_array($sql);
for($i = 0; $i < $numrows; $i++) {
   echo "<option value=".$data[$i].">".$data[$i]."</option><br/>";
}

# data[$i] kommer frem med navnet, men det er kun det første navn, og det
bliver kun vist en gang, resten af felterne forlader den tomme, men den
viser så mange, der ligger i array'et (fx hvis det er Poul, Lars og Lasse,
der
ligger i array'et, viser den Poul 1 gang og viser 2 tomme)...

# data['fornavn'] kommer frem med navnet, men det er kun det første navn, og
det bliver vist de antal gange, der ligger dataer i array'et (fx hvis det er
Poul, Lars og Lasse der ligger i array'et, viser den Poul 3 gange)...



--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Tommy Ipsen (04-05-2004)
Kommentar
Fra : Tommy Ipsen


Dato : 04-05-04 17:19

Lasse Madsen wrote:

> Jeg har problemer med nedenstående kode.
> Problemet er, at den kun viser den første data i arrayet og lader
> de andre blive tomme.
>
> Koden er:
>
> $conn = mysql_connect("localhost", $brugernavnet, $adgangskoden);
> mysql_select_db($brugernavnet, $conn);
> $sql = mysql_query("SELECT navn FROM turen WHERE brugernavn=''");
> $numrows = mysql_num_rows($sql);
> $i = 0;
> $data = mysql_fetch_array($sql);
> for($i = 0; $i < $numrows; $i++) {
>    echo "<option value=".$data[$i].">".$data[$i]."</option><br/>";
> }

mysql_fetch_array() henter blot den næste række i resultatsættet - den
henter ikke *alle* rækker i resultatsættet, hvilket ovenstående kode
forudsætter!

Her er en revideret udgave af din kode:

$conn = mysql_connect("localhost", $brugernavnet, $adgangskoden);
mysql_select_db($brugernavnet, $conn);
$res = mysql_query('SELECT navn FROM turen WHERE brugernavn=''');
while ($data = mysql_fetch_array($res)) {
echo '<option value="' . $data['navn'] . '">' . $data['navn'] .
'</option><br />';
}

Mvh Tommy

Tommy Ipsen (05-05-2004)
Kommentar
Fra : Tommy Ipsen


Dato : 05-05-04 22:50

Lasse Madsen wrote:

> Den henter kun det samme navn...
> Den henter ikke alle de forskellige navne...
>
> ----- Original Message -----
> From: "Tommy Ipsen" <tipsen@imada.sdu.dk>
> To: "Lasse Madsen" <Lasse@hippie.dk>
> Sent: Tuesday, May 04, 2004 8:14 PM
> Subject: Re: Hjælp til en for-løkke og en select...
>
>
>> Hej Lasse
>>
>> $data['navn'] referer til at du benytter SELECT navn FROM tabel... i din
>> sql-sætning - så det skal altså svare til dit feltnavn i MySQL.
>>
>> Mvh Tommy

Det vil være smart, hvis du holder diskussionen i gruppen, da andre så
også kan følge med og du ikke er afhængig af mig for yderligere hjælp!

En mindre rettelse:

$conn = mysql_connect('localhost', $brugernavnet, $adgangskoden);
mysql_select_db($brugernavnet, $conn);
$res = mysql_query('SELECT navn FROM turen WHERE brugernavn=""');
echo 'Antal poster: ' . mysql_num_rows($res) . '<br>';
while ($data = mysql_fetch_array($res)) {
echo '<option value="' . $data['navn'] . '">' . $data['navn'] .
'</option><br />';
}

Hvilket output giver denne udgave?

Mvh Tommy

Lasse Madsen (06-05-2004)
Kommentar
Fra : Lasse Madsen


Dato : 06-05-04 14:52

Tommy Ipsen wrote in dk.edb.internet.webdesign.serverside.php:
> Lasse Madsen wrote:
>
> > Den henter kun det samme navn...
> > Den henter ikke alle de forskellige navne...
> >
> > ----- Original Message -----
> > From: "Tommy Ipsen" <tipsen@imada.sdu.dk>
> > To: "Lasse Madsen" <Lasse@hippie.dk>
> > Sent: Tuesday, May 04, 2004 8:14 PM
> > Subject: Re: Hjælp til en for-løkke og en select...
> >
> >
> >> Hej Lasse
> >>
> >> $data['navn'] referer til at du benytter SELECT navn FROM tabel... i din
> >> sql-sætning - så det skal altså svare til dit feltnavn i MySQL.
> >>
> >> Mvh Tommy
>
> Det vil være smart, hvis du holder diskussionen i gruppen, da andre så
> også kan følge med og du ikke er afhængig af mig for yderligere hjælp!
>
> En mindre rettelse:
>
> $conn = mysql_connect('localhost', $brugernavnet, $adgangskoden);
> mysql_select_db($brugernavnet, $conn);
> $res = mysql_query('SELECT navn FROM turen WHERE brugernavn=""');
> echo 'Antal poster: ' . mysql_num_rows($res) . '<br>';
> while ($data = mysql_fetch_array($res)) {
> echo '<option value="' . $data['navn'] . '">' . $data['navn'] .
> '</option><br />';
> }
>
> Hvilket output giver denne udgave?
>
> Mvh Tommy

Det hjalp...


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste