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.