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 :

array isoler valeur d'un tableau en variable


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2020
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2020
    Messages : 30
    Par défaut array isoler valeur d'un tableau en variable
    Bonjour à tous

    J'ai un petit soucis avec mon code php et un array.

    Je me permets de vous expliquer.

    Un utilisateur peut sélectionner 4 images sur 6. Ces choix sont récupérés de pages en pages (je ne les envoie pas sur un base de données).

    Je récupère ces 4 sélections que je place dans un tableau.

    Puis, je souhaite isoler chacune de ces 4 sélections dans 4 variables distinctes.

    Je fais comme cela:

    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
     
    <?PHP
    // Je vérifie que les choix d'image sont bien récupérés.
    // Par exemple, si l'individu a sélectionné, précédemment, l'image 2, le résultat sera le numéro de l'image soit "2"
    echo "Image 1: ".$imagepeche1."<br>";
    echo "Image 2: ".$imagepeche2."<br>";
    echo "Image 3: ".$imagepeche3."<br>";
    echo "Image 4: ".$imagepeche4."<br>";
    echo "Image 5: ".$imagepeche5."<br>";
    echo "Image 6: ".$imagepeche6."<br>";
    // Je créé un tableau où je "range" les valeurs des images. Les images choisies apparissent avec leurs numéros sinon c'est vide
    $test= array (1=>$imagepeche1,
    2=>$imagepeche2,
    3=>$imagepeche3,
    4=>$imagepeche4,
    5=>$imagepeche5,
    6=>$imagepeche6);
    // Je vérifie que les images sont bien intégrées dans le tableau
    print_r ($test);
    echo "<br>";
    // Je souhaite afficher uniquement les images sélectionnées (là où c'est différent de "vide")
    foreach($test as $valeur){
    if($valeur<>""){
    // Je vérifie les numéros de "cellules" de tableau où sont intégrés les numéros des images
    $resultat1=var_dump( explode( ',', $valeur) );
    echo $resultat1."<br>";	
    // Je souhaite associer chaque numéro "non vide" à une variable distincte
    list($aa, $bb,$cc,$dd) = $valeur;
    echo "A:".$aa."B:".$bb."C:".$cc."D:".$dd;
    echo "<br>";
    }}
    ?>
    Par exemple, l'utilisateur choisit les images 1, 3, 4 et 6

    J'ai ce résultat à l'affichage:

    array(1) { [0]=> string(1) "1" }
    A:1B:C: D:
    array(1) { [0]=> string(1) "3" }
    A:3B:C: D:
    array(1) { [0]=> string(1) "4" }
    A:4B:C: D:
    array(1) { [0]=> string(1) "6" }
    A:6B:C: D:

    Là, où je bloque c'est que chacune des 4 sélections se placent 4 fois mais dans une seule variable et non chacune dans sa variable distincte.
    Il faudrait que le résultat soir celui-la A:1 B:3 C:4 D:6 mais j'ai ceci A:1 A:3 A:4 A:6

    Je remarque aussi que dans mon affichage j'ai uniquement "array(1) { [0]". Je pense que c'est le problème non ?

    J'ai cherché mais je ne sais pas comment résoudre le problème. Je n'arrive pas à voir, dans mon code, où ça pose problème, où je me suis trompé.

    Est-ce que vous auriez des pistes à me donner ?

    Merci et à bientôt

    Bruno

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 672
    Par défaut
    comment récupérez vous la sélection de l'utilisateur ? si c'est à partir d'un formulaire, vous pouvez essayer le code suivant qui récupère la sélection dans $_POST["images"].

    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
    65
    <?php
     
    $images = [
    	[
    		"id" => "id1",
    		"libelle" => "image 1",
    	],
    	[
    		"id" => "id2",
    		"libelle" => "image 2",
    	],
    	[
    		"id" => "id3",
    		"libelle" => "image 3",
    	],
    	[
    		"id" => "id4",
    		"libelle" => "image 4",
    	],
    	[
    		"id" => "id5",
    		"libelle" => "image 5",
    	],
    	[
    		"id" => "id6",
    		"libelle" => "image 6",
    	],
     
    ];
     
     
     
    if (isset($_POST["images"])) {
     
    	var_export($_POST["images"]);
     
     
    }
     
     
    ?>
     
    <form action="" method="POST">
     
    	<?php foreach ($images as $image) {?>
     
    		<div>
    			<label>
    				<input
    					type="checkbox"
    					name="images[]"
    					value="<?php echo htmlspecialchars($image["id"]);?>"
    				/>
    				<?php echo htmlspecialchars($image["libelle"]);?>
    			</label>
    		</div>
     
    	<?php }?>
     
    	<input
    		type="submit"
    		value="Envoyer"
    	/>
     
    </form>

  3. #3
    Membre actif
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2020
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2020
    Messages : 30
    Par défaut
    Bonjour,

    Super ça marche. Merci beaucoup

    A bientôt

    Bruno

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Coller les valeurs d'un tableau de variables?
    Par Flo5174 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/05/2011, 15h51
  2. Valeurs qui disparaissent d'une variable session (tableau)
    Par Pansatyros dans le forum Langage
    Réponses: 3
    Dernier message: 09/05/2007, 11h18
  3. Réponses: 1
    Dernier message: 26/03/2007, 01h12
  4. Réponses: 8
    Dernier message: 21/04/2006, 18h18
  5. [Tableaux] Problème de valeur dans un tableau (array)
    Par Flushovsky dans le forum Langage
    Réponses: 15
    Dernier message: 24/03/2006, 13h56

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