array plus data uit databse halen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Hugo L

Hugo L

13/05/2008 13:15:00
Quote Anchor link
Hoi hoi,

ik had het volgende:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$products
= array();
$products[1] = array("id"=>1,"name"=>"A Bar of Soap","price"=>2.00);
$products[2] = array("id"=>2,"name"=>"Shampoo","price"=>4.80);
$products[3] = array("id"=>3,"name"=>"Pizza","price"=>12.95);
?>


Nou heb ik daar het volgende van gemaakt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$products
= array();
//$products[1] = array("id"=>1,"name"=>"A Bar of Soap","price"=>2.00);
//$products[2] = array("id"=>2,"name"=>"Shampoo","price"=>4.80);
//$products[3] = array("id"=>3,"name"=>"Pizza","price"=>12.95);


if(isset($_GET['id'])){

echo $sql = "SELECT * FROM product WHERE id='".$_GET["id"]."'";
    $result = mysql_query($sql);
    while ($products = mysql_fetch_array($result))
    {
echo $products['bestand'];}
    {
echo $products['omschrijving'];}
    {
echo $products['prijs'];}

}
else{
echo "foutje..";
}

?>


Dus wil dat die mijn producten uit me database haalt..
maar krijg het niet voor elkaar.. steeds foutje..
doe ik iets fout of zie ik iets over het hoofd?
 
PHP hulp

PHP hulp

28/03/2024 22:32:39
 
Kalle P

Kalle P

13/05/2008 14:57:00
Quote Anchor link
ini_set('display_errors', 1);
error_reporting(E_ALL);

zet dit even bovenaan je pagina en post je foutmelding.
 
Robert Deiman

Robert Deiman

13/05/2008 15:25:00
Quote Anchor link
@Hugo

Dat betekend dus dat $_GET['id'] niet is geset, en dus niet bestaat. Als die wel bestond dan zou die 'foutje' niet weer geven. J emoet die pagina aanroepen, en daarachter ?id=1 neerzetten om product 1 weer te geven.

Daarnaast moet je wel die while lus aanpassen:

Je begint meteen na de afsluitende ) van de while met een { en die sluit je maar 1 maal af, als alles wat in die while lus moet komen is uitgevoerd. Dus dan ziet jou code er zo uit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$products
= array();
//$products[1] = array("id"=>1,"name"=>"A Bar of Soap","price"=>2.00);
        //$products[2] = array("id"=>2,"name"=>"Shampoo","price"=>4.80);
//$products[3] = array("id"=>3,"name"=>"Pizza","price"=>12.95);


if(isset($_GET['id'])){

echo $sql = "SELECT * FROM product WHERE id='".$_GET["id"]."'";
    $result = mysql_query($sql);
    while ($products = mysql_fetch_array($result)){
        echo $products['bestand'];
        echo $products['omschrijving'];
        echo $products['prijs'];
        }

    else{
        echo "foutje..";
        }

?>
 
- SanThe -

- SanThe -

13/05/2008 15:27:00
Quote Anchor link
echo $sql = "SELECT * FROM.........

echo?
 
Kalle P

Kalle P

13/05/2008 15:32:00
Quote Anchor link
@robert
doe t dan gelijk helemaal goed...

id is numeriek (iig 99%, vrij dom om t niet te doen), dus ctype_digit() over get id heen halen. (tegen injection)

En je veld in de db auto_increment zetten en die single quotes weghalen om die get in je query.
 



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.