Hallo,

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.:
<?

$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
Probeer eens

$sql = " SELECT * FROM ". $tabel ." WHERE Merk=$Merk";
$sql = " SELECT * FROM ". $tabel ." WHERE Merk=".$Merk;

-->>

$sql = "SELECT * FROM '". $tabel ."' WHERE Merk='".$Merk."'";
<?
$sql = " SELECT * FROM ". $tabel ." WHERE Merk=".$Merk;
?>

Maak daar eens van:

<?
$sql = "SELECT * FROM ".$tabel." WHERE Merk = '".$Merk."'";
?>

$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
Vandaar de Gamma edit :)
Ik had eerst het topic doorgelezen en daarna mijn reactie gepost. Zal net iets meer dan 3 minuten geduurt hebben dan he..
Dat zeg ik, Gamma.

Mislukte poging tot humor :P
Verder zal deze regel ook niet werken zoals je wil:

<?
$db = @mysql_connect("localhost","test","test") or Die (mysql_error());
?>

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:

<?
$db = @mysql_connect("localhost","test","test");
if (!$db) {
die("Error: ".mysql_error());
}
?>

Reageren