Image en fonction du sexe du membre

cobrachris Messages postés 85 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 19 mars 2007 - 13 avril 2005 à 10:15
cobrachris Messages postés 85 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 19 mars 2007 - 13 avril 2005 à 15:21
Bonjour,
Tout est dans le titre.

Voici mon code:
//requete determination sexe du membre
$requete = "SELECT sexe FROM membres ";
$resultats = mysql_query($requete) or die ("Erreur SQL :" . mysql_error());
$nbResults = mysql_num_rows ($resultats);


if($nbResults > 0)
{
while($row=mysql_fetch_array ($resultats))
{
extract($row);


// on affiche
$sex=htmlentities($row['sexe']);


if($sex=="m")
{
echo"";
}
else
if($sex=="f")
{
echo"";
}

il m'affiche l'erreur $end pour la fin de mon fichier, comment y remédier ?
SI vous voyez comment améliorer le code, je suis preneur.

Merci et @+.

22 réponses

tucsoufle Messages postés 1250 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 30 septembre 2007 1
13 avril 2005 à 10:20
salut,

y manque une accolade fermante



et écrit tes echo en simple quotes et les parametres html entre double quotes

comme ceci :

echo'';


voila

@+

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
13 avril 2005 à 10:40
Hello

tucsoufle ...

echo'/>';

<hr style="width: 100%; height: 2px;">Si ma reponse te convient, merci de l'accepter ! Coloration de code php :
0
cobrachris Messages postés 85 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 19 mars 2007
13 avril 2005 à 11:21
il manquais meme 2 accolades. ça s'affiche de nouveau, mais l'image en fonction du sexe n'aaparait pas.
Bizarre.
0
cobrachris Messages postés 85 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 19 mars 2007
13 avril 2005 à 11:34
bon, bizarre.
Maintenant il m'affiche l'image au dessus du tableau et à l'endroit ou je désiré l'image, il m'affiche le sexe (m ou f). Comment faire ?

Merci de votre aide.
0

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

Posez votre question
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
13 avril 2005 à 11:38
Hello,



moi je ne pige pas un truc : pourquoi tu fais un htmlentities() sur ton $row['sexe'] s'il n'y a que m ou f dedans?



Et, dans ce champ donc, y a t il vraiment uniquement m ou f ... ?
0
cobrachris Messages postés 85 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 19 mars 2007
13 avril 2005 à 11:45
oui ds ce champ il n'y a que m ou f.
0
p3x Messages postés 214 Date d'inscription vendredi 30 juillet 2004 Statut Membre Dernière intervention 9 janvier 2019
13 avril 2005 à 12:10
-tout dabord enleve tes quotes dans les if elle servent a rien
-pis ensuite htmlentities tu peux aussi le virer
-pis je compren pas ton else
pour moi le script donnerai plus ca :

//requete determination sexe du membre
$requete = "SELECT sexe FROM membres ";
$resultats = mysql_query($requete) or die ("Erreur SQL :" . mysql_error());
$nbResults = mysql_num_rows ($resultats);
if($nbResults > 0)
{
while($row=mysql_fetch_array ($resultats))
{
extract($row);


// on affiche
$sex = $row['sexe'];


if($sex == m)
{
echo"";
}
if($sex == f)
{
echo"";
}
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
13 avril 2005 à 12:11
On reprend, corrige :



$requete = 'SELECT sexe FROM membres';
$resultats = mysql_query ($requete) or die ('Erreur SQL :' . mysql_error());
$nbResults = mysql_num_rows ($resultats);




if ($nbResults > 0) {
while ($row = mysql_fetch_assoc ($resultats)) {

// on affiche

if ($sex == 'm')
echo '';
else
echo '";

}

}


Ca fait quoi, la , exactement ?
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
13 avril 2005 à 12:14
-> p3x -> comment ca les cotes ne servent a rien dans le if ?

Essaye un script simple :

<?php

$txt = 'm';



if ($txt == m)

echo 'Ok!';

else

echo 'Pas ok';

?>



tu verras si il ne rale pas, php...



dans ton cas, m va etre traite comme une constante (CONSTANT).
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
13 avril 2005 à 12:15
ps, j'ai fait une tite boulette, enleve une ligne de trop lol :



$requete = 'SELECT sexe FROM membres';
$resultats = mysql_query ($requete) or die ('Erreur SQL :' . mysql_error());
$nbResults = mysql_num_rows ($resultats);




if ($nbResults > 0) {
while ($row = mysql_fetch_assoc ($resultats)) {

// on affiche

if ($row['sexe'] == 'm')
echo '';
else
echo '";

}

}

Vla.
0
tucsoufle Messages postés 1250 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 30 septembre 2007 1
13 avril 2005 à 12:19
oh lalalala j'ai honte pour la balise img je m'excuse

merci jojo de me ratrapper



pour obrachris, donc tu peut enlever le htmlentities

if(
$row['sexe']
"m")
{
echo'';
}
else
if(
$row['sexe']
"f")
{
echo'';
}



Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
0
tucsoufle Messages postés 1250 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 30 septembre 2007 1
13 avril 2005 à 12:21
pff j'ai du retard mon dieu

bon du coup je vous laisse faire vu que je fait des conneries...

Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
0
cobrachris Messages postés 85 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 19 mars 2007
13 avril 2005 à 12:27
malalam
avec ta solution, il m'affiche:
Parse error: parse error, unexpected T_LNUMBER, expecting ',' or ';' in ....

ce qui tombe sur cette ligne:
echo "<table border='0' style='border-collapse: collapse; border: 3px double #0066FF' bordercolor='#111111'>

en remplacant les simple quote par des doubles, l'erreur se transforme en $end, je ne vois pas ou rajouter une accolade de fermeture.
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
13 avril 2005 à 12:31
Mon code est juste, la il s'agit du tien lol.



Les accolades sur mon bout sont correctes.

La le probleme est un probleme de fermeture de ligne php.

Regarde plutot un peu plus haut que la ligne indiquee. Donne les tiens, disons les 3-4 lignes avant celle-ci.
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
13 avril 2005 à 12:34
Ah j'avais po bien regarde :



echo '<table border="0" style="border-collapse: collapse; border: 3px double #0066FF" bordercolor="#111111">';



Tu n'as pas ferme ton echo...j'ai aussi mis les doubles cotes.

Et je ne comprends pas ton bordercolor...pourquoi tu ne fais pas tout dans les styles ?
0
cobrachris Messages postés 85 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 19 mars 2007
13 avril 2005 à 12:42
malalam j'ai pris ton second code avec la boucle (tu as mis une " au lieu de ' au niveau de Femme">";
sinon, j'ai fais ainsi pour le tableau
echo "<table border='0'

tout s'affiche sauf que les images se mette au dessus du tableau et aucune différence entre sexe, les 2 images y sont.
0
cobrachris Messages postés 85 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 19 mars 2007
13 avril 2005 à 13:03
en ce qui concerne la fermeture de mon echo, je t'avais juste mis un bout du code, mais il est bien fermé
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
13 avril 2005 à 13:04
Oui t'as raison :-) bien vu!



Pour ton probleme...



Il y a un truc que je me demande...ta requete vas chercher TOUTES les
entrees du champ sexe. Donc il va t'afficher le gif male quand une
entree sera m et le gif femme quand une entree sera f, et ce pour
toutes tes entrees. A la suite, quoi. Tu cherches a afficher le sexe
d'un membre precis, on est d'accord ? Comment dis tu a mysql de
selectionner ce membre...? La tu ne lui dis rien, juste d'aller
chercher tout.

Pour resumer, si tu as 3 entrees dans ton champ sexe :

1 : m

2 : f

3 : m



tu auras a la suite :









et c'est normal...
0
cobrachris Messages postés 85 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 19 mars 2007
13 avril 2005 à 13:07
exact, quel idiot, j'oublis tjrs le truc important , LOL.
faut rajouté $SESSION n'est ce pas ?
comment le mettre ds ce cas ?

encore merci
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
13 avril 2005 à 13:20
Ben ca je n'en sais rien lol, ca depend de ta base.

Normalement...

Tu as dans ta table membre un champ id



Donc quand tu ouvres une session parce qu'un membre est connecte, tu recuperes sans doute cet id (il faudrait...)



ta requete devient alors :



$requete = mysql_query("SELECT sexe FROM membre WHERE id=".$_SESSION['idmembre']."");



Bon il faut adapter, la j'ai simplifie vu que je ne connais pas les clefs de ton tableau de session ni ta base.
0
Rejoignez-nous