Hallo,
Ik heb een scriptje geschreven om in mysql database uitgebreidt te zoeken.
Men kan zoeken op "omschrijving" of "naam" of " onderwerp".
Ik denk dat my SQL querry niet correct is want het resultaat is niet wat ik verwacht want ik krijg steeds de complete tabel inhoud te zien
Het begin van het zoekscriptje ziet er als volgt uit:
if (($_POST['omschrijving']) OR ($_POST['onderwerp']) OR ($_POST['naam'])){
// query samenstellen
$query="SELECT * FROM bezetting_2006 WHERE
omschrijving LIKE '%". $_POST["omschrijving"] . "%'
OR onderwerp LIKE '%". $_POST["onderwerp"] . "%'
OR naam LIKE '%". $_POST["naam"] . "%'
";
$result = mysql_query($query) or die ("FOUT: " . mysql_error());
$aantal = mysql_num_rows($result);
}else{
anyway, kan het zijn dat als een veld niet word ingevuld, hij dus naar iets zoekt wat niet gezet is, dus klopt het ergens al niet. ik zou een array maken met de mogelijke tabellen/ velden, en dan in loopjes, gaan zoeken. dan kan je het resultaat ook tonen als dit:
if (($_POST['omschrijving']) OR ($_POST['onderwerp']) OR ($_POST['naam'])){
// query samenstellen
$query="SELECT * FROM bezetting_2006 WHERE
omschrijving LIKE '%". $_POST["omschrijving"] . "%'
OR onderwerp LIKE '%". $_POST["onderwerp"] . "%'
OR naam LIKE '%". $_POST["naam"] . "%'
";
$result = mysql_query($query) or die ("FOUT: " . mysql_error());
$aantal = mysql_num_rows($result);
}else{
}
?>
<html>
<head>
<title>Zoeken: de resultaten</title>
</head>
<body>
<?php
// controleer eerst of er records werden gevonden
if ($aantal == 0){
// Nee
echo ("Helaas, er werden geen records gevonden
met <b> ". $_POST["naam"]. " </b><br>
met <b> ". $_POST["onderwerp"]. " </b><br>
met <b> ". $_POST["omschrijving"]. " </b><br>
\n");
}else{
// Ja
//echo("<b>query</b> : $query <hr>");
echo("<b>Er werden $aantal records gevonden:</b><br>");
while (list($id,$naam,$onderwerp,$omschrijving) = mysql_fetch_row($result)){
<?php
include("verbinding.php");
if (($_POST['omschrijving']) OR ($_POST['onderwerp']) OR ($_POST['naam'])){
// query samenstellen
$query="SELECT * FROM bezetting_2006 WHERE
omschrijving LIKE '%". $_POST["omschrijving"] . "%'
OR onderwerp LIKE '%". $_POST["onderwerp"] . "%'
OR naam LIKE '%". $_POST["naam"] . "%'
";
$result = mysql_query($query) or die ("FOUT: " . mysql_error());
$aantal = mysql_num_rows($result);
}else{
}
?>
<html>
<head>
<title>Zoeken: de resultaten</title>
</head>
<body>
<table border="1" width="100%" align="center">
<tr><th>naam</th><th>onderwerp</th><th>omschrijving</th></tr>
<?php
// controleer eerst of er records werden gevonden
if ($aantal == 0){
// Nee
echo ("Helaas, er werden geen records gevonden
met <b> ". $_POST["naam"]. " </b><br>
met <b> ". $_POST["onderwerp"]. " </b><br>
met <b> ". $_POST["omschrijving"]. " </b><br>
\n");
}else{
// Ja
//echo("<b>query</b> : $query <hr>");
echo("<b>Er werden $aantal records gevonden:</b><br>");
while (list($id,$naam,$onderwerp,$omschrijving) = mysql_fetch_row($result)){
echo("<tr><td>$naam</td> <td>$onderwerp</td> <td>$omschrijving</td></tr>\n");
}
}
?>
</table>
<br><hr>
</body>
</html>
Niet Bumpen:
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de knop om je tekst aan te passen.