problème de doublette

Répondre
sparh
le 25/06/2006 à 16:08
sparh
Bon re re re salut ;)
j'ai réglé mes différents problèmes précé dent et en voilà un nouveau qui survient!
donc j ai un fichier qui me permet d'afficher qui est connecté: mais il affiche les résultats en double:
<? session_start();
if ( !session_is_registered("email") )
{
print "<div id=pub align=center><a href='http://monsite/Membre/inscription.php'>Inscrivez vous dans la zone membre de Sparh Prods</a></div>";
}
else
{
include("config.php");
include("include/variable.php");

$db = mysql_connect($serveur, $login, $password);
mysql_select_db($base,$db);
//exprimé en secondes depuis janvier 1970
$temps=time()-$connecxion*60; // moment il y a 30 minutes,
$heure=time();
//avoir le pseudo avec l'email


$sql=("select pseudo from $table Where email='$cokmail'");
$result=mysql_query($sql);
$rs=mysql_fetch_array($result);
$pseudo=$rs["pseudo"];
//avoir le sexe
$sql=("select sexe from $table Where email='$cokmail'");
$result=mysql_query($sql);
$rs=mysql_fetch_array($result);
$sexe=$rs["sexe"];
//avoir l'image
$sql=("select image from $table Where email='$cokmail'");
$result=mysql_query($sql);
$rs=mysql_fetch_array($result);
$image=$rs["image"];

// on vire tous les membres qui ont pas bougé depuis ce $temps, et aussi le gars qui affiche la page maintenant
mysql_query ("delete from $table1 WHERE heure<'$temps' or email = '$cokmail'");
// on réinsère le gars dans la table, avec l'heure actuelle exprimée en secondes
mysql_query ("INSERT INTO $table1 (id, pseudo, email, sexe,image,heure) VALUES ('$id','$pseudo','$cokmail','$sexe','$image','$heure') ");
$result= mysql_query ("select * from $table1");
//ici si le sexe est homme je place je gif homme si une femme le gif femme et si un couple gif couple

while($rs=mysql_fetch_array($result))
{

$sexe=$rs["sexe"];
if ($sexe=="Homme"){
$photo="<img src='http://monsite/Membre/imagesite/homme.gif'>";
}
elseif ($sexe=="Femme"){
$photo="<img src='http://sparh.free.fr/Membre/imagesite/femme.gif'>";
}
else {
$photo="<img src='http://monsite/Membre/imagesite/couple.gif'>";
}
$image="<img src='http://sparh.free.fr/Membre/imagesite/vert.gif'>";
$nom=$rs["pseudo"];
$listeconnecte.=$image.'&nbsp;&nbsp;<b>'. $photo.$rs['pseudo']." ~</b>&nbsp;<a href=http://monsite/Membre/messages/messages.php?pseudo=$nom target=_blank>Lui envoyer un message</a>";

}
$db = mysql_connect($serveur, $login, $password);
mysql_select_db($base,$db);
$sql=("select pseudo from $table Where email='$email'");
$result=mysql_query($sql);
$rs=mysql_fetch_array($result);
$pseudo=$rs["pseudo"];
$query = "SELECT sujet FROM $table3 WHERE destinataire LIKE '$pseudo' And lu=0";
$resultat = mysql_query($query);
$messages = mysql_num_rows($resultat);
//compteurs pour les messages

if($messages>="1"){
echo" <div id=pub align=center><img src=\"http://monsite/Membre/imagesite/email.gif\" width=\"25\" height=\"25\">&nbsp;<a href=\"http://monsite/Membre/messages/liremessages.php\" title=\"Lire les messages\">Vous avez $messages nouveaux messages</a>&nbsp;<a href=\"http://monsite/Membre/deconnect.php\" title=\"Se déconnecter\">(Se déconnecter)</a></div> ";
}
else{echo"<div id=pub align=center><a href=\"http://monsite/Membre/messages/liremessages.php\" title=\"Allez à la boîte de réception\">Bonjour $pseudo vous avez $messages nouveau message</a>&nbsp;<a href=\"http://monsite/Membre/deconnect.php\" title=\"Se déconnecter\">(Se déconnecter)</a></div> ";
}
echo "<center>Les utilisateurs en ligne:<br>
$listeconnecte</center>";

}
?>

Voilà, j comprends pas pourquoi il me sors pour chaque enregistrement: la ligne de l'enregistremen + un enregistrement vide
si c pas très clair j peu essayer de préciser!
LA GLOBULE
le 25/06/2006 à 17:44
LA GLOBULE
Je n'ai pas tout lu, mais pourquoi fais tu 3 requetes SQL alors qu'une seule suffit ?

$sql=("select pseudo from $table Where email='$cokmail'");
$sql=("select sexe from $table Where email='$cokmail'");
$sql=("select image from $table Where email='$cokmail'");

Remplace çà par :

$sql = "select pseudo, sexe, image from ".mysql_escape_string($table)." Where email='".mysql_escape_string($cokmail)."'";
fabrice11901
le 25/06/2006 à 23:26
fabrice11901
salut
Effectivement, cela ne te sert à rien de faire plusieurs requete.
Je suis sur msn demain on en discute...
a+
moi, j'adore le php !
sparh
le 27/06/2006 à 19:58
sparh
Ok merci pour le conseil, mais cela ne résoud pas le pb!
J'ai pas trop le tps de m'occuper deça cette semaine mais serai la ce week end pour ré engager la discussion ;)
ps: encore merci pour le dépannage de samedi dernier!
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours