IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Incrémentation pour la création d'un tableau [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Homme Profil pro
    etudiant developpeur web
    Inscrit en
    Février 2018
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : etudiant developpeur web

    Informations forums :
    Inscription : Février 2018
    Messages : 99
    Par défaut Incrémentation pour la création d'un tableau
    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);

  2. #2
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    	$user_id = uniqid();
    	session_start();
    	$_SESSION['user_id'] = $user_id;
    Là, tu modifies/redéfinis user_id à chaque rechargement de page !....

    Essaie plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php session_start();
    if( empty($_SESSION['user_id']) ){ $_SESSION['user_id'] = uniqid(); }

  3. #3
    Membre confirmé
    Homme Profil pro
    etudiant developpeur web
    Inscrit en
    Février 2018
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : etudiant developpeur web

    Informations forums :
    Inscription : Février 2018
    Messages : 99
    Par défaut Merci pour le tuyau mais le problème persiste .. je cherche toujours.
    Ok, ca je peux le comprendre, mais mas base de données se remplissait bien toujours avec le même user_id c'est au niveau de chaque recherche qu'il n'y a pas d'incrémentation ...

  4. #4
    Invité
    Invité(e)
    Par défaut
    EXPLIQUE ce bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    while ( $row = $result->fetch_array())
    				{
    					$id=$row['ville_id'];
    				}
    				$recherches= array ( $n => $id);
    $id aura pour valeur le dernier ville_id.

    Si tu voulais créer un array des ville_id :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $recherches = array();
    while ( $row = $result->fetch_array())
    	{
    		$recherches[] = $row['ville_id'];
    	}
    Je ne vois pas à quoi sert $n...

    Mets des commentaires/explications dans ton code !

  5. #5
    Membre confirmé
    Homme Profil pro
    etudiant developpeur web
    Inscrit en
    Février 2018
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : etudiant developpeur web

    Informations forums :
    Inscription : Février 2018
    Messages : 99
    Par défaut Merci, pourquoi je cherche toujours compliqué
    En fait je me complique trop la vie, il faut vraiment que je fasse au plus simple. Tu éclaires à chaque fois ma vieille lanterne

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PowerShell] Problème pour la création d'un tableau de données
    Par dj_max_69 dans le forum Scripts/Batch
    Réponses: 7
    Dernier message: 30/08/2011, 19h12
  2. problème de droit pour la création d'un fichier
    Par anassss dans le forum Unix
    Réponses: 1
    Dernier message: 26/07/2011, 15h29
  3. [PHP 5.3] problème d'algortihme pour la création d'un email en PHP
    Par beegees dans le forum Langage
    Réponses: 8
    Dernier message: 15/02/2010, 15h30
  4. Réponses: 0
    Dernier message: 29/07/2009, 11h13
  5. Réponses: 1
    Dernier message: 22/01/2009, 11h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo