Fork me on GitHub






Besoin aide pour requete mysql
Régulier
Inscrit: 27/02/2005 12:24
De longwy(54)
Messages: 425
bonsoir a tous question simple pour les pro de la database

voila je voudrais implementer cette commande "blockeduid=$friendid" en plus des 2 autres


$sql = "SELECT Count(*) FROM ".$xoopsDB->prefix("mylove")." WHERE (uid=$uid AND lovuid=$friendid)";

j'ai essayer comme ca

$sql = "SELECT Count(*) FROM ".$xoopsDB->prefix("mylove")." WHERE (uid=$uid AND lovuid=$friendid AND blockeduid=$friendid)";

mais ca marche pas des masse,quelqu'un peut t'il m'aider?

Posté le : 17/08/2006 23:14

Edité par daviddu54 sur 18/08/2006 18:33:17

Marre des sites de rencontre payants? alors vient t'inscrire sur I seek you
http://www.iseekyou.fr
Open in new window
Partager Twitter Partagez cette article sur GG+
Re: Besoin aide pour requete mysql
Xoops accro
Inscrit: 04/02/2003 01:54
De Le Mans
Messages: 12273
j'ai pas trop compris ce que tu voulais faire mais la syntaxe de la dernière requête devrait plutôt ressembler à ceci :

$sql "SELECT Count(*) FROM ".$xoopsDB->prefix("mylove")." WHERE (uid=".$uid." AND lovuid=".$friendid." AND blockeduid=".$friendid".)";

Posté le : 17/08/2006 23:32
Partager Twitter Partagez cette article sur GG+
Re: Besoin aide pour requete mysql
Régulier
Inscrit: 27/02/2005 12:24
De longwy(54)
Messages: 425
merci christian

en faite entre temp j'ai essayer avec "OR" est ca marche ,mais ce n'est pas ce que je voulait ,car c'est le meme message de redirection pour les 2 test de presence

en faite j'aimerai faire ce test en premier,j'ai essayer comme ca mais ca marche pas


case "addfriend": // Add someone to your friendlist
$member_handler =& xoops_gethandler('member');
$thisUser =& $member_handler->getUser($friendid);
if (!is_object($thisUser) || !$thisUser->isActive()) { // Only add valid profiles as your friendlist
redirect_header("myfriend.php",3,_PROFILE_MA_SELECTNG);
exit();
}
$sql = "SELECT Count(*) FROM ".$xoopsDB->prefix("mylove")." WHERE (uid=$uid AND blockeduid=$friendid)";
$res = $xoopsDB->query($sql);
list($ismyfriend) = $xoopsDB->fetchRow($res);
if ($ismyfriend == 0) {redirect_header('myfriend.php',5,_MLS_BLOCKED_PROFIL);
exit();
}

$sql = "SELECT Count(*) FROM ".$xoopsDB->prefix("mylove")." WHERE (uid=$uid AND fuid=$friendid)";
$res = $xoopsDB->query($sql);
list($ismyfriend) = $xoopsDB->fetchRow($res);
if ($ismyfriend == 0) { // This member isn't your friend yet.
$sqlstr ="INSERT INTO ".$xoopsDB->prefix("my love")." (uid, fuid) VALUES ($uid, $friendid)";
$req1=mysql_query($sqlstr);

redirect_header('myfriend.php',5,_MLS_FRIEND_ADDED);
exit();
} else {
redirect_header('myfriend.php',5,_MLS_FRIEND_ALREADY);
exit();
}

Posté le : 18/08/2006 00:15

Marre des sites de rencontre payants? alors vient t'inscrire sur I seek you
http://www.iseekyou.fr
Open in new window
Partager Twitter Partagez cette article sur GG+
Re: Besoin aide pour requete mysql
Régulier
Inscrit: 06/01/2006 23:55
Messages: 379
non les 2 propositions sont exactement pareil en php
ca
$sql " WHERE (uid=".$uid." AND lovuid=".$friendid." AND blockeduid=".$friendid".)";

c'est pareil que ca
$sql " WHERE (uid=$uid AND lovuid=$friendid AND blockeduid=$friendid)";

C'est la difference entre " et '
si ca avait ete entre ' c clair que la c'etait pas pareil...
Si tu codes
$toto = 1;
$sql = '$toto';
et que tu affiches echo $sql
tu auras comme resultat $toto a l'ecran
si tu codes
$toto = 1;
$sql = "$toto";
echo $toto donnera 1 à l'ecran.

Maintenant par contre si tes donnees a tester sont des chaines de caracteres par contre c'est pas bon ni l'une ni l'autre (typiquement si il blockeduid est une chaine de caractere c'est pas comme cela qu'il faut l'ecrire) mais j'ai des doutes que des uid soient des chaines de caracteres.

Maintenant comme cela ne connaissant pas la structure de ta table, franchement je peux pas t'aider... en tout cas la c'est cense de compter le nombre de ligne ou uid, lovuid et blockeuid sont connus

Enfin donnes nous ta structure de table et ce a quoi correspond tes donnees et ce que tu veux obtenir, et on pourra peut etre t'aider.

Posté le : 18/08/2006 00:17
Partager Twitter Partagez cette article sur GG+
Re: Besoin aide pour requete mysql
Régulier
Inscrit: 27/02/2005 12:24
De longwy(54)
Messages: 425
merci de me repondre ma table "my love" ne contient que des chiffres (les uid de l'utilisateur)

ce que je veut faire c'est ajouter une verification avec un redirection et un message d'erreur en plus voila la fonction orginale

case "addfriend": // Add someone to your friendlist
$member_handler =& xoops_gethandler('member');
$thisUser =& $member_handler->getUser($friendid);
if (!is_object($thisUser) || !$thisUser->isActive()) { // Only add valid profiles as your friendlist
redirect_header("myfriend.php",3,_PROFILE_MA_SELECTNG);
exit();
}


$sql = "SELECT Count(*) FROM ".$xoopsDB->prefix("mylove")." WHERE (uid=$uid AND fuid=$friendid)";
$res = $xoopsDB->query($sql);
list($ismyfriend) = $xoopsDB->fetchRow($res);
if ($ismyfriend == 0) { // This member isn't your friend yet.
$sqlstr ="INSERT INTO ".$xoopsDB->prefix("my love")." (uid, fuid) VALUES ($uid, $friendid)";
$req1=mysql_query($sqlstr);

redirect_header('myfriend.php',5,_MLS_FRIEND_ADDED);
exit();
} else {
redirect_header('myfriend.php',5,_MLS_FRIEND_ALREADY);
exit();
}

voila et moi je voudrait qu'il verifie si blockeruid et egale au friendid et si c'est le cas qu'il redirige sinon qu'il continue la prochaine verification

Organigramme :
$fonction addfriend
SI $PROFILACTIF CONTINUE
SINON REDIRECTION
SI $BLOCKEDUID=$FRIENDID REDIRECTION
SINON CONTINUE
SI $FRIENDID=$FUID REDIRECTION
SINON INSERE $UID+$UID ET $FUID+$FRIENDID
FIN

Posté le : 18/08/2006 00:37

Marre des sites de rencontre payants? alors vient t'inscrire sur I seek you
http://www.iseekyou.fr
Open in new window
Partager Twitter Partagez cette article sur GG+
Re: Besoin aide pour requete mysql
Guest_
Salut,

Essayes ta requête dans phpmyadmin afin de voir si le problème vient de la requête en elle même ou de ton code Php.

Hervé

Posté le : 18/08/2006 09:42
Partager Twitter Partagez cette article sur GG+
Re: Besoin aide pour requete mysql
Régulier
Inscrit: 06/01/2006 23:55
Messages: 379
ok alors si je comprends bien
uid c le uid de l'utilisateur
friendid c sense etre uid d'un ami
blockeduid c sense etre l'uid que tu as bloques

En gros tu veux savoir si l'uid que tu veux rajouter est dans ta liste d'utilisateur bloque ou ami

Ton avant dernier essai est presque bon :
case "addfriend"// Add someone to your friendlist
$member_handler =& xoops_gethandler('member');
$thisUser =& $member_handler->getUser($friendid);
if (!
is_object($thisUser) || !$thisUser->isActive()) { // Only add valid profiles as your friendlist
redirect_header("myfriend.php",3,_PROFILE_MA_SELECTNG);
exit();
}
$sql "SELECT Count(*) FROM ".$xoopsDB->prefix("mylove")." WHERE (uid=$uid AND blockeduid=$friendid)";
$res $xoopsDB->query($sql);
list(
$ismyfriend) = $xoopsDB->fetchRow($res);
if (
$ismyfriend == 0) {redirect_header('myfriend.php',5,_MLS_BLOCKED_PROFIL);
exit();
}

$sql "SELECT Count(*) FROM ".$xoopsDB->prefix("mylove")." WHERE (uid=$uid AND fuid=$friendid)";
$res $xoopsDB->query($sql);
list(
$ismyfriend) = $xoopsDB->fetchRow($res);
if (
$ismyfriend == 0) { // This member isn't your friend yet.
$sqlstr ="INSERT INTO ".$xoopsDB->prefix("my love")." (uid, fuid) VALUES ($uid$friendid)";
$req1=mysql_query($sqlstr);

redirect_header('myfriend.php',5,_MLS_FRIEND_ADDED);
exit();
} else {
redirect_header('myfriend.php',5,_MLS_FRIEND_ALREADY);
exit();
}

ton erreur est sur ton test de redirection pour tester si c bloque
tu dois pas tester si c == 0 mais au contraire si c'est different, et oui si tu recuperes rien c justement que ton utilisateur n'est pas bloqué
Donc a priori avec la comprehension que j'ai de ton pb ca serait plutot cela
case "addfriend"// Add someone to your friendlist
$member_handler =& xoops_gethandler('member');
$thisUser =& $member_handler->getUser($friendid);
if (!
is_object($thisUser) || !$thisUser->isActive()) { // Only add valid profiles as your friendlist
redirect_header("myfriend.php",3,_PROFILE_MA_SELECTNG);
exit();
}
$sql "SELECT Count(*) FROM ".$xoopsDB->prefix("mylove")." WHERE (uid=$uid AND blockeduid=$friendid)";
$res $xoopsDB->query($sql);
list(
$ismyfriend) = $xoopsDB->fetchRow($res);
if (
$ismyfriend != 0) {redirect_header('myfriend.php',5,_MLS_BLOCKED_PROFIL);
exit();
}

$sql "SELECT Count(*) FROM ".$xoopsDB->prefix("mylove")." WHERE (uid=$uid AND fuid=$friendid)";
$res $xoopsDB->query($sql);
list(
$ismyfriend) = $xoopsDB->fetchRow($res);
if (
$ismyfriend == 0) { // This member isn't your friend yet.
$sqlstr ="INSERT INTO ".$xoopsDB->prefix("my love")." (uid, fuid) VALUES ($uid$friendid)";
$req1=mysql_query($sqlstr);

redirect_header('myfriend.php',5,_MLS_FRIEND_ADDED);
exit();
} else {
redirect_header('myfriend.php',5,_MLS_FRIEND_ALREADY);
exit();
}

Posté le : 18/08/2006 11:50
Partager Twitter Partagez cette article sur GG+
Re: Besoin aide pour requete mysql
Régulier
Inscrit: 27/02/2005 12:24
De longwy(54)
Messages: 425
Merci a vous

je laisse tomber la redirection pour les utilisateurs bloquer

et j'ai reussi a accoupler les 2 requetes de verification en faisant comme ca

$sql "SELECT Count(*) FROM ".$xoopsDB->prefix("mylove")." WHERE (uid=$uid AND fuid=$friendid  OR uid=$friendid AND blockeduid=$uid)";
        
$res $xoopsDB->query($sql);
        list(
$ismyfriend) = $xoopsDB->fetchRow($res);
        if (
$ismyfriend == 0) { // This member isn't your friend yet.
            
$sqlstr ="INSERT INTO ".$xoopsDB->prefix("mylove")." (uid, fuid) VALUES ($uid$friendid)";
            
$req1=mysql_query($sqlstr);

ya plein de chose bizarre dans ce modules (il doit etre posseder )

A propos c'est le module mylatinsoulmate que je refait a la sauce xoops 2.0.13.2 ,avec des securitées est beaucoup plus d'option,le module s'appellera mylove

Posté le : 18/08/2006 17:59

Marre des sites de rencontre payants? alors vient t'inscrire sur I seek you
http://www.iseekyou.fr
Open in new window
Partager Twitter Partagez cette article sur GG+
Re: Besoin aide pour requete mysql
Régulier
Inscrit: 06/01/2006 23:55
Messages: 379
Attention a ta requete la...

Si mes souvenirs sont bons le OR est prioritaire donc ca
$sql "SELECT Count(*) FROM ".$xoopsDB->prefix("mylove")." WHERE (uid=$uid AND fuid=$friendid  OR uid=$friendid AND blockeduid=$uid)";

ca fait ca
$sql "SELECT Count(*) FROM ".$xoopsDB->prefix("mylove")." WHERE (uid=$uid AND (fuid=$friendid  OR uid=$friendid) AND blockeduid=$uid)";


Attention a mettre les parentheses, c plus facile a lire et au moins personne se pose de question sur ce qui est reellement voulu. La pour moi il me semble que tu veux cela normalement
$sql "SELECT Count(*) FROM ".$xoopsDB->prefix("mylove")." WHERE (uid=$uid AND fuid=$friendid ) OR (uid=$friendid AND blockeduid=$uid)";

Et la tu verifies si j'ai bien compris que l'utilisateur uid n'a pas deja friendid dans ses amis ou si l'utilisateur uid ne fait pas partie de la liste des gens bloqués par friendid.

Posté le : 19/08/2006 13:12
Partager Twitter Partagez cette article sur GG+
Re: Besoin aide pour requete mysql
Régulier
Inscrit: 27/02/2005 12:24
De longwy(54)
Messages: 425
Salut est merrci pout tes lumieres

si tu a un truc pour assigner un avatar et un groupe predifini a un utilisateur suivant ce qu'il aura choisi comme option lors de l'enregistrement je suis preneur

Posté le : 20/08/2006 00:32

Marre des sites de rencontre payants? alors vient t'inscrire sur I seek you
http://www.iseekyou.fr
Open in new window
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

38 Personne(s) en ligne (32 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 38 | Plus ...