PHP + MySQL: gethint.php

PHP script
Dit is het PHP-script, dat je kan combineren met MySQL. We gaan eerst uit de database alle namen halen, die we dan toevoegen aan $a. Daarna kijken we of $_GET['q'] langer is dan 0. Als dat zo is gaan we zoeken voor suggesties. Daarna gaan we kijken of er meerdere suggesties zijn. Als er meerdere suggesties zijn voegen we ze allemaal toe. Als er niks is gevonden zetten we de suggesties op "Geen suggesties". Daarna laten we $response zien. LET OP: Je moet waarschijnlijk de database-gegevens aanpassen.

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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<?php
//foutafhandeling
# errors weergeven

    ini_set('display_errors',0); // 1 == aan , 0 == uit
    error_reporting(E_ALL | E_STRICT);

    # sql debug
    define('DEBUG_MODE',false);  // true == aan, false == uit


    # functie voor sql debug

    function showSQLError($sql,$error,$text='Error')
    {

        if (DEBUG_MODE)
        {

            return  '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
        }

        else
        {
            return $text;
        }
    }
  

$con = mysql_connect( 'localhost', 'root', '' )
if (!$con)
  {

  echo "Er is een fout opgetreden bij het verbinden met de MySQL database."
  }

mysql_select_db( 'gebruikers' )

$query = "SELECT naam, ID FROM `gebruikers` ORDER by `ID`";
if (($result = mysql_query($query)) === false)
{

    # als de query fout is -> foutafhandeling
    echo showSQLError($sql,mysql_error(),'Fout met database.');
// we stoppen met het script
echo "Foute query."
}
else
{
    # De query is gelukt
$num_results = mysql_num_rows($result);  
 for($i = 0; $i < $num_results; $i++)
    {

         $row = mysql_fetch_assoc($result);
         $a[] = $row['naam'];
    }



if (strlen($_GET['q']) > 0)
  {

  $hint="";
  for($i=0; $i<count($a); $i++)
    {

    if (strtolower($_GET['q'])==strtolower(substr($a[$i],0,strlen($_GET['q']))))
      {

      if ($hint=="")
        {

        $hint=$a[$i];
        }

      else
        {
        $hint=$hint." , ".$a[$i];
        }
      }
    }
  }



if ($hint == "")
  {

  $response="Geen suggesties";
  }

else
  {
  $response=$hint;
  }


echo $response;
}


?>


Database stuctuur
Als je lui bent, of gewoon geen zin hebt om de databasestructuur aan te maken, kan je deze dump gebruiken. Zet de code in een bestand met de extensie .sql. Bijvoorbeeld databasedump.sql.
Handleiding voor PHPMyAdmin
Log in met je gebruikersnaam en wachtwoord dat je normaal ook gebruikt. Ga dan naar tabblad Importeer. Kies eerst het bestand bij Bestand kiezen. Meestal staat de indeling op SQL. Dit moet je laten staan. Staat de indeling nog niet op SQL? Klik dan op SQL. Klik daarna op Start. Als het goed is wordt de database gebruikers aangemaakt met daarin 1 tabel.
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
# Dumping database structure for gebruikers
CREATE DATABASE IF NOT EXISTS `gebruikers` /*!40100 DEFAULT CHARACTER SET latin1 */;
USE `gebruikers`;


# Dumping structure for table gebruikers.users
CREATE TABLE IF NOT EXISTS `users` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `naam` varchar(100) NOT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;

# Dumping data for table gebruikers.users: ~2 rows (approximately)
DELETE FROM `users`;
/*!40000 ALTER TABLE `users` DISABLE KEYS */;
INSERT INTO `users` (`ID`, `naam`) VALUES
    (1, 'Gebruiker1'),
    (2, 'Gebruiker2');
/*!40000 ALTER TABLE `users` ENABLE KEYS */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Inleiding
  2. JavaScript gedeelte
  3. PHP: gethint.php
  4. PHP + MySQL: gethint.php
  5. Afsluiting

PHP tutorial opties

 
 

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.