array plus data uit databse halen
ik had het volgende:
Code (php)
Nou heb ik daar het volgende van gemaakt:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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..";
}
?>
$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?
error_reporting(E_ALL);
zet dit even bovenaan je pagina en post je foutmelding.
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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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..";
}
?>
$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..";
}
?>
echo?
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.