Result bij zoeken in DB
Ik heb een script waarmee ik resultaten ophaal uit mijn DB.
In de database staan de volgende gegevens:
Id, Schrijver, Titel.
Wanneer ik een zoekopdracht geef op titel krijg ik het volgende resultaat:
U heeft 1 boek(en) met deze titel.
Ik zou graag als resultaat het volgende willen hebben:
U heeft 1 boek(en) met deze titel: Schrijver; Titel.
Iemand die weet hoe ik mijn script hierop aan moet passen?
Mijn script nu is als volgt:
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
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
<?
$host = "server";
$user = "user";
$pass = "ww";
$database = "db";
mysql_connect($host, $user, $pass) or die (mysql_error());
mysql_select_db($database) or die (mysql_error());
if(isset($_POST['submit'])){
$select = "SELECT Titel FROM md249660db202876.Boeken WHERE Titel LIKE'%".$_POST['zoekveld']."'";
$sql = mysql_query($select) or die (mysql_error());
$aantal_records = mysql_num_rows($sql);
if(!$aantal_records > 0){
echo "U heeft geen boek met deze titel.";
} else {
echo "U heeft ".$aantal_records." boek(en) met deze titel.";
while($row = mysql_fetch_assoc($sql)){
echo $row['schrijver'];
}
}
} else {
echo "<form action='".$_SERVER['PHP_SELF']."' method='post'>";
echo "<input type='text' name='zoekveld'>";
echo "<input type='submit' name='submit' value='zoeken'>";
echo "</form>";
}
?>
$host = "server";
$user = "user";
$pass = "ww";
$database = "db";
mysql_connect($host, $user, $pass) or die (mysql_error());
mysql_select_db($database) or die (mysql_error());
if(isset($_POST['submit'])){
$select = "SELECT Titel FROM md249660db202876.Boeken WHERE Titel LIKE'%".$_POST['zoekveld']."'";
$sql = mysql_query($select) or die (mysql_error());
$aantal_records = mysql_num_rows($sql);
if(!$aantal_records > 0){
echo "U heeft geen boek met deze titel.";
} else {
echo "U heeft ".$aantal_records." boek(en) met deze titel.";
while($row = mysql_fetch_assoc($sql)){
echo $row['schrijver'];
}
}
} else {
echo "<form action='".$_SERVER['PHP_SELF']."' method='post'>";
echo "<input type='text' name='zoekveld'>";
echo "<input type='submit' name='submit' value='zoeken'>";
echo "</form>";
}
?>
Is het ook mogelijk de schrijver erbij te vermelden?
Of is hier geen koppeling voor?
Als primary key is in de db het id opgenomen.
Gewijzigd op 23/02/2012 13:34:53 door PHP Noob
Is het ook mogelijk een deel van de zoekterm op te geven ipv dat er alleen
naar exacte overeenkomsten gekeken wordt?
Mijn "probleem" zit 'm in de volgende regel:
LIKE '%".$_POST['zoekveld']."'";
Wanneer ik ['%zoekveld'], ['zoekveld%'] of ['%zoekveld%']
ervan maak worden alle gegevens uit de db opgehaald.
Werkt volledig naar behoren :)
Mooizo!