Problème avec mysql_num_rows

joujma5 Messages postés 152 Date d'inscription samedi 11 novembre 2006 Statut Membre Dernière intervention 5 décembre 2014 - 15 juin 2010 à 21:52
joujma5 Messages postés 152 Date d'inscription samedi 11 novembre 2006 Statut Membre Dernière intervention 5 décembre 2014 - 18 juin 2010 à 10:11
bonjour,j'ai un problème qui me gène en effet il s'agit d'un code qui sélectionne à partir de données déjà récupérer les enregistrement d'une base
si le nombre d'enregistrement est 0 alors il y'aura insertion si nn affcihage d'un message javacript.
mon problème est que dans les deux cas il y'a affichage du message javascript malgré que lorsque g essayé d'afficher le nombre enregistrement il me donne les vrai valeur de la table (s'il ya des enregistrement il me donne le nombre juste si nn il me donne 0) voici le code:
Code PHP :

<?php
session_start();
?>
<?php
$id=$_GET['id'];
$vid=$_GET['vid'];
$nom=$_SESSION['log'];
$link=mysql_connect("localhost","root","")or die("echec serveur");
$db=mysql_select_db('video')or die("echec BD");
$requet=mysql_query("SELECT * FROM favories WHERE user='$nom' AND id_video='$id'")or die("echec select");
$nb=mysql_num_rows($requet);
if($requet == false){
$req=mysql_query("insert into favories values('','$nom','$id','$vid')")or die("echec insertion");
echo "<script language='javascript'>window.location.href='favories.php';</script>";
}
else
{
echo "<script language='javascript'>alert('vidéo déjà existant dans vos favories');history.go(-1);</script>";
}
?>



merci bien pour votre aide

9 réponses

devil_may_cry Messages postés 194 Date d'inscription dimanche 18 mars 2007 Statut Membre Dernière intervention 11 juillet 2015
16 juin 2010 à 03:20
salut joujma5
si tu fait if($requet == false) tu controle si la requete s'est executer oui ou non donc sa ne controle pas si la video existe ou non plutot
apres
$requet=mysql_query("SELECT * FROM favories WHERE user='$nom' AND id_video='$id'")or die("echec select");

tu verifie si la requete retoune un resultat oui ou non
if(mysql_numrows($requet) == 0 ) {
//aucun resultat on insere
$req=mysql_query("insert into favories values('','$nom','$id','$vid')")or die("echec insertion"); 
} else {
//il y'a au moins un resultat
echo "<script language='javascript'>alert('vidéo déjà existant dans vos favories');history.go(-1);</script>"; 
}
0
joujma5 Messages postés 152 Date d'inscription samedi 11 novembre 2006 Statut Membre Dernière intervention 5 décembre 2014
16 juin 2010 à 17:09
dsl cher ami mais j'ai bien utilisé if(mysql_numrows($requet) == 0 ) ,d'habitude ça marche très bien lorsque je travaille sous wmapserver mais cette fois ça n'as pa s voulu aller avec easyphp 1.8
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
16 juin 2010 à 20:15
Salut,

dsl cher ami mais j'ai bien utilisé if(mysql_numrows($requet) == 0 )

Ah bon ? Où ça ?
Comme devil_may_cry je ne vois qu'un "if($requet false){ ", et certainement pas un "if(mysql_numrows($requet) 0 )"

Sans chercher à voir plus loin il y a déjà un problème à ce niveau.
En ce qui concerne Wamp et EasyPHP je ne vois pas quelles différences il pourrait y avoir pour ce genre de chose.

Cordialement,


Kohntark -
0
joujma5 Messages postés 152 Date d'inscription samedi 11 novembre 2006 Statut Membre Dernière intervention 5 décembre 2014
17 juin 2010 à 11:54
t'as raison cher mai j'ai pas poster le code juste et comme j'ai déjà dis à Cheikh le problème persiste et je ne c pas pourkoi car normalment il n'y a pas d'erreur, ce ke me fait,il m'affiche toujours le message javascript mm si l'insertion est effectuer et que le num_rows=0
<?php 
session_start(); 
?> 
<?php 
$id=$_GET['id']; 
$vid=$_GET['vid']; 
$nom=$_SESSION['log']; 
$link=mysql_connect("localhost","root","")or die("echec serveur"); 
$db=mysql_select_db('video')or die("echec BD"); 
$requet=mysql_query("SELECT * FROM favories WHERE user='$nom' AND id_video='$id'")or die("echec select"); 
$nb=mysql_num_rows($requet); 
if($nb == 0){ 
$req=mysql_query("insert into favories values('','$nom','$id','$vid')")or die("echec insertion"); 
echo "<script language='javascript'>window.location.href='favories.php';</script>";
} 
else 
{ 
echo "<script language='javascript'>alert('vidéo déjà existant dans vos favories');history.go(-1);</script>"; 
} 
?> 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
17 juin 2010 à 19:42
et comme j'ai déjà dis à Cheikh



Si tu ne postes pas le code juste je vois mal comment nous pourrions t'aider.

Je ne vois pas de raison qui ferait que ça ne fonctionne pas.
Si tu remplaces :
if($nb == 0){ 
$req=mysql_query("insert into favories values('','$nom','$id','$vid')")or die("echec insertion"); 
echo "<script language='javascript'>window.location.href='favories.php';</script>";
} 
else 
{ 
echo "<script language='javascript'>alert('vidéo déjà existant dans vos favories');history.go(-1);</script>"; 
} 


par :
if($nb == 0){ 
   echo 'aucun résultat trouvé : '.$nb;
} else { 
   echo $nb.' résultats trouvés';
} 




Ca donne quoi ?


Kohntark -
0
joujma5 Messages postés 152 Date d'inscription samedi 11 novembre 2006 Statut Membre Dernière intervention 5 décembre 2014
18 juin 2010 à 00:54
il me donne les vrai valeur

if($nb == 0){
echo 'aucun résultat trouvé : '.$nb;----->donne 0
} else {
echo $nb.' résultats trouvés';------->donne 1
}
c'est ça qui m'a géné j'ai tester avant,il m'affiche les vrais valeur mais lorsque je met la requete d'insertion tt change.que ce soit il a eu insertion ou nn le message javascript s'affiche
0
devil_may_cry Messages postés 194 Date d'inscription dimanche 18 mars 2007 Statut Membre Dernière intervention 11 juillet 2015
18 juin 2010 à 05:21
donc verifie avec tes scripts javascript s'il ne te recharge pas ta page de ce faite tu as l'enregistrement deja existant au retour
0
devil_may_cry Messages postés 194 Date d'inscription dimanche 18 mars 2007 Statut Membre Dernière intervention 11 juillet 2015
18 juin 2010 à 05:26
et aussi regarde ca de prés WHERE user='$nom' AND id_video='$id' si l'une des condition est fausse tu aurra l'insertion donc l'affichage du javascript
0
joujma5 Messages postés 152 Date d'inscription samedi 11 novembre 2006 Statut Membre Dernière intervention 5 décembre 2014
18 juin 2010 à 10:11
g tt vérifier cher ami, j'ai déjà utiliser jquery pour l'appel de cette page dans une autre en changeant les messages javascript en un echo et ça a marché très bien.
0
Rejoignez-nous