Result bij zoeken in DB

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

PHP Noob

PHP Noob

23/02/2012 12:56:19
Quote Anchor link
Goedemiddag,

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)
PHP script in nieuw venster Selecteer het PHP script
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
<?  
$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>";  
}


?>
 
PHP hulp

PHP hulp

17/05/2024 11:10:25
 
Gerhard l

gerhard l

23/02/2012 13:14:40
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
while($row = mysql_fetch_assoc($sql)){
    echo $row['Schrijver'] . '; ' . $row['Titel'] . '<br/>';
}
 
PHP Noob

PHP Noob

23/02/2012 13:22:52
Quote Anchor link
Bedankt, de titel wordt nu in het resultaat weergegeven.
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
 
Gerhard l

gerhard l

23/02/2012 13:28:47
Quote Anchor link
o wacht je moet in je SELECT query aangeven wat je wilt ophalen, dus dat wordt dan:

SELECT Titel, Schrijver FROM ...enzovoort
Gewijzigd op 23/02/2012 13:28:56 door gerhard l
 
PHP Noob

PHP Noob

23/02/2012 13:35:39
Quote Anchor link
Helemaal top! Het werkt en zonder errors dit keer :)


Is het ook mogelijk een deel van de zoekterm op te geven ipv dat er alleen
naar exacte overeenkomsten gekeken wordt?
 
Gerhard l

gerhard l

23/02/2012 13:41:05
 
PHP Noob

PHP Noob

23/02/2012 14:00:31
Quote Anchor link
Bedankt :)

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.
 
Gerhard l

gerhard l

23/02/2012 14:04:08
Quote Anchor link
Vergeet niet je input te beveiligen met mysql_real_escape_string()
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
"SELECT iets FROM iets WHERE iets LIKE '".mysql_real_escape_string($_POST['zoekveld'])."%'";
"SELECT iets FROM iets WHERE iets LIKE '%".mysql_real_escape_string($_POST['zoekveld'])."'";
"SELECT iets FROM iets WHERE iets LIKE '%".mysql_real_escape_string($_POST['zoekveld'])."%'";
 
PHP Noob

PHP Noob

23/02/2012 14:50:08
Quote Anchor link
Bedankt voor je snelle hulp!
Werkt volledig naar behoren :)
 
Gerhard l

gerhard l

23/02/2012 14:58:21
Quote Anchor link
Mooizo!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.