Code recherche
Fermé
mirene22
Messages postés
7
Date d'inscription
vendredi 27 février 2015
Statut
Membre
Dernière intervention
12 mai 2015
-
Modifié par jordane45 le 26/03/2015 à 20:04
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 31 mars 2015 à 15:27
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 31 mars 2015 à 15:27
A voir également:
- Code recherche
- Recherche musique - Guide
- Code asci - Guide
- Code puk bloqué - Guide
- Google recherche par image - Guide
- Code telephone oublié - Guide
4 réponses
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
4 650
26 mars 2015 à 20:04
26 mars 2015 à 20:04
Bonjour,
Regardes ceci :
https://www.php.net/manual/fr/function.mysql-num-rows.php
PS: Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Regardes ceci :
https://www.php.net/manual/fr/function.mysql-num-rows.php
PS: Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
mirene22
Messages postés
7
Date d'inscription
vendredi 27 février 2015
Statut
Membre
Dernière intervention
12 mai 2015
Modifié par jordane45 le 27/03/2015 à 18:39
Modifié par jordane45 le 27/03/2015 à 18:39
salut, jordane45
le lien que vous avez posté est assez intéressant, j'ai essayé de l'exploiter dans mon code, le problème maintenant c'est que le message "ce produit est introuvable" s'affiche par défaut, même si le produit existe dans la Bdd !!
voici mon code après la modification :
le lien que vous avez posté est assez intéressant, j'ai essayé de l'exploiter dans mon code, le problème maintenant c'est que le message "ce produit est introuvable" s'affiche par défaut, même si le produit existe dans la Bdd !!
voici mon code après la modification :
<!DOCTYPE html> <html> <head> <title>Rechercher un produit</title> <meta charset="utf-8"/> </head> <body background="images/20.jpg" > <font size="5"><font color="black"> <DIV Align="center" > <h1><font size="20"><font color="yellow"> RECHERCHE PRODUIT </font></font></h1> <fieldset style="width: 600px;"> <form method="post" action="rechercher.php"> Nom du produit: <input type="text" name="nom"><br/> <div style="text-align:center;"> <input type="submit" value="rechercher"/> <input type="reset" name="Annuler" value="annuler"/> </form> <?php // On commence par récupérer le champ if(isset($_POST['nom'])) $nom=$_POST['nom']; else $nom=""; // On vérifie si le champ est vide ?> <font size="4"><b> <center> <?php mysql_connect("localhost","root",""); // Connexion à MySQL mysql_select_db("superette"); // Sélection de la base $result = mysql_query("SELECT * FROM produit WHERE nom ='$nom'"); $num_rows = mysql_num_rows($result); Ce produit est introuvable'; mysql_close(); ?> </font> </body> </html>
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
4 650
27 mars 2015 à 18:45
27 mars 2015 à 18:45
le problème maintenant c'est que le message "ce produit est introuvable" s'affiche par défaut,
normal...
regarde ligne 42 de ton code....
Il manque .. un IF .. et aussi un ECHO .. et bien sûr.. des quotes ....
<font size="4"><b> <center> <?php // La connexion à la BDD serait mieux dans un autre fichier // dont tu ferais juste un INCLUDE. mysql_connect("localhost","root",""); // Connexion à MySQL mysql_select_db("superette"); // Sélection de la base // On commence par récupérer le champ si existe et non vide $nom=isset($_POST['nom']) && !empty(($_POST['nom']) ?$_POST['nom']:NULL; if($nom){ $result = mysql_query("SELECT * FROM produit WHERE nom ='$nom'"); $num_rows = mysql_num_rows($result); if($num_rows<=0){ echo '<br>Ce produit est introuvable'; } }else{ echo "<br>La variable nom n'existe pas !"; }
PS: Où est passé la PDO ou le MYSQLI_ ?
Tu es toujours avec l'ancienne extension mysql_ ... c'est dommage...
mirene22
Messages postés
7
Date d'inscription
vendredi 27 février 2015
Statut
Membre
Dernière intervention
12 mai 2015
27 mars 2015 à 19:19
27 mars 2015 à 19:19
je n'arrive pas à comprendre la partie ( ?$_POST['nom']:NULL; ) de la ligne suivante :
à quoi serve-t-elle ?
effectivement je travaille avec l'ancienne extension Mysql et je ne trouve pas assez de solutions à mes problèmes sur le net je crois que je dois commencer à utiliser le PDO
// On commence par récupérer le champ si existe et non vide $nom=isset($_POST['nom']) && !empty(($_POST['nom']) ?$_POST['nom']:NULL;
à quoi serve-t-elle ?
effectivement je travaille avec l'ancienne extension Mysql et je ne trouve pas assez de solutions à mes problèmes sur le net je crois que je dois commencer à utiliser le PDO
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
4 650
29 mars 2015 à 20:44
29 mars 2015 à 20:44
C'est ce qu'on appelle l'écriture TERNAIRE...
En gros.. c'est un IF.
et le ISSET sert à s'assurer que la variable existe.
Autrement dit.. cette ligne de code peut se traduire ainsi .
Si la variable $_POST['nom'] existe et si elle n'est pas vide.. alors la variable $nom prend comme valeur $_POST['nom'] .. sinon.. elle prend la valeur NULL.
En gros.. c'est un IF.
et le ISSET sert à s'assurer que la variable existe.
Autrement dit.. cette ligne de code peut se traduire ainsi .
Si la variable $_POST['nom'] existe et si elle n'est pas vide.. alors la variable $nom prend comme valeur $_POST['nom'] .. sinon.. elle prend la valeur NULL.
bonjour, merci pour votre réponse je me noie dans un verre d'eau comme on dit ! c'est censé être assez simple de faire une recherche je sais pas quel est mon problème ! maintenant lorsque je tape un faux produit on ne m'affiche rien (pas de message d'erreur)
voilà mon dernier essai :
voilà mon dernier essai :
<?php // On commence par récupérer le champ if(isset($_POST['nom'])) $nom=$_POST['nom']; else $nom=""; //requête SQL: mysql_connect("localhost","root",""); // Connexion à MySQL mysql_select_db("superette"); // Sélection de la base $sql = "SELECT * FROM produit WHERE nom ='$nom'" ; //exécution de la requête: $requete = mysql_query($sql); //affichage des données: while( $result = mysql_fetch_array($requete) ) { ?> <font size="6"> <div align="center"> <?php echo'le nom : ',($_POST['nom']);?> </br> <?php echo 'Designation : '.$result['designation'];?></br> <?php echo 'Categorie : '.$result['categorie'];?></br> <?php echo'Prix :'.$result['prix'];?></br> <?php echo "<img src='images/".$result['photo']."' border=0 height=200 width=200 />";?> </div> </font> <?php } mysql_close(); ?>
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
4 650
31 mars 2015 à 15:27
31 mars 2015 à 15:27
tu as inversé :
... comment connaitre le nombre de lignes .. si tu n'as pas executé la requête ??
NB : Prends l'habitude d'utiliser l'écriture TERNAIRE pour la récupération de tes variables..
$num_rows = mysql_num_rows($sql); //exécution de la requête: $requete = mysql_query($sql);
... comment connaitre le nombre de lignes .. si tu n'as pas executé la requête ??
NB : Prends l'habitude d'utiliser l'écriture TERNAIRE pour la récupération de tes variables..
$nom=isset($_POST['nom']) && !empty(($_POST['nom']) ?$_POST['nom']:'';
26 mars 2015 à 20:05
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top