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 :

enregistrement incomplet dans ma base de données


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Webmaster
    Inscrit en
    Septembre 2019
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Septembre 2019
    Messages : 19
    Par défaut enregistrement incomplet dans ma base de données
    Bonjour

    j'ai reussi à faire un insert into sur ma base de données.
    le seul probleme, c'est qu'elle m'enregistre qu'un seul utilisateur.
    MYSQL ne prend pas en compte les autres, il prend en compte juste le premier.
    j'ai fait un var dump de mon insert into mais apparement les variable sont dedans.
    par contre, il ne me trouve pas le ville_id.
    le message d'erreur :
    Notice: Undefined variable: ville_id in /Applications/MAMP/htdocs/Testrecherche.php on line 31
    NULL string(79) "INSERT INTO user_search (ville_id,ville_nom,user_id) VALUES ('20', 'Paris','2')"
    et mon code:
    Code : 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
     
    <?php require('inc_connexion.php'); ?>
    <?php require('inc_identification_user.php'); ?>
    <html>
    <link rel="stylesheet" type="text/css" href="style.css"  />
    <div id="container">
    <h2>Rechercher une ville : </h2>
    <!-- zone de connexion -->
    <form method="POST" action="">
    <input type="text" name="ville_nom">
    <input type="SUBMIT" value="Search!">
    </form>
    <li><a href="index.php">Accueil</a></li><br>
    </div>
    </html>
    <?php
    //On definie la variable
    if (isset($_POST['ville_nom'])) {
        $ville_nom = $_POST['ville_nom'];}
    {
    if (empty($ville_nom)) 
    {
    echo "<p>" . "Veuillez saisir une ville !" . "</p>";
    } 
    else
    {
    // la requete mysql de recherche
    $result = $mysqli->query('SELECT ville_id, ville_nom FROM villes WHERE ville_nom LIKE "' . $ville_nom . '"');
    while ($donnees = $result->fetch_array()) 
    {
    // ici tu fais ton insert
    var_dump($ville_id);
    var_dump("INSERT INTO user_search (ville_id,ville_nom,user_id)
    VALUES ('". $donnees['ville_id']."', '". $donnees['ville_nom']."','". $_SESSION['user_id']."')");
    $sql = "INSERT INTO user_search (ville_id,ville_nom,user_id)
    VALUES ('". $donnees['ville_id']."', '". $donnees['ville_nom']."','". $_SESSION['user_id']."')";
    $mysqli->query($sql);
    $villes[$donnees['ville_id']] = $donnees['ville_nom'];
       }
      }
    }
    ?>
    </div>
    		<div>
    <p>Vos précédentes recherches :</p>
    <?php
    $result = $mysqli->query('SELECT ville_nom From user_search where user_id like "%'. $user_id .'%" ');
    $recherches = array();
    while ( $row = $result->fetch_array())
    	{
    		$recherches[] = $row['ville_nom'];
    	}?>
    <ul>
    <?php foreach ($recherches as $id => $ville) : ?>
    <li><a href="ville.php?id=<?php echo $id ?>"><?php echo $ville?></a></li>
    <?php endforeach ?>
    </ul>
    <?php require('inc_footer.php'); ?>

  2. #2
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Bah pourquoi voudrais-tu que $ville_id soit définie ? Et pourquoi $result->fetch_array() ? Faudrait faire des tutos avant de coder parce que là j'ai l'impression que c'est un peu au hasard (et puis si tu veux faire des insert multiples dans une boucle utilises des requêtes préparées).

    Tu as les différentes méthodes fetch ici.
    Donc puisque tu utilise la méthode associative ce serait plutôt:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while ($donnees = $result->fetch(PDO::FETCH_ASSOC)) 
    {
    var_dump($donnees['ville_id']);
    //...

    Et puis avec les variables utilisateur, il faut aussi utiliser les requêtes préparées donc tu ferais mieux d'oublier le query et faire un prepare et le code qui va avec, qui est expliqué en partie dans mon précédent lien.

Discussions similaires

  1. [Débutant] enregistrer image dans une base de données
    Par Marie_7 dans le forum VB.NET
    Réponses: 1
    Dernier message: 10/03/2014, 08h18
  2. Réponses: 1
    Dernier message: 26/03/2013, 12h20
  3. Réponses: 2
    Dernier message: 14/12/2012, 12h42
  4. Enregistrer image dans une base de données
    Par charrynsasi dans le forum JDBC
    Réponses: 2
    Dernier message: 11/06/2010, 20h15
  5. [MySQL] Enregistrement formulaire dans ma base de donnée
    Par pixstaff dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 25/01/2008, 23h38

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