Formulaire php/base de données
Résolu/Fermé
A voir également:
- Formulaire php/base de données
- Formulaire de réclamation facebook - Guide
- Formules excel de base - Guide
- Tnt base de données vide - Forum TNT / Satellite / Réception
- Germain veut gérer les activités de son association avec une base de données. il a commencé à créer des tables dans un fichier, mais il n’est pas sûr du résultat. le fichier à télécharger contient uniquement le schéma de cette base de données. en l’état actuel, que peut-on en déduire ? - Forum Outlook
- Exemple base de données access à télécharger gratuit ✓ - Forum Logiciels
9 réponses
toughzaa
Messages postés
80
Date d'inscription
vendredi 17 novembre 2006
Statut
Membre
Dernière intervention
12 septembre 2013
5
10 janv. 2010 à 15:20
10 janv. 2010 à 15:20
$elu=$_POST['elu']; print("<center>vous avez choisi $elu</center>"); => cela affiche le vote effectué ?
$ret = mysql_select_db ($base) or die (mysql_error ()); => Pas d'erreur ?
Sinon ajoute cela :
$sql = mysql_query('UPDATE humour SET nb_vote="'.$new_nbvote.'" WHERE num_photo = "'.$numphoto.'");
Ca devrait marcher
$ret = mysql_select_db ($base) or die (mysql_error ()); => Pas d'erreur ?
Sinon ajoute cela :
$sql = mysql_query('UPDATE humour SET nb_vote="'.$new_nbvote.'" WHERE num_photo = "'.$numphoto.'");
Ca devrait marcher
Merci pour ta réponse, en fait, je n'arrive même pas à afficher le vote effectué
$elu=$_POST['elu']; print("<center>vous avez choisi $elu</center>"); => cela affiche seulement : "vous avez choisi"
J'ai l'impression que la donnée n'est pas transmise, mais je ne vois pas du tout d'où ça vient (je suis une grande débutante...)
$elu=$_POST['elu']; print("<center>vous avez choisi $elu</center>"); => cela affiche seulement : "vous avez choisi"
J'ai l'impression que la donnée n'est pas transmise, mais je ne vois pas du tout d'où ça vient (je suis une grande débutante...)
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
10 janv. 2010 à 17:04
10 janv. 2010 à 17:04
$ret = mysql_query($req) or die (mysql_error ());
$num=mysql_num_rows($ret);
echo"$num auteur trouvé pour cette requete";
$new_nbvote=$ret["nb_vote"]+1;
ce code n'est pas bon
mysql_query fait l'extraction de la base et les réponses sont stockées en mémoire il faut aller les chercher
par un mysql_fetch...
et dans ton formulaire il manque echo:
$num=mysql_num_rows($ret);
echo"$num auteur trouvé pour cette requete";
$new_nbvote=$ret["nb_vote"]+1;
ce code n'est pas bon
mysql_query fait l'extraction de la base et les réponses sont stockées en mémoire il faut aller les chercher
par un mysql_fetch...
$ret = mysql_query($req) or die (mysql_error ()); $result=mysql_fetch_array($ret); // mysql_num_rows($ret); te renvoie seule ment le nombre d'enregistrements trouvés ! dans ton cas ce sera toujours 1 $new_nbvote=$result["nb_vote"]+1; echo "Vous avez voté pour ",$result["auteur"], "Il a maintenant",$new_nbvote, "voix.";
et dans ton formulaire il manque echo:
<INPUT TYPE="radio" NAME="elu" VALUE="<?php echo $row["num_photo"]; ?>" > <?php echo $row["auteur"]; ?> <br> <?php } ?>
Merci pour ta réponse Alain_42.
J'ai réussi à faire passer ma variable, il me manquait effectivement le "echo" dans mon formulaire.
le problème est que ma requête ne renvoie aucun enregistrement (alors qu'il devrait y en avoir un comme vous avez dit). Voici mon script :
$req = 'SELECT num_photo,auteur,nb_vote FROM humour WHERE num_photo = "$elu"';
$ret = mysql_query($req) or die (mysql_error ());
$result=mysql_fetch_array($ret);
$num=mysql_num_rows($ret);
echo"$num auteur trouvé pour cette requete";
$new_nbvote=$result["nb_vote"]+1;
$sql=mysql_query('UPDATE humour SET nb_vote=".$new_nbvote." WHERE num_photo = ".$numphoto."');
echo "Vous avez voté pour ",$result["auteur"], "Il a maintenant",$result["nb_vote"], "voix.";
?>
</body>
</html>
et mon écran m'affiche :
vous avez voté pour la photo numero11
0 auteur trouvé pour cette requeteVous avez voté pour Il a maintenantvoix.
Est-ce que ça vient d'un problème de syntaxe dans le print ? (je suis pas trop à l'aise sur ce point avec les variables)
J'ai réussi à faire passer ma variable, il me manquait effectivement le "echo" dans mon formulaire.
le problème est que ma requête ne renvoie aucun enregistrement (alors qu'il devrait y en avoir un comme vous avez dit). Voici mon script :
$req = 'SELECT num_photo,auteur,nb_vote FROM humour WHERE num_photo = "$elu"';
$ret = mysql_query($req) or die (mysql_error ());
$result=mysql_fetch_array($ret);
$num=mysql_num_rows($ret);
echo"$num auteur trouvé pour cette requete";
$new_nbvote=$result["nb_vote"]+1;
$sql=mysql_query('UPDATE humour SET nb_vote=".$new_nbvote." WHERE num_photo = ".$numphoto."');
echo "Vous avez voté pour ",$result["auteur"], "Il a maintenant",$result["nb_vote"], "voix.";
?>
</body>
</html>
et mon écran m'affiche :
vous avez voté pour la photo numero11
0 auteur trouvé pour cette requeteVous avez voté pour Il a maintenantvoix.
Est-ce que ça vient d'un problème de syntaxe dans le print ? (je suis pas trop à l'aise sur ce point avec les variables)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
10 janv. 2010 à 19:11
10 janv. 2010 à 19:11
$sql=mysql_query('UPDATE humour SET nb_vote=".$new_nbvote." WHERE num_photo = ".$numphoto."');
$numphoto ça sort d'ou ?
pour ton pb fais un echo de $elu
pour voir ce que tu reçoit:
$numphoto ça sort d'ou ?
$sql=mysql_query('UPDATE humour SET nb_vote=".$new_nbvote." WHERE num_photo = ".$elu."');serait mieux
pour ton pb fais un echo de $elu
pour voir ce que tu reçoit:
echo "Numero elu: ".$elu; $req = 'SELECT num_photo,auteur,nb_vote FROM humour WHERE num_photo = "$elu"'; ......
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
10 janv. 2010 à 20:49
10 janv. 2010 à 20:49
essayes avec:
en php dans les chaines qui commencent et finissent par ' les variables ne sont pas interpréptées, elles le sont dans les chaines qui sont encadrées par des"
donc essayes:
en php dans les chaines qui commencent et finissent par ' les variables ne sont pas interpréptées, elles le sont dans les chaines qui sont encadrées par des"
donc essayes:
$req = 'SELECT num_photo,auteur,nb_vote FROM humour WHERE num_photo = "'.$elu.'"'; OU $req = "SELECT num_photo,auteur,nb_vote FROM humour WHERE num_photo = '$elu'";
Avec quelques modifications, je me suis rendue compte qu'en remplaçant ".$elu." par un nombre, ma 1ere requete (select...) fonctionne et me renvoie ce que je veux obtenir. Cela viendrait d'un problème de syntaxe ?
Quant à la 2eme, au lieu de m'ajouter 1 voix, elle m'a initialisé à 0 !? ($new_nbvote=$result["nb_vote"]+1; semble fonctionner)
Quant à la 2eme, au lieu de m'ajouter 1 voix, elle m'a initialisé à 0 !? ($new_nbvote=$result["nb_vote"]+1; semble fonctionner)
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
10 janv. 2010 à 21:07
10 janv. 2010 à 21:07
regardes la réponse que je viens de te faire