Gegevens uit een database halen
Ik heb reeds een database met mysql gemaakt, en wil bepaalde gegevens er uit op vragen.
Ik ben niet echt ervaren maar wil het toch leren.
De kolomen zijn, Id, Soort, Merk, Chassis, Klacht en Oplossing. Nu wil ik graag in een invul vak bv SONY selecteren als merknaam, nu zal alles van het merk SONY in beeld moeten komen.
Het volgende heb ik staan maar werkt niet.:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?
$a = Gerard;
$b = van;
$c = Lierop;
$aantal = 11;
print("Welkom ". $a ." ". $b ." " . $c ."...!");
print("<br><br>");
//------------------------------
//----------------------------------------------------------
$tabel = "Reparatie";
$Merk = "Sony";
$db = @mysql_connect("localhost","test","test") or Die (mysql_error()); //login gegevens
@mysql_select_db("radiobood",$db) or Die ("Error: " . mysql_error()); //database selectie
$sql = " SELECT * FROM ". $tabel ." WHERE Merk=".$Merk; //database query WHERE Merk!= Merk ORDER BY Sony ASC";
$result = @mysql_query($sql,$db) or Die(mysql_error()); //gegevens in variabele plaatsen
$aantal = mysql_num_rows($result); //aantal producten in tabel
$field = mysql_num_fields($result); //aantal velden in tabel
//----------------------------------------------------------------------------------------------------------------
if($aantal != '0')
{
print("<table>");
for($i = 0; $i < $aantal; $i++)
{
if($tbl = mysql_fetch_array($result, MYSQL_ASSOC)) //alle producten weergeven
{
print("<tr>");
print("<td width = \"20\"></td>");
for($n = 1; $n < $field; $n++) // Alle resterende invulvelden van de tabel weergeven.
{
$veldnaam = mysql_field_name($result, $n); // Om veldnamen uit de tabel te halen.
print("<tr><td width = \"20\"></td><td>");
$veldnm = str_replace("_", " ", ucwords(strtolower($veldnaam)));
print("<font size=\"2\">".$veldnm.": </font>"); // 2 Staat voor groote letter op het scherm
print("</td><td>");
print("<font size=\"2\">".$tbl[$veldnaam]."</font>"); // Ingevulde waarde weergeven alvoor deze naar db worden verstuurd.);
print ("</td></tr>");
}
}
}
}
print("</table>");
mysql_close($db);
?>
$a = Gerard;
$b = van;
$c = Lierop;
$aantal = 11;
print("Welkom ". $a ." ". $b ." " . $c ."...!");
print("<br><br>");
//------------------------------
//----------------------------------------------------------
$tabel = "Reparatie";
$Merk = "Sony";
$db = @mysql_connect("localhost","test","test") or Die (mysql_error()); //login gegevens
@mysql_select_db("radiobood",$db) or Die ("Error: " . mysql_error()); //database selectie
$sql = " SELECT * FROM ". $tabel ." WHERE Merk=".$Merk; //database query WHERE Merk!= Merk ORDER BY Sony ASC";
$result = @mysql_query($sql,$db) or Die(mysql_error()); //gegevens in variabele plaatsen
$aantal = mysql_num_rows($result); //aantal producten in tabel
$field = mysql_num_fields($result); //aantal velden in tabel
//----------------------------------------------------------------------------------------------------------------
if($aantal != '0')
{
print("<table>");
for($i = 0; $i < $aantal; $i++)
{
if($tbl = mysql_fetch_array($result, MYSQL_ASSOC)) //alle producten weergeven
{
print("<tr>");
print("<td width = \"20\"></td>");
for($n = 1; $n < $field; $n++) // Alle resterende invulvelden van de tabel weergeven.
{
$veldnaam = mysql_field_name($result, $n); // Om veldnamen uit de tabel te halen.
print("<tr><td width = \"20\"></td><td>");
$veldnm = str_replace("_", " ", ucwords(strtolower($veldnaam)));
print("<font size=\"2\">".$veldnm.": </font>"); // 2 Staat voor groote letter op het scherm
print("</td><td>");
print("<font size=\"2\">".$tbl[$veldnaam]."</font>"); // Ingevulde waarde weergeven alvoor deze naar db worden verstuurd.);
print ("</td></tr>");
}
}
}
}
print("</table>");
mysql_close($db);
?>
</body>
</html>
Wie wil en kan mij hier mee helpen.
Is er misschien al een voorbeeld van?
Groeten,
Gerard
$sql = " SELECT * FROM ". $tabel ." WHERE Merk=$Merk";
-->>
$sql = "SELECT * FROM '". $tabel ."' WHERE Merk='".$Merk."'";
Maak daar eens van:
$Merk kan waarschijnlijk ook uit meerdere woorden bestaan dus er moeten aanhalingstekens omheen. Zou eigenlijk sowieso al moeten omdat het een string is ipv een integer :)
-edit-
Gamma
Gewijzigd op 05/09/2004 22:25:00 door dutchcamel
Dat zeg ik net...
Ik had eerst het topic doorgelezen en daarna mijn reactie gepost. Zal net iets meer dan 3 minuten geduurt hebben dan he..
Maar ok...
Mislukte poging tot humor :P
//offtopic
Wanneer word je expert?
Met postcount :P?
200
Volgens mij gister gelezen hier op het forum. Voor mysql_error(); moet er een verbinding zijn met de databaseserver. Als er niet verbonden kan worden is er dus ook nog geen foutmelding. Zal zo moeten:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?
$db = @mysql_connect("localhost","test","test");
if (!$db) {
die("Error: ".mysql_error());
}
?>
$db = @mysql_connect("localhost","test","test");
if (!$db) {
die("Error: ".mysql_error());
}
?>
Zelf al div combinaties geprobeerd maar het wilde maar niet lukken.
Bedankt.
mysql_error() doet niets als er geen verbinding is.
$sql = "SELECT * FROM '". $tabel ."' WHERE Merk='".$Merk."'";
dat zal niet werken want SELECT * FROM 'tabel' werkt niet :) of het moeten ` zijn..
Edit:
hier werkt het niet iig ;)
Gewijzigd op 06/09/2004 10:38:00 door B a s
www.radiobood.nl/1rep.php )
$sql = "SELECT * FROM ".$tabel." WHERE Merk = '".$Merk."'";
Geweldig.
Volgens mij zou het dan ook mogelijk moeten zijn om van uit een invulveld (waar je bv het Merk of Chassis in vult) de gevraagde gegevens in beeld komen.
Gr. Gerard
Mensen het werkt! ( $sql = "SELECT * FROM ".$tabel." WHERE Merk = '".$Merk."'";
Geweldig.
Volgens mij zou het dan ook mogelijk moeten zijn om van uit een invulveld (waar je bv het Merk of Chassis in vult) de gevraagde gegevens in beeld komen.
Gr. Gerard
Quote:
mysql_error() doet niets als er geen verbinding is.
mysql_error() doet niets als er geen verbinding is.
I am ashamed. Vertel ik zelf dat er geen error komt en dan geef ik zoiets als oplossing.. Lekker snugger :) Zoiets zou het dan moeten zijn:
Quote:
Bart,
$sql = "SELECT * FROM '". $tabel ."' WHERE Merk='".$Merk."'";
dat zal niet werken want SELECT * FROM 'tabel' werkt niet :) of het moeten ` zijn..
$sql = "SELECT * FROM '". $tabel ."' WHERE Merk='".$Merk."'";
dat zal niet werken want SELECT * FROM 'tabel' werkt niet :) of het moeten ` zijn..
Edit:
hier werkt het niet iig ;)
Oh, bij mij werkt het wel, ik denk dat het alleen werkt als je met gewoon php gebruikt, niet met phpmyadmin ofzo...