Parse Error T_variable

Signaler
Messages postés
39
Date d'inscription
dimanche 23 mai 2004
Statut
Membre
Dernière intervention
20 mai 2007
-
Messages postés
39
Date d'inscription
dimanche 23 mai 2004
Statut
Membre
Dernière intervention
20 mai 2007
-
Voila je debute en PHP j'ai compris pas mal de chose mais la cette erreur je vois pas du tout d'ou elle veint dans mon script.

j'ai une page qui recupere des valeurs d'un fomulaire et entraine une actrion sur un autre page

donc voici les lignes apres et avant l'erreur

//création de la requête SQL:
$sql2 = "SELECT * FROM participant" ;


//exécution de notre requête SQL:
$requete = mysql_query( $sql2 ) or die( "ERREUR MYSQL numéro: ".mysql_errno()."
Type de cette erreur: ".mysql_error()."
\n" ) ;



while( $result = mysql_fetch_array( $requete ) )
{$requete2 mysql_query("SELECT vote FROM sondage WHERE vote'"$result["id_participant"]"'"); Erreur sur cette ligne
$NbrVote = mysql_num_rows($requete2);
// On calcule le pourcentage pour chaque choix
$pourcentage = round(($NbrVote / $total)*100);


echo("pour ".$result['name'].",".$NbrVote."vote, soit".$pourcentage."%");
}
}
else
{
echo 'Echec lors de l\'insertion du vote';
}

Alors si quelqu'un pouvais me renseigner.

Je suis sur c'est une ereur de frappe avec les " ou ' mais je ne comprends pas laquelle.

8 réponses

Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Hello,
$requete2 mysql_query("SELECT vote FROM sondage WHERE vote'".$result['id_participant']."'");
Messages postés
27
Date d'inscription
mercredi 3 septembre 2003
Statut
Membre
Dernière intervention
21 février 2005

salut !



essaie de virer les quotes comme ceci, ..."
SELECT vote FROM sondage WHERE

vote =". $result['id_participant'] );

a mon avis ton champ vote est de type int (sinon
verifie ca aussi), par contre tes requetes sont bizarres, (enfin j'ai
pas ta struture de base ... mais bon ) la on comprend que ton champ
vote correspond a un id_participant (donc une foreign
key) or il serai logique qu'il corresponde a un resulat (oui ou
non par ex), et dans ce cas tu recupere tous les votes d'un votant et
non d'un sondage ...



enfin comme je dis j'ai pas ta base sous les yeux, et je peux peux pas
savoir (en plus je suppose qu'il n'y a qu'une partie du code) mais
c'est l'impression laissé ...



@++
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Salut ;-)



Si ton vote est de type int choisis la deuxième solution sinon celle de malalam convient ;-)

a ++

<hr size="2" width="100%">







<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li><li>Forum de dépannage informatique: 14 catégories pour résoudre vos problèmes informatiques</li><li>Tutorial PHP : apprendre le PHP: Tutorial PHP</li><li>Optimiser PHP: Optimiser vos scripts PHP</li>
Messages postés
39
Date d'inscription
dimanche 23 mai 2004
Statut
Membre
Dernière intervention
20 mai 2007

Effectivement mon vote est de type int
En fait c'est une radio box dont la valeur est l'identifiant d'une personne dans la table participant composé id(int), name(char),photo(char)
j'ai une deuxieme table qui est sondé qui correspond au personnes sondé donc qui ont voté sur laquel j'insert le vote de la personne don un int equivalent a l'id et le nom de la personne, qui se trouve dans la table de log.

elnawak met ceci SELECT vote FROM sondage WHERE
vote =". $result['id_participant'] );

mais ne doit il pas y avoir "" avant la ); fermante?

En tout cas je vais essayer ca deja.
Messages postés
39
Date d'inscription
dimanche 23 mai 2004
Statut
Membre
Dernière intervention
20 mai 2007

bon j'ai mis ce que me donne elnawak et je l'en remercie mais maintenant j'ai une erreur SQL ligne 1 verifier Mysql ........
Bon j'ai tout reglé maintenant ca ecrit dans les tables correctement et tout mais j'ai un autre probleme maintenant vous allez comprendre

voici le code

echo('<form method="post" action="vote.php">');
//on affiche les participants
while( $result = mysql_fetch_array( $requete ) )
{
$i= 1;
echo( ''.$result["name"].'
') ;
$i = $i+1;
}


//bouton de validation
echo('</form>');


Comme vous le voyez j'ia une boucle qui affiche des nom en fonction des valeurs d'une table

Donc la valeur de retour est l'id des personnes mais a chaque fois ca retourne 0 que je met $i ou un truc du style $result["id_participant"] par contre si je met une valeur du style 1 ca marque bien 1 dans la table donc je comprend pas bien la non plus ce qu'il faut metre pour que ca prenne la valeur de la variable.
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Ton $i dans la boucle ne sert strictement à rien, il sera toujours égal à 1, donc pour le vote tu peux mettre directement name="vote" value="1" />



a +

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li><li>

</li>
Messages postés
39
Date d'inscription
dimanche 23 mai 2004
Statut
Membre
Dernière intervention
20 mai 2007

oui justement moi je veux que la value soit eagle a l'id_participant

voici le debut du code
//On récupère les noms des participants
$sql2 = "SELECT * FROM participant" ;


//exécution de notre requête SQL:
$requete = mysql_query( $sql2 ) or die( "ERREUR MYSQL numéro: ".mysql_errno()."
Type de cette erreur: ".mysql_error()."
\n" ) ;