Page 1 sur 2
Besoin d'un petit coup de pouce
Posté : 26 mai 2007, 12:19
par nadia39
Bonjour,
actuellement je travaille sur un projet : je dois créer un site de vote, c'est à dire sur ma page web il y aura des sites webs et je dois pouvoir voter pour chacun d'entre elles sur plusieurs critères.
J'ai déjà pas mal avancé sur le code mais j'ai un problème qui subsite : le système de notation fonctionne mais depuis que j'ai inséré une boucle while pour répéter ma création de formulaire à l'ensemble des sites web pour lesquels je souhaite qu'on puisse voter, je n'arrive pas à faire passer un id du site dans la requete pour inserer les données dans ma base .
Je vais joindre le code des mes pages .
Merci d'avance de votre aide .
Posté : 26 mai 2007, 12:20
par nadia39
<?php
$conecter=mysql_connect('localhost','identifiant','pass')or die ("erreur de connexion");
mysql_select_db('identifiant',$conecter) or die ("erreur de selection");
$requete = "SELECT * FROM site";
if($result = mysql_query($requete)){
while($ligne = mysql_fetch_row($result)){
$idsite=$ligne[1];
$lien=$ligne[2];
$photo=$ligne[3];
echo "<img src =\"$photo\" /></br>";
echo "<a href= \"$lien\" >$idsite </a> </br> ";
echo "<body bgcolor=000000><b><span style=font-size:10pt;><font color=red face=verdana>Ergonomie/Esthétique : </font></b>";
echo "<form name=\"form\" method=\"post\" action=\"savevote.php\">";
echo "<select size=\"1\" name=\"noteE\">";
echo "<option selected value=\"1\">1</option>";
echo "<option value=\"2\">2</option>";
echo "<option value=\"3\">3</option>";
echo "<option value=\"4\">4</option>";
echo "<option value=\"5\">5</option>";
echo "<option value=\"6\">6</option>";
echo "<option value=\"7\">7</option>";
echo "<option value=\"8\">8</option>";
echo "<option value=\"9\">9</option>";
echo "<option value=\"10\">10</option>";
echo "</select>";
echo "<b><span style=font-size:10pt;><font color=red face=verdana> Facilité de navigation : </font></b>";
echo "<form name=\"form\" method=\"post\" action=\"savevote.php\">";
echo "<select size=\"1\" name=\"noteN\">";
echo "<option selected value=\"1\">1</option>";
echo "<option value=\"2\">2</option>";
echo "<option value=\"3\">3</option>";
echo "<option value=\"4\">4</option>";
echo "<option value=\"5\">5</option>";
echo "<option value=\"6\">6</option>";
echo "<option value=\"7\">7</option>";
echo "<option value=\"8\">8</option>";
echo "<option value=\"9\">9</option>";
echo "<option value=\"10\">10</option>";
echo "</select>";
echo "<b><span style=font-size:10pt;><font color=red face=verdana> Technicité/Fiabilité : </font></b>";
echo "<form name=\"form\" method=\"post\" action=\"savevote.php\">";
echo "<select size=\"1\" name=\"noteT\">";
echo "<option selected value=\"1\">1</option>";
echo "<option value=\"2\">2</option>";
echo "<option value=\"3\">3</option>";
echo "<option value=\"4\">4</option>";
echo "<option value=\"5\">5</option>";
echo "<option value=\"6\">6</option>";
echo "<option value=\"7\">7</option>";
echo "<option value=\"8\">8</option>";
echo "<option value=\"9\">9</option>";
echo "<option value=\"10\">10</option>";
echo "</select></br></br>";
echo "<input type=\"submit\" name=\"submit\" value=\"Votez \"></br></br></br></br>";
}
}else{
echo " Erreur de requete de base de donnée </br>";
}
mysql_close();
?>
Posté : 26 mai 2007, 12:22
par nadia39
<?
$idsite = $_POST['idsite'];
$conecter=mysql_connect('localhost','identifiant','pass')or die ("erreur de connexion");
mysql_select_db('identifiant',$conecter) or die ("erreur de selection");
$date=date("y-m-d");
// On definit la variable ip adresse
$ip = $REMOTE_ADDR;
if($submit){
$ipeexists = "SELECT ip FROM vote WHERE ip='$ip'";
$req = mysql_query($ipeexists);
if (mysql_num_rows($req) > 0) {
echo "<body bgcolor=F7F5F5><br><br><br><br><br><b><p align=center><span style=font-size:10pt;><font color=red face=verdana>Votre avis a déjà été donné, merci.</p></font></b>";
print "<p align=center><span style=font-size:10pt;><font face=verdana><a href=javascript:history.back();>Retour</a>";
exit;
}
mysql_query("insert into `vote` values('','$idsite','$ip','$noteE','$noteN','$noteT','$date')");
$sql = "SELECT idsite FROM vote WHERE idsite='$idsite'";
$requete = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$nombre= mysql_num_rows($requete);
$sql1 = "SELECT noteE FROM vote WHERE idsite='$idsite'";
if($result = mysql_query($sql1)){
$tot=0;
$tot1=0;
$tot2=0;
while($ligne = mysql_fetch_row($result)){
$tot=$ligne[0]+$tot;
}
$moy=$tot/$nombre;
echo " la moyenne Ergonomie/Esthétique du site est ";
echo round($moy,2);
echo "</br>";
}else{
echo " Erreur de requete de base de donnée </br>";
}
$sql2 = "SELECT noteN FROM vote WHERE idsite='$idsite'";
if($result1 = mysql_query($sql2)){
while($ligne1 = mysql_fetch_row($result1)){
$tot1=$ligne1[0]+$tot1;
}
$moy1=$tot1/$nombre;
echo " la moyenne Facilité de navigation du site est ";
echo round($moy1,2);
echo "</br>";
}else{
echo " Erreur de requete de base de donnée </br>";
}
$sql3 = "SELECT noteT FROM vote WHERE idsite='$idsite'";
if($result2 = mysql_query($sql3)){
while($ligne2 = mysql_fetch_row($result2)){
$tot2=$ligne2[0]+$tot2;
}
$moy2=$tot2/$nombre;
echo " la moyenne Technicité/Fiabilité du site est ";
echo round($moy2,2);
echo "</br>";
}else{
echo " Erreur de requete de base de donnée </br>";
}
echo "--------------------------------------------------------------------------------------</br>";
echo "<font color=black face=Verdana size=2>Il y a <b>$nombre</b> votes pour ce site .<br>";
//Ligne de remerci�ent
echo "<b><p align=center><span style=font-size:12pt;><font color=navy face=verdana>Votre avis a bien été ajouté merci.</p></font></b><br><br><br>";
print "<p align=center><span style=font-size:10pt;><font face=verdana><a href=javascript:history.back();>Retour</a>";
// On ferme la connection �mysql
mysql_close();
}
?>
Posté : 26 mai 2007, 13:08
par sylvaing26
une chose pour commencer : ce serai bien que tu poste dton code a l'aide des balises PHP ca serai bien plus lisible pour nous
Posté : 26 mai 2007, 13:11
par nadia39
voila c'est fait ! il suffisait de demander !
Posté : 26 mai 2007, 14:26
par Sékiltoyai
Je ne sais pas si ca répond à ta question, mais tu peux passer l'id du site par des champs cachés :
<input type="hidden" name="nomdeladonnee" value="valeurdeladonnee" />
Posté : 26 mai 2007, 14:28
par thehawk
Ou alors une variable de session ces petites betes sont par moment tres pratique ^^
Posté : 26 mai 2007, 14:31
par Sékiltoyai
Par des variables de session, tu ne peux pas savoir quel formulaire a été posté. Et là il faut savoir dans toutes les ids, laquelle il faut utiliser pour la mise à jour, donc quel formulaire a été posté...
Posté : 26 mai 2007, 15:11
par Invité
je viens de modifier mon code mais la j'ai toujours un probléme mon code n'arrive pas à reconnaitre dans quel formulaire les notes ont été rentrés alors il me les ajoute pour le dernier site !
Posté : 26 mai 2007, 15:13
par nadia39
<?php
$conecter=mysql_connect('localhost','root','')or die ("erreur de connexion");
mysql_select_db('seb',$conecter) or die ("erreur de selection");
$result = mysql_query("SELECT * FROM site");
$num_rows = mysql_num_rows($result);
$i=1;
for($i=1 ;$i<=$num_rows ;$i++){
$ligne = mysql_fetch_row($result);
$idsite[$i]=$ligne[1];
$lien[$i]=$ligne[2];
$photo[$i]=$ligne[3];
echo "<input type=\"hidden\" name=\"idsite\" value=\"$idsite[$i]\">" ;
echo "<img src =\"$photo[$i]\" /></br>";
echo "<a href= \"$lien[$i]\" >$idsite[$i] </a> </br> ";
echo "<body bgcolor=FFFFFF><b><span style=font-size:10pt;><font color=red face=verdana>Ergonomie/Esthétique : </font></b>";
echo "<form name=\"form\" method=\"post\" action=\"savevote.php\">";
echo "<select size=\"1\" name=\"noteE\">";
echo "<option selected value=\"1\">1</option>";
echo "<option value=\"2\">2</option>";
echo "<option value=\"3\">3</option>";
echo "<option value=\"4\">4</option>";
echo "<option value=\"5\">5</option>";
echo "<option value=\"6\">6</option>";
echo "<option value=\"7\">7</option>";
echo "<option value=\"8\">8</option>";
echo "<option value=\"9\">9</option>";
echo "<option value=\"10\">10</option>";
echo "</select>";
echo "<b><span style=font-size:10pt;><font color=red face=verdana> Facilité de navigation : </font></b>";
echo "<form name=\"form\" method=\"post\" action=\"savevote.php\">";
echo "<select size=\"1\" name=\"noteN\">";
echo "<option selected value=\"1\">1</option>";
echo "<option value=\"2\">2</option>";
echo "<option value=\"3\">3</option>";
echo "<option value=\"4\">4</option>";
echo "<option value=\"5\">5</option>";
echo "<option value=\"6\">6</option>";
echo "<option value=\"7\">7</option>";
echo "<option value=\"8\">8</option>";
echo "<option value=\"9\">9</option>";
echo "<option value=\"10\">10</option>";
echo "</select>";
echo "<b><span style=font-size:10pt;><font color=red face=verdana> Technicité/Fiabilité : </font></b>";
echo "<form name=\"form\" method=\"post\" action=\"savevote.php\">";
echo "<select size=\"1\" name=\"noteT\">";
echo "<option selected value=\"1\">1</option>";
echo "<option value=\"2\">2</option>";
echo "<option value=\"3\">3</option>";
echo "<option value=\"4\">4</option>";
echo "<option value=\"5\">5</option>";
echo "<option value=\"6\">6</option>";
echo "<option value=\"7\">7</option>";
echo "<option value=\"8\">8</option>";
echo "<option value=\"9\">9</option>";
echo "<option value=\"10\">10</option>";
echo "</select></br></br>";
echo "<input type=\"submit\" name=\"submit\" value=\"Votez \"></br></br></br></br>";
}
mysql_close();
?>
Posté : 26 mai 2007, 15:14
par Invité
Je pensais que cela provenait que ma boucle while alors je l'ai remplacer par une boucle for mais j'ai toujours le meme problème ! je vais envoyé des impr-écran pour que vous voyez le problème
Posté : 26 mai 2007, 15:24
par nadia39
je vous envoie le code html
Posté : 26 mai 2007, 15:28
par Sékiltoyai
Je crois que ta page html est très très mal construite. Est ce que tu peux donner le source html que tu obtiens ?
Posté : 26 mai 2007, 15:30
par nadia39
- <input type="hidden" name="idsite" value="google">
<img src ="http://www.google.fr/intl/fr_fr/images/logo.gif" />
</br>
<a href= "http://www.google.fr" >google </a>
</br>
<body bgcolor=FFFFFF><b><span style=font-size:10pt;>
<font color=red face=verdana>Ergonomie/Esthétique : </font>
</b>
<form name="form" method="post" action="savevote.php">
<select size="1" name="noteE">
<option selected value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
<b><span style=font-size:10pt;>
<font color=red face=verdana> Facilité de navigation : </font>
</b>
<form name="form" method="post" action="savevote.php">
<select size="1" name="noteN">
<option selected value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select><b><span style=font-size:10pt;>
<font color=red face=verdana> Technicité/Fiabilité : </font>
</b>
<form name="form" method="post" action="savevote.php">
<select size="1" name="noteT">
<option selected value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
</br>
</br>
<input type="submit" name="submit" value="Votez ">
</br>
</br>
</br>
</br>
<input type="hidden" name="idsite" value="polytech"><img src ="http://www.polytech-savoie.fr/fileadmin ... LCME06.jpg" /></br><a href= "http://www.polytech.univ-savoie.fr" >polytech </a> </br> <body bgcolor=FFFFFF><b><span style=font-size:10pt;><font color=red face=verdana>Ergonomie/Esthétique : </font></b><form name="form" method="post" action="savevote.php"><select size="1" name="noteE"><option selected value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option></select><b><span style=font-size:10pt;><font color=red face=verdana> Facilité de navigation : </font></b><form name="form" method="post" action="savevote.php"><select size="1" name="noteN"><option selected value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option></select><b><span style=font-size:10pt;><font color=red face=verdana> Technicité/Fiabilité : </font></b><form name="form" method="post" action="savevote.php"><select size="1" name="noteT"><option selected value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option></select></br></br><input type="submit" name="submit" value="Votez "></br></br></br></br>
Posté : 26 mai 2007, 15:39
par Cyrano
Ton code est illisible.
Conseil : commence par créer la maquette HTML en dur et ensuite seulement tu intègres à partir des extraits de ta maquette.