IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

condition de masse avec des checkbox


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Par défaut condition de masse avec des checkbox
    Bonjours a tous et a toutes,
    Voila je suis face a un probleme, j'aimerais savoir s'il est possible de faire des conditions pour deux checkbox généré par la base de donner?

    je m'explique

    Dnas ma base de donner il y a des champs livrer et des champ emporter, je voudrai que quand la personne coche dans la page la case emporter le prix emporter sois ajouter au panier et de même pour livrer. Si le clien coche pour tous les produits livrer ou emporter uniquement cela ce passe a la perfection tous les produits ont le prix emporter ou livrer, mais quand je coche pour kle produit 1 emporter pour le 12 livrer, pour le 14 livrer et pour le 58 emporter cela me met les deux prix partout ^^, ce qui n'est pas vraiment le but a la base, même si c'est exploitable ca le fait pas ^^

    Mon code d'article

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    <?php 
     
    echo "<form name='ref' action='panier.php' method='post'>";
    echo '<input type="hidden" value="2" name="opt">';
    echo "<table width='100%' cellspacing='0' cellpadding='5' class='tabIndex'>";
    echo "<tr><td></td><td></td><td><i>emporté <br />(prix TTC)</i></td><td><i>livré <br />(prix TTC)</i></td></tr>";
    echo "<tr></tr>";
     
     
    echo "<tr><td><strong>Salés Froids</strong></td></tr>";
    				$i=0;
    				$req = mysql_query("SELECT * FROM repas WHERE choix = 'FR' ORDER BY type ");
    			$total = mysql_num_rows($req);
    			$type="";
    			while($val=mysql_fetch_array($req)){ 
    				echo "<input type='hidden' name='choix' value='".$val['choix']."' />";
     
    				if($type!=$val['type']){
    				echo "<tr bgcolor='#9CD967'><td>".$val['type']."</td><td></td><td></td><td></td><td></td></tr><tr>";
    				$type=$val['type'];
    				}
     
    				echo "<tr>";
    				echo "<td></td>";
    				if(file_exists("../../Images-cocci/bouchee/".$val['id'].".JPG")){ 
    			$size = getimagesize("../../Images-cocci/bouchee/".$val['id'].".JPG");
    			$width = ($size[0]+20)/2; 
    			$height = ($size[1]+4)/2;
    				$id=$val['id'];
    				echo "<td align='left'>";
    				?>
    				<a href='javascript:; onclick= imageG("../../Images-cocci/bouchee/<? echo $val['id']; ?>.JPG")'>
    				<?
    				echo $val['nom'];
    				echo "</a>";
    				}
     
    				else{
    				echo "<td align='left'>".$val['nom'];
    				}
    				echo "</td><td width='100px'>";
    				echo "<input type='checkbox' value='1'  name='checke' >";
    				echo "<input type='hidden' value='".$val['emporte']."' name='prix_emporte[]'>";
     
     
    				echo $val['emporte']." &euro; </td><td width='100px'>";
    				echo"<input type='checkbox' value='1' name='checkl'>";
    				echo "<input name='prix_livre[]' type='hidden' value='".$val['livre']."' >";
     
    				echo $val['livre']." &euro;";
    				echo "</td><td align='right'>";
    				echo "<input name='quantite[]' type='text' value='0' size='3' /></td>";
    				echo "<input name='produits[]' type='hidden' value='".$val['nom']."' >";
     
    				$i++;
    				echo "</tr>";
    			}
     
    			//echo "<tr><td>Commentaire : <input type='text' name='commentaire'></td></tr>";	
    			echo "</table><br /><br />";
    			echo "<input type='submit' name='valider' value='Valider'><input type='hidden' name='ajout' value='ok' onClick='ref.submit();'/>";		
    			echo "</center>";		
    		    echo "</form>"; 
    ?>
    et mon code de récupération (l'insertion a la base de donner marche je pense pas utilise de vous donner la requete)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    if($opt == 2)
    {
     
    	if(@$_POST['checke'] == 1)
    	{
     
    		@$qts= $_POST['quantite'];
    		@$produits = $_POST['produits'];
    		@$prix_emporte = $_POST['prix_emporte'];
    		$produit = count($produits);
    		@$ingredient = $_POST['ingredient'];
     
    	}
     
    	elseif(@$_POST['checkl'] == 1)
    	{
     
    		@$qts = $_POST['quantite'];
    		@$produits = $_POST['produits'];
    		$prix_livre = $_POST['prix_livre'];
    		$produit = count($produits);
    		@$ingredient = $_POST['ingredient'];
     
    	}
     
     
    	else
    	{
     
    		echo 'errorb';
     
    	}
     
     
     
    }
    je vous remercie d'avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 50
    Par défaut
    Je pense que ton problème vient du fait que tu ne changes pas le nom de la checkbox dans ta boucle.
    Ainsi chaque ligne a 2 checkboxs mais les checkbox entre lignes ne sont pas différenciés. Donc tu ne peux pas savoir pour une ligne, quel checkbox est coché ou non.

    Il faut donc dans ta boucle personnaliser tes checkbox en mettant par exemple l'id .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    echo "<input type='checkbox' value='1'  name='checke".$val['id']."' >";
    echo"<input type='checkbox' value='1' name='checkl".$val['id']."'>";
    Tu modifies ensuite ta page de traitement en conséquence.

    EDIT : J'en profites pour te demander : A quoi sert les @ devant les variables?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Par défaut
    les @ c'est un truk de tricheur ^^
    ca cache les message d'erreur lier au varriable comme indefinied index ...

    plus jolie quand une variable n'est pas obliger d'etre defini pour que ca marcher ^^

Discussions similaires

  1. [MySQL] Probleme d'affichage avec des checkbox
    Par napz dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 08/11/2006, 14h43
  2. FileListBox avec des checkbox..
    Par tazthedev dans le forum Delphi
    Réponses: 1
    Dernier message: 09/10/2006, 16h34
  3. Réponses: 1
    Dernier message: 26/06/2006, 11h33
  4. [Tableaux] Problème de foreach avec des checkboxes
    Par nanor21 dans le forum Langage
    Réponses: 10
    Dernier message: 15/05/2006, 01h04
  5. Problème simple avec des checkbox
    Par nanor21 dans le forum Langage
    Réponses: 2
    Dernier message: 07/05/2006, 00h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo