foreach doet wel heel erg raar

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Michiel

Michiel

08/02/2007 11:44:00
Quote Anchor link
Bij het opvragen van data gebeurd er iets raars. Ik vraag het op via volgende functie

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
function fetch ($query_string)
 {
    $data = mysql_fetch_assoc(mysql_query($query_string));
    print_r($data);
    return $data;
    
}


de print_r geeft me mooi alles terug wat ik wil. Dus dit lijkt te werken.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12

// database connecten
connect("blabla");
$data= fetch("SELECT * FROM gedichten WHERE id='500'");


foreach($data as $key => $row)
{
echo $row['titel'];

}
                


Bij de foreach doet hij echter heeel raar. HIj geeft enkel maar de eerste letter weer van elk onderdeel

Voorbeeld:
Titel= Test
Gedicht = Ik hou van je
Auteur = Koen

=> hij geeft "TIK" terug. terwijl hij de titel zou moeten weergeven. Het zal wel weer iets doms zijn maar toch snap ik totaal niet dat hij een resultaat teruggeeft die echt nergens op slaat.

Kan iemand helpen?
Gewijzigd op 01/01/1970 01:00:00 door Michiel
 
PHP hulp

PHP hulp

20/11/2024 02:31:56
 
Nick Mulder

Nick Mulder

08/02/2007 12:04:00
Quote Anchor link
Waarom geen while loop gebruiken?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$query
= mysql_query("SELECT * FROM gedichten WHERE id='500'");

while($row = mysql_fetch_assoc($query));
{

echo $row['titel'];
}

?>
Gewijzigd op 01/01/1970 01:00:00 door Nick Mulder
 
Michiel

Michiel

08/02/2007 12:07:00
Quote Anchor link
Nou ik moet zelfs geen foreach doen omdat het maar 1 resultaat is. Ik kan gewoon met $data['titel]; etc werken. Toch vind ik het resultaat wel erg vreemd. Ik ben rare foutmeldingen gewoon maar slechts het eerste teken weergeven van elk onderdeel van de array is wel heel erg vreemd.

Ik hoop dat iemand weet wat er precies gebeurd... :s
 
Nick Mulder

Nick Mulder

08/02/2007 12:11:00
Quote Anchor link
Array's enzo uit databases halen doen wel vaker raar zonder while loop...
Voorbeeld:
De db:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
Naam      # Plaats
###############
Piet         # A'dam
Jan          # R'dam


Als je dit ophaald dmv mysql_fetch_array();
Vervolgens de array print
Krijg je zoiets (dacht ik):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
array(
         Piet
         Piet
)
Gewijzigd op 01/01/1970 01:00:00 door Nick Mulder
 
- SanThe -

- SanThe -

08/02/2007 13:18:00
Quote Anchor link
Dit geeft alle waardes weer:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
connect("blabla");
$data= fetch("SELECT * FROM gedichten WHERE id='500'");
foreach($data as $key => $value)
{

     echo $value;
}

?>
 

08/02/2007 14:03:00
Quote Anchor link
Of gewoon met print_r, niet zoveel gebruikte functie om in een keer een hele array naar het scherm te schrijven, alleen bruikbaar voor testdoeleinden maargoed...
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.