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

Langage PHP Discussion :

Foreach et Checkbox


Sujet :

Langage PHP

  1. #1
    Membre éclairé Avatar de berti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 239
    Par défaut Foreach et Checkbox
    Bonjour à tous,

    j'ai du oublié quelque chose dans mon code. J'ai une bdd ou je dois insérer plusieurs documents à un contact en 1 seule fois. Donc j'utilise dans checkbox pour afficher ma table document. Toutefois quand j'enregistre, ça me met bien les documents affecté au contact mais également tous les noms des valeurs (j'utilise des listes déroulantes pour les dates)

    Affichage des documents:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
            <?php
    			$sql = "SELECT NUM_DOC, NOM_DOC FROM DOCUMENT ORDER BY NOM_DOC;";
     
    			$query = mysql_query( $sql, $connec ) ;
     
    			while ($ligne=mysql_fetch_array($query))
    			{
    				$num = $ligne['NUM_DOC'];
    				$nom = $ligne['NOM_DOC'];
    				echo "<input type=checkbox name=$num value=$num>&nbsp;$nom</p>";
    			}
    		?>
    Affichage de la date (exemple du mois)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    	<select name="mois" id="mois">
    		<?php 
    		    $i = 1;
    			$t=getdate();
    			$mois="$t[mon]"; 
    			echo "<option value=$mois>$mois</option>";
    			while ($i <= 12)
    			{
    				echo "<option value=$i>$i</option>";
    				$i = $i + 1 ;
    			}
    		?> 
              </select>
    Code pour l'insertion
    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
    	if(isset($_POST['insert']))
    	{
    		$jour = $_POST['jour'];
    		$mois = $_POST['mois'];
    		$annee = $_POST['annee'];
    		$cour = mktime(0,0,0,$mois,$jour,$annee);
    		$date = date("Y-m-d",$cour);
    		$contact = $_GET['id'];
     
    		foreach ($_POST  as $document=>$id)
    		{
    			if ($document!='insert')
    			{				
    				$sql="INSERT INTO `ENVOI` (`NUM_CONTACT`, `NUM_DOC`, `DATE_ENVOI`) "
    				."VALUES ('$contact', '$document', '$date');";
     
    				$exec=mysql_query($sql,$connec) or die("erreur -> ".mysql_error());
     
    				echo "<SCRIPT LANGUAGE='JavaScript'>";
    				echo "alert('L'envoi de document a bien été ajouté.')";
    				echo "</SCRIPT LANGUAGUE>";
    			}
    		}
    	}
    si je fais un echo $contact -> $document -> date
    j'ai affiché :

    12 -> jour-> 2011-02-09
    12 -> mois -> 2011-02-09
    12 -> annee -> 2011-02-09
    12 -> 4 -> 2011-02-09
    12 -> 17 -> 2011-02-09

    J'ai du quelque chose mais je ne vois plus

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2011
    Messages : 18
    Par défaut Utilisation du foreach
    L'utilisation du foreach n'est pas bonne.

    Je pense que tu voulais enregistrer l'id de ton document.

    dans ton code la variable $document représente les clés de ton tableau
    (cad "jour", "mois", "annee"). Remplace dans ton foreach la variable document par $id.

Discussions similaires

  1. [MySQL] boucle foreach checkbox
    Par docteurdorian dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 27/01/2010, 09h40
  2. [PHP 5.3] SELECT(avec jointure) dans un foreach de checkbox
    Par NuDub dans le forum Langage
    Réponses: 7
    Dernier message: 18/01/2010, 14h42
  3. <form:checkbox dans un <c:foreach
    Par yaugy dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 19/02/2008, 16h43
  4. [JSTL] Checkboxes dans un foreach
    Par BadIsGood dans le forum Taglibs
    Réponses: 2
    Dernier message: 29/06/2007, 18h58
  5. [Tableaux] Problème de foreach avec des checkboxes
    Par nanor21 dans le forum Langage
    Réponses: 10
    Dernier message: 15/05/2006, 01h04

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