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 dans une base de donnée [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Services de proximité

    Informations forums :
    Inscription : Décembre 2013
    Messages : 21
    Par défaut enregistrement dans une base de donnée
    Bonjour a tous,

    J'ai un problème sur mon code php, a la ligne 54, il y a que le else qui d’exécuté au bon moment, et le if ne s’exécute jamais pour enregistrer dans la base de donnée.

    Pouvait vous me dire ou se situ mon problème, merci par avance.

    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    <?php
    require_once("inc_connexion.php");
    ?>
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Document sans titre</title>
    <link href="site.css" rel="stylesheet" type="text/css">
    </head>
     
    <body>
    <div class="box">
    <a id="connexion" href="login.php">Connexion</a>
    <form id="form" name="recherchecity" method="GET" action="<?php  echo $_SERVER['PHP_SELF']; ?>">
        <p>
            <label>Recherche une ville :
                <input type="text" name="city" value="<?php if(isset($_GET['city'])) echo $_GET['city']; ?>" />
            </label>
        </p>
        <p>
            <label>
                <input type="submit" name="bouton"  value="Envoyer" />
            </label>
        </p>
    </form>
    <p>Vous avait déja chercher :</p>
    <?php $r_city = "SELECT Searchs_nom
               FROM user_searchs
    		   WHERE Searchs_nom IS NOT NULL";
    $recherchecity = $mysqli->query($r_city);
    while ( $r_effect=$recherchecity->fetch_assoc() ) {
    	$message[] = $r_effect['Searchs_nom'];
    }
    foreach ( $recherchecity as $villenom ) {
    	$r_nom = $villenom['Searchs_nom'];
    	echo $r_nom . ' - ';
     }
     if ( isset( $_GET['city'] ) ) {
    	$City_Searchs =  $_GET['city'];
    	$requete = "SELECT * FROM villes
    			    WHERE ville_nom
    			    LIKE  '" . $City_Searchs . "'";
    	$resultat = $mysqli -> query($requete);
    	while ( $ville = $resultat -> fetch_assoc() ) { 
    		$ville_id = $ville['ville_id'];
    		$ville_nom = $_GET['city'];
     
    		?>
    		<table>
    			<tr>
    				<td>
    					<a href="villes.php?id=<?php echo $ville_id; ?>"><?php echo $ville_nom; ?></a>
    					<?php if ( empty( $ville['ville_nom'] ) ) {
    						echo '<p class="error">Nous n\'avons pas cette ville dans notre base de donnée !!!</p>';
    						$mysqli->query ("INSERT INTO `user_searchs`(`User_ID` , `Searchs_ID` , `Searchs_nom`)
    										 VALUES ('0' , '0' , '" . $ville_nom . "')");
    					} else {	
    						$mysqli->query ("INSERT INTO `user_searchs`(`User_ID` , `Searchs_ID` , `Searchs_nom`)
    										 VALUES ( '1' , '" . $ville_id . "' , '" . $ville_nom . "')");
    					} ?>
    				</td>
    			</tr>
    		</table>
    	<?php 
    	}
    } ?>
    </div>
    </body>
    </html>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    $ville['ville_nom'] est "empty" que si $_GET['city'] est "empty" et qu'il existe des valeurs vides dans ta table, ce qui a priori n'arrive jamais.

    Mais sinon tous les conseils qu'on t'a fourni n'ont pas été appliqué dans ton code à rien donc c'est un peu inutile de te demander pourquoi il ne fonctionne pas.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Services de proximité

    Informations forums :
    Inscription : Décembre 2013
    Messages : 21
    Par défaut
    j'essai les conseille que l'ont me donne sur le forum, mais a la dernière minute, j'apprend que mes cour sont mal structuré pour le code et quand le contact le formateur, je peut pas mettre du code dont je comprend pas se que sa fait.
    c'est pour sa que j'essai de concilier les cour que j'ai avec des solution que m'apporte le forum.

    et pour le empty, je pensai que je posé la condition que si le formulaire est envoyé mais que $ville['ville_nom'] a aucun résultat, alors ont l’exécute sinon c'est le else.

    merci par avance

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Quand tu es dans la bouche fetch, tu es en train de parcourir les résultats de la requête donc ce n'est pas là que tu vas pouvoir traiter le cas "pas de résultat".

    Utilise num_rows() pour savoir s'il y a des résultats, si oui, tu fais la boucle, si non tu fais ton insertion de secours.
    http://php.net/manual/fr/mysqli-result.num-rows.php
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Services de proximité

    Informations forums :
    Inscription : Décembre 2013
    Messages : 21
    Par défaut
    j'ai rajouter le num_rows(), mais sa fonctionne toujours pas, je l'ai peut-être mal intégré.

    pouvais vous me dire ou est mon erreur d’intégration dans mon code s'il vous plait.

    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Document sans titre</title>
    <link href="site.css" rel="stylesheet" type="text/css">
    </head>
     
    <body>
    <div class="box">
    <a id="connexion" href="login.php">Connexion</a>
    <form id="form" name="recherchecity" method="GET" action="<?php  echo $_SERVER['PHP_SELF']; ?>">
        <p>
            <label>Recherche une ville :
                <input type="text" name="city" value="<?php if(isset($_GET['city'])) echo $_GET['city']; ?>" />
            </label>
        </p>
        <p>
            <label>
                <input type="submit" name="bouton"  value="Envoyer" />
            </label>
        </p>
    </form>
    <p>Vous avait déja chercher :</p>
    <?php $mysqli = new mysqli('localhost', 'root', '', 'searchs_pays');
    $r_city = "SELECT Searchs_nom
               FROM user_searchs
    		   WHERE Searchs_nom IS NOT NULL";
    $recherchecity = $mysqli->query($r_city);
    while ( $r_effect=$recherchecity->fetch_assoc() ) {
    	$message[] = $r_effect['Searchs_nom'];
    }
    foreach ( $recherchecity as $villenom ) {
    	$r_nom = $villenom['Searchs_nom'];
    	echo $r_nom . ' - ';
     }
     if ( isset( $_GET['city'] ) ) {
    	$City_Searchs =  $_GET['city'];
    	$requete = "SELECT * FROM villes
    			    WHERE ville_nom
    			    LIKE  '" . $City_Searchs . "'";
    	$resultat = $mysqli -> query($requete);
    	while ( $ville = $resultat -> fetch_assoc() ) { 
    		$ville_id = $ville['ville_id'];
    		$ville_nom = $_GET['city'];
     
    		?>
    		<table>
    			<tr>
    				<td>
    					<a href="villes.php?id=<?php echo $ville_id; ?>"><?php echo $ville_nom; ?></a>
    					<?php if ($result = mysqli_query( $mysqli , $requete )) {
    						$rowcount = mysqli_num_rows ( $result );
    						if ( $rowcount = 0 ) {
    							echo '<p class="error">Nous n\'avons pas cette ville dans notre base de donnée !!!</p>';
    							$mysqli->query ("INSERT INTO `user_searchs`(`User_ID` , `Searchs_ID` , `Searchs_nom`)
    											 VALUES ('0' , '0' , '" . $ville_nom . "')");
    						} else {	
    							$mysqli->query ("INSERT INTO `user_searchs`(`User_ID` , `Searchs_ID` , `Searchs_nom`)
    											 VALUES ( '1' , '" . $ville_id . "' , '" . $ville_nom . "')");
    						} 
    					}?>
    				</td>
    			</tr>
    		</table>
    	<?php 
    	}
    } ?>
    </div>
    </body>
    </html>

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Je t'ai dis "s'il y a des résultats, tu fais ta boucle".
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Services de proximité

    Informations forums :
    Inscription : Décembre 2013
    Messages : 21
    Par défaut
    sa Fonctionne, merci de ton aide

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

Discussions similaires

  1. Problème d'enregistrement dans une base de données
    Par mcfly37 dans le forum Hibernate
    Réponses: 1
    Dernier message: 08/07/2010, 17h41
  2. inscription via le web et enregistrement dans une base de données
    Par titoenis dans le forum Balisage (X)HTML et validation W3C
    Réponses: 11
    Dernier message: 17/05/2006, 09h20
  3. problème d'insertion dans une base de données
    Par belmansour tidjani dans le forum JDBC
    Réponses: 7
    Dernier message: 18/01/2006, 22h13
  4. problème de recherche dans une base de donnée mysql
    Par Xini28 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 24/10/2005, 18h00
  5. problème de recherche dans une base de données
    Par bouzid_mehdi dans le forum Bases de données
    Réponses: 2
    Dernier message: 19/07/2005, 06h47

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