PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 06-08-2010 22:50:31

Capi
Membre
Inscription : 03-03-2010
Messages : 45

Compter le nombre de résultat d'une requête

Bonjour

je fais certainement une bétise toute bête mais je n'arrive pas à faire un if correctement, si la requête me donne un résultat ou non

Voici mon code :

$sql = "SELECT dep1 dep2 FROM data WHERE dep2 LIKE '%$valeur%'";
$req = $bdd->query($sql);

if(mysql_num_rows($req))
{
while ($donnees = $req->fetch())
{
blablablabla
}
}
else
{echo "pas de resultats";
}

Ce qui se passe c'est qu'avec n'importe quelle valeur que je donne à $valeur le while va me lister toute ma base de donnée, que $valeur ait une correspondance dans dep2 ou non...

Si vous avez une idée...

Merci smile

Capi

Hors ligne

#2 07-08-2010 10:30:07

moogli
Modérateur
Inscription : 08-05-2009
Messages : 336
Site Web

Re : Compter le nombre de résultat d'une requête

Salut

Manque une virgule entre les info que tu souhaite. Affiche la requête avant de l'utiliser pour voir si elle est conforme a ce que tu attend. Tu peut ensuite l'essayer dans un Shell mysql ou phpmyadmin

@+


Il en faut peu pour être heureux pompompompompompompompompompompom

Hors ligne

#3 07-08-2010 18:33:54

Capi
Membre
Inscription : 03-03-2010
Messages : 45

Re : Compter le nombre de résultat d'une requête

Désolé c'est juste que j'ai changé le nom pour éviter de tout mettre. Dans le vrai code les virgules sont bien présentes, et le problème est que la requête liste toute la table... Quand elle devrait n'en lister qu'une partie ou alors m'afficher "pas de résultat".

Merci !!

Hors ligne

#4 07-08-2010 20:53:11

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : Compter le nombre de résultat d'une requête

Bonsoir,

Juste besoin d'une info car j'ai du mal à comprendre ton code.

En effet, si je ne m'abuse,

Capi a écrit :

...
$req = $bdd->query($sql);
...
while ($donnees = $req->fetch())
....

Sont des instructions PDO

Tandis que 

Capi a écrit :

if(mysql_num_rows($req))

est une commande de la bibliothèque MySQL.

Je ne comprends pas trop pourquoi tu utilises deux bibliothèques différentes pour accéder et afficher tes données. Si on dit souvent que "deux c'est mieux qu'une", je crois qu'ici ca peut être à l'origine de tes problèmes.^^ De plus, je serais curieux que tu nous donnes des exemples de ce que tu passes en valeur et avoir des infos sur la structure de ta table et d'un sommaire du contenu de dep2.

Bonne soirée.

Dernière modification par Jc (07-08-2010 20:56:06)


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#5 08-08-2010 03:29:49

Capi
Membre
Inscription : 03-03-2010
Messages : 45

Re : Compter le nombre de résultat d'une requête

Oui c'est pas faux...

Alors j'ai réussi à faire ce que je voulais de cette manière :

$req = $bdd->query($sql);
$array = $req->fetchALL();
$nb = count($array);

Quand au problème de tout qui s'affichait c'était une grosse erreur de ma part, je n'utilisais pas la bonne variable dans l'URL que je tapais à la main !

merci de votre aide

Hors ligne

Pied de page des forums