Poser une condition

greg3487 Messages postés 17 Statut Membre -  
nicelife90 Messages postés 615 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je recherche comment poser une condition, sur le résultat d'une recherche.

je cherche a enregistrer ID qui est associé au résultat de la recherche, dans la table organiser comme sa, ville_id -> ville_nom, je sais que le debut du code a ajouté est INSERT INTO user_searchs (Searchs_ID) VALUES (), mais je sait pas ou je peut récupérer le ville_id du résultat pour le mettre dans la valeur.

<?php
require_once("inc_connexion.php");
if(isset($_GET['cle'])) {
	$requete = "SELECT ville_nom FROM villes
			    WHERE ville_nom
			    LIKE  '".$_GET['cle']."' ";
} else {
	$requete = "SELECT ville_nom FROM villes ";
}
$resultat = $mysqli->query($requete);
 
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Document sans titre</title>
<style>
#connection{
	float:right;
}
 
.div {
	height:auto;
	width:500px;
	}
</style>
</head>
 
<body>
<div>
<a href="login1.php" id="connection">connection</a>
<form id="monform" name="form1" method="get" action="<?php  echo $_SERVER['PHP_SELF']; ?>">
  <p>
    <label>Recherche une ville :
      <input type="text" name="cle" value="<?php if(isset($_GET['cle'])) echo $_GET['cle']; ?>" />
    </label>
  </p>
  <p>
    <label>
      <input type="submit" name="bouton"  value="Envoyer" />
    </label>
  </p>
</form>
  
<table border="1" cellspacing="0" cellpadding="5">
  <tr>
    <td>Référence</td>
  </tr>
  <?php while($ville=$resultat->fetch_assoc())  { ?>
  <tr>
    <td><?php echo $ville['ville_nom']; ?></td>
  </tr>
  <?php } ?>
</table>
</div>
<?php
require_once("inc_footer.php");
?>
</body>
</html>


merci par avance de votre aide.

2 réponses

nicelife90 Messages postés 615 Date d'inscription   Statut Membre Dernière intervention   151
 
Bonjour,

Je ne suis pas sur de bien comprendre, mais si tu veux récupérer le ville_id dans cette requête :


if(isset($_GET['cle'])) {
	$requete = "SELECT ville_nom FROM villes
			    WHERE ville_nom
			    LIKE  '".$_GET['cle']."' ";
} else {
	$requete = "SELECT ville_nom FROM villes ";
}
$resultat = $mysqli->query($requete);



Tu peux faire comme ceci :



if(isset($_GET['cle'])) {
	$requete = "SELECT ville_id,ville_nom FROM villes
			    WHERE ville_nom
			    LIKE  '".$_GET['cle']."' ";
} else {
	$requete = "SELECT ville_id,ville_nom FROM villes ";
}
$resultat = $mysqli->query($requete);
$ville_id = is_object($resultat) ? $resultat->fetch_object->ville_id : NULL; 


0
greg3487 Messages postés 17 Statut Membre
 
Pour l'instant, la recherche se fait correctement, je veux juste que ville_id s'enregistre dans une table, quand il y a un résultat.
0
greg3487 Messages postés 17 Statut Membre
 
J'ai essayer de faire comme sa, mais je voie pas ou se produit l'erreur, je l'ai mis avant la fin de la page, mais sa me dit que il y a une erreur ( Parse error: syntax error, unexpected 'AND' (T_LOGICAL_AND) in ), alors que quand je relie se que je demande, pour moi sa veut dire si le formulaire est envoyer et que il y a des réponse exécuter le if. merci de me dire si j'ai mal interpreté ma requête.

if ($_GET['cle']) AND (empty($ville['ville_nom'])) {
 $mysqli->query ("INSERT INTO user_searchs (Searchs_ID) VALUES ('" . $ville['ville_id'] . "')");
}
0
nicelife90 Messages postés 615 Date d'inscription   Statut Membre Dernière intervention   151
 
Effectivement la syntaxe est pas bonne!

Je crois que ce que tu essayais de faire c'est ceci :

if (isset($_GET['cle']) && !empty($ville['ville_nom'])) {
 $mysqli->query ("INSERT INTO `user_searchs` (`Searchs_ID`) VALUES ('" . $ville['ville_id'] . "')");
}
0
nicelife90 Messages postés 615 Date d'inscription   Statut Membre Dernière intervention   151 > nicelife90 Messages postés 615 Date d'inscription   Statut Membre Dernière intervention  
 
Par contre je ne vois pas la variable $ville dans le sujet initial!
0