Forums Rue-Montgallet.com
Rue-Montgallet.comRue-Hardware.comRue-Occasion.comRue-DVD.comRue-Jeuxvideo.comRue-AudioVideo.comRue-Telephone.comForums
S'inscrire | S'identifier |
| Recherche avancée | Aide
 
 

titides Au coin de la ruelle : kord et 20 utilisateurs inconnus

 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet :

Php - MySQL - Checkbox

 
n°6450
airtom24
Profil : Membre
Posté le 28-01-2004 à 03:01:08  profilanswer
 

Bonjour a vous,
Alors voila j'ai cree un code avec lepeu de base ke j'ai.
Mon but : qd l'utilisateur clike sur les checkboxs desirées, celles ci lui retournent les données demandées (depuis la bdd).
Ca ressemble a ca : http://ram.lesprix.net/
 
Voila le code :
 
<?
//Connection base
$connect = mysql_connect('localhost','root','') or die ("erreur de connexion" );
 
//Connection table
mysql_select_db('essais',$connect) or die ("erreur de connexion base" );
 
$sql = "SELECT * FROM stats";
 
$res = @mysql_query($sql) or die("Impossible de selectionner" );
?>
<form method="post" action="<?echo $PHP_SELF;?>" name="internet">
<font color="#000099"><b>Exemple </b>:<br></font>
<?
while($val = @mysql_fetch_array($res)){
  echo "<input type=\"checkbox\" name=\"sites[]\"   value=\"".$val["id"]."\">";
  echo $val["Annee"]."<br>";
}  
?>  
<input type="submit" name="accepter" value="Accepter">
</form>
 
<?
if(is_array($sites)){  
 while( list(,$val) = each($sites) ){
  if($accepter){
   $result = "SELECT * FROM stats WHERE Annee=$val";
   $requete = mysql_query($result) or die("Marche pas" );
   [color=red]$row = mysql_fetch_array($requete);[/color]
   echo $row;
  }
 }
}  
 
?>  
 
<?
//Fermeture Base
mysql_close();
 
?>
 
Alors j'ai 2 types d'erreur :
Ou rien ne s'affiche
Ou j'ai une erreur a la ligne en rouge du type :Supplied argument is not a valid MySQL result resource et si j'ai par exemple coché 2 checkbox alors j'aurais 2 fois la meme erreur.
 
Voila merci de votre aide  :)

n°6451
airtom24
Profil : Membre
Posté le 28-01-2004 à 10:34:21  profilanswer
 

up

n°6454
ollone
Part of the 'One brothers
Profil : Vieux de la vieille
Posté le 28-01-2004 à 18:47:59  profilanswer
 

Dans la dernière partie de ton code (avant de fermer la connection) essaie ca :
 

Code :
  1. <?
  2. if (isset($HTTP_POST_VARS)) {
  3.   while (list($name, $value)=each($HTTP_POST_VARS)) {
  4.     if ($value==1) {
  5.       $result = "SELECT * FROM stats WHERE Annee=$name";
  6.       $requete = mysql_query($result) or die("Marche pas" );
  7.       $row = mysql_fetch_array($requete);
  8.       echo $row;
  9.     }
  10.   }
  11. }
  12. ?>


 
Tu peux bien évidement améliorer cette boucle pour ne faire qu'une seule requête à ta base de données...
il faut aussi que tu modifies ce code :
 

Code :
  1. <?
  2. while ($stat = mysql_fetch_array($res)){
  3.   echo "<input type=\"checkbox\" name=\"".$stat["Annee"]."\"   value=\"1\"";
  4.   if (isset($HTTP_POST_VARS($stat["Annee"]))) {
  5.     echo " checked";
  6.   }
  7.   echo ">";
  8.   echo $stat["Annee"]."<br>";
  9. ?>


 
Ton erreur est de ne pas récupérer les variables, et leurs valeurs, postées par le formulaire; ces variables sont accessibles depuis la variable PHP $HTTP_POST_VARS (si tu as choisi method="post" dans ton formulaire), ou bien _GET.
 
Voilà, j'espère que je n'ai pas fait d'erreur, ce qui m'étonnerais bien :)


Message édité par ollone le 28-01-2004 à 18:53:21

---------------
C'est naturel que les filles soient plus belles, et les garçons plus cons ^^ [un peu bonobo sur les bords]
n°6455
airtom24
Profil : Membre
Posté le 28-01-2004 à 20:09:13  profilanswer
 

merci vais tester

n°6457
airtom24
Profil : Membre
Posté le 28-01-2004 à 20:24:59  profilanswer
 

Alors y me mets cette erreur : Parse error: parse error, expecting `','' or `')'' in c:\program files\easyphp\www\chicagobulls\aaphp\bb4.php on line 27
 
a cet endroit :

Code :
  1. <? 
  2. while ($stat = mysql_fetch_array($res)){ 
  3. echo "<input type=\"checkbox\" name=\"".$stat["Annee"]."\"   value=\"1\"";
  4. if (isset($HTTP_POST_VARS($stat["Annee"]))) {  (erreur!!)
  5.    echo " checked";
  6. }
  7. echo ">"; 
  8. echo $stat["Annee"]."<br>"; 
  9. ?>

 
 
Mais je vois cvraiment pas quel ; ou autre tu as oublié ou rajouté  :??:


Message édité par airtom24 le 28-01-2004 à 20:26:21
n°6476
ollone
Part of the 'One brothers
Profil : Vieux de la vieille
Posté le 30-01-2004 à 09:23:03  profilanswer
 

mon code n'est pas juste en effet, il faut écrire:

Code :
  1. if (isset($HTTP_POST_VARS[$stat["Annee"]])) {
  2.          echo " checked"; 
  3. }


 
Les variables de formulaire envoyées par le client s'accèdent par :
$HTTP_POST_VARS["lenomdemavariable"]
Les variables de requêtes :
$HTTP_GET_VARS["lenomdemavariable"]


Aller à :
Ajouter une réponse