De bestanden

we maken als eerste het bestand

zoeken.php

Daarin plaatsen we de volgende code, zoals je ziet is dit een combi van HTML en PHP.

In deze eerste bestand roepen we dan ook een tweede bestand op!! let goed op, staat in de code.

 

 

Tweede bestand noemen we dus

search.php

en daarin plaatsen we de volgende code.

 

<?php
   mysql_connect("localhost", "root", "usbw") or die("Error connecting to database: ".mysql_error());
   /*
       localhost - de lokatie van de mysql server, meestal localhost
       root - gebruikersnaam
       derde is password van de phpmyadmin server
       
       Note. dit is niet de veilige weg, gebruik include commando om de database te koppelen.
       
       als er geen verbinding is zie je een error
   */

   
   mysql_select_db("film") or die(mysql_error());
   /* film is de naam van de database die we reeds hebben */
   
   
   
?>


<html>
<head>
   <title>Search results</title>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <!--<link rel="stylesheet" type="text/css" href="style.css"/>-->
</head>
<body>
<?php
   $query = $_GET['query'];
  // gets waarde verkregen via zoeken.php form
   
   $min_length = 1;
   // kan je aanpassen naar een  minimum lengte van de query als je dat wilt
   
   if(strlen($query) >= $min_length){ // als de query lengte meer of gelijk is aan de gestelde minimum, dan
       
       $query = htmlspecialchars($query);
      // veranderd de characters die je in html gebruikt naar de juiste omschrijving, zoals: < to &gt;
       
       $query = mysql_real_escape_string($query);
       // voorkomen van een SQL injection(zoek maar op google wat dit betekend)
       
       $raw_results = mysql_query("SELECT * FROM films
           WHERE (`filmnr` LIKE '%".$query."%') OR (`titel` LIKE '%".$query."%')") or die(mysql_error());
           
       // * betekende dat je zoekt in alle velden, je kan dit aanpassen zoals naar : `id`(in plaatst van filmnr), `title(etc)`, `regisseurnr`
       // films is de naam van de table
       
       // '%$query%' is waar we naar zoeken, % betekend alls, voorbeel als $query Hello is
       // zoeken we naar alles wat past bij "hello", "Hello man", "gogohello", wil je een exacte zoekopdracht dan gebruik je `title`='$query'
       // of een volledig woord, zoals "gogohello" gebruiken we '% $query %' ...OR ... '$query %' ... OR ... '% $query'

       
       if(mysql_num_rows($raw_results) > 0){ // 1 of meer regels dan doen we
           
           while($results = mysql_fetch_array($raw_results)){
           // $results = mysql_fetch_array($raw_results) plaatst de data van de database in een array, zolang het geldig is als een loop
           
               echo "<p><h3>".$results['id']."</h3>".$results['titel']."</p>";
               // plaatst het resultaat vanuit de database(filmnr en titel) je kan ook de id laten zien ($results['id'])
           }
           
       }
       else{ // Niks gevonden dan...
           echo "No results";
       }
       
   }
   else{ // minmale lengte als zoekopdracht dan...
       echo "Minimum length is ".$min_length;
   }
?>
</body>
</html>