Om te zoeken naar waarden in een bepaalde kolom

Kies een kolom om te zoeken naar een record
<form method=POST action=2.php>
<select name="table_name">
<option value=1>Voornaam</option>
<option value=2>Achternaam</option>
</select>
<input type=text name=invoer><br>
<input type=submit name=verstuur value=zoeken>
</form>

<?php

$db = mysql_connect("localhost", "root") or die("het connectie is onmogelijk door mogelijke fouten");
mysql_select_db("copycenter", $db);

if(isset($_POST['verstuur']))
{
$zoeken = $_POST['table_name'];
$karakter = $_POST['invoer'];

switch($zoeken)
{
case 1:
$search = "Voornaam";
break;
case 2:
$search = "Achternaam";
break;

}


define("KLEUR_1", "#ffffcc");
define("KLEUR_2", "#ddffff");


$huidigkleur = KLEUR_1;

$query_string = "SELECT *
FROM Klanten
WHERE '$search' LIKE '%$karakter%'
ORDER BY KlantID ASC";

$result_id = mysql_query($query_string,$db);

print("<table border='0'>\n");
print("<tr align='center' bgcolor=#ddffff><td></td><td></td><td><strong>KlantID</strong></td><td><strong>Voornaam</strong></td><td><strong>Achternaam</strong></td>
<td><strong>Adres</strong></td><td><strong>Telefoonnummer</strong></td><td><strong>Postcode</strong></td><td><strong>Locatie</strong></td><td><strong>Geboortedatum</strong></td>
<td><strong>Email</strong></td><td><strong>Bedrijf</strong></td><td><strong>BTW-nummer</strong></td><td><strong>Gebruikersnaam</strong></td></tr>\n");


while ($row = mysql_fetch_row($result_id))
{

print("<tr align=left valign=top bgcolor=$huidigkleur>");
$Klant_ID = $row['0'];
print("<td><a href='index.php?AdminMenu=2&AdminFunctie=bewerken_klant&KlantID=$Klant_ID'><img src='afbeeldingen\bijwerk.gif' alt='bewerk klant'></a></td>\n");
if($Klant_ID == '1')
{
print("<td></td>");
}
else
{
print("<td><a href='index.php?AdminMenu=2&AdminFunctie=verwijder_klant&KlantID=$Klant_ID'><img src='afbeeldingen\verwijder.gif' alt='verwijder klant'></a></td>\n");
}

for ($teller = 0; $teller < 12;$teller++)
{
// voor elk veld start je een <td>
print("<td>$row[$teller]</td>\n");
}
print("</tr>\n");

if($huidigkleur == KLEUR_1)
{
$huidigkleur = KLEUR_2;
}
else
{
$huidigkleur = KLEUR_1;
}


}
print("</table>\n");
}


?>

wie kan mij zeggen waarom het niet werkt, als ik een karakter A invoer, toont hij alle records met waarde dat niet gelijk is aan A
Omdat je dit doet:
$query_string = "SELECT *
FROM Klanten
WHERE '$search' LIKE '%$karakter%'
ORDER BY KlantID ASC";

terwijl het dit moet zijn:
$query_string = "SELECT *
FROM Klanten
WHERE $search LIKE '%$karakter%'
ORDER BY KlantID ASC";

Er hoeven geen enkele quotes om $search omdat je een MySQL veld wilt aanduiden.
merci !
en nu de variabelen nog buiten quotes...

$query_string = "SELECT *
FROM Klanten
WHERE ".$search." LIKE '%".$karakter."%'
ORDER BY KlantID ASC";

Reageren