Bonjour, pour faire simple, je dispose d'une base de données contenant :
  • une table avec des noms de villes associées à un texte court
  • et une table user_searchs contenant un utilisateur identifié par la création d'une session et les identifiants des villes recherchées associés.

Pour décrire le processus, l'utilisateur recherche une ville.
Si celle-ci est dans la base, il y a affichage d'un lien vers la page de cette ville.
dans la table user_searchs, j'associe l'user_id avec la ville_id et ce pour chaque recherche.

Le but est de créer ensuite un tableau qui enregistre chaque recherche de sorte ensuite d'afficher toutes les villes recherchées au fur et à mesure.

La, je bloque un peu car il semblerait que mon incrémentation ne se fasse pas, du coup c'est toujours la même clé qui enregistre le ville_id ... pourriez-vous m'éclairer?

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
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
<?php
	$user_id = uniqid();
	session_start();
	$_SESSION['user_id'] = $user_id;
	?>
<!DOCTYPE html>
<html lang="fr">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<meta name="TITLE" content="Movie Database" />
	<meta name="DESCRIPTION" content="Base de données sur les villes ..." />
	<title>City Database - Rcherche de villes</title>
	<link href="styles.css" rel="stylesheet" type="text/css" />
</head>
<body>
	<div id="wrapper">
		<div class="formulaire">
			<form method="get">
				<input type="text" name="search" placeholder="City Search" required>
				<p><input class="bouton" type="submit" name="valider" value="Rechercher">
			</form>	
		</div>
		<div class="resultat">
			<?php	
				if ( isset($_GET['valider']) )
				{
					$search = $_GET['search'];
					$mysqli = new mysqli('localhost','root','','projet_villes_site');
					if ( empty($search) )
					{
						echo ' Requête en attente ....';
						$n=1;
					}
					else
					{
						if ( $result = $mysqli -> query ('SELECT ville_id, ville_nom, ville_texte FROM villes WHERE ville_nom LIKE "%' . $search . '%"') )
 
						{
							$n = $n+1;
							while ( $row= $result->fetch_array())
						{
							$id = $row['ville_id'];
							echo '<a href="ville.php?id=' . $id . '">' . $row['ville_nom'] . '</a>';
						}
					}
						else 
					{
						echo 'Cette ville n\'existe pas dans la base. Désolé';
					}
					}
 
				}
				$mysqli->query('INSERT INTO user_searchs (user_id, ville_id) VALUES ( "'. $user_id .'", "' . $id .'" )');
			?>
 
		</div>
		<div>
			<p>Vos précédentes recherches :</p>
			<?php
			$result = $mysqli->query('SELECT ville_id From user_searchs where user_id like "%'. $user_id .'%" ');
			while ( $row = $result->fetch_array())
				{
					$id=$row['ville_id'];
				}
				$recherches= array ( $n => $id);