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 :

Mélange de Formulaire / cURL / API / Foreach


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2020
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mai 2020
    Messages : 26
    Points : 20
    Points
    20
    Par défaut Mélange de Formulaire / cURL / API / Foreach
    Bonjour a vous, et merci pour votre aide a l'avance.
    Voici mon probleme en question. j'ai un formulaire avec des "Checkbox" comme voici :

    Formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     <form action="api_create.php" method="post">
                    <div class="Categories">
                        <div class="ItemsOrderedBodyInside CategoriesCol"><input type="checkbox" value="100" name="checkbox_categories[]">BMW</div>
                        <div class="ItemsOrderedBodyInside CategoriesCol"><input type="checkbox" value="101" name="checkbox_categories[]">AUDI</div>
                        <div class="ItemsOrderedBodyInside CategoriesCol"><input type="checkbox" value="102" name="checkbox_categories[]">MERCEDEZ</div>
                        <div class="ItemsOrderedBodyInside CategoriesCol"><input type="checkbox" value="103" name="checkbox_categories[]">VOLKS</div>
                    </div>
    </form>
    api_create.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    // Calculer le nombre de "Checked"
    $checked_arr_type = $_POST['checkbox_categories'];
    $count_type = count($checked_arr_type);
    Ensuite dans ma fonction curl_setop_array dans le champ CURLOPT_POSTFIELDS
    j'ai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $arr_categories = array(
    100=>"VANAGON",
    101=>"AUDI",
    102=>"MERCEDEZ",
    103=>"VOLKS"
    );

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        CURLOPT_POSTFIELDS =>'{
        "categories": [
            { 
                "id": "100", // changer par la valeur du "Checkbox"
                "name": "VANAGON", // changer par la valeur du array donc la valeur du array est celle du "checkbox"
                "slug": "VANAGON" // changer par la valeur du array donc la valeur du array est celle du "checkbox"
            }
        ]
    }
    mon but etant de faire un while dans le cas ou j'aurais les 4 checkbox activé pour avoir comme resultat :
    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
     
        CURLOPT_POSTFIELDS =>'{
        "categories": [
            { 
                "id": "100",
                "name": "AUDI",
                "slug": "AUDI"
            },
            { 
                "id": "101",
                "name": "VANAGON",
                "slug": "VANAGON"
            },
            { 
                "id": "102",
                "name": "MERCEDEZ",
                "slug": "MERCEDEZ"
            },
            { 
                "id": "103",
                "name": "VOLKS",
                "slug": "VOLKS"
            }
        ]
    }
    j'espere bien avoir expliqué mon probleme

    Merci encore

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 229
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 229
    Points : 8 491
    Points
    8 491
    Billets dans le blog
    17
    Par défaut
    Code PHP : 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
    $arr_categories = [
        100 => 'VANAGON',
        101 => 'AUDI',
        102 => 'MERCEDEZ',
        103 => 'VOLKS',
    ];
     
    $checked_arr_type = $_POST['checkbox_categories'] ?? [];
     
    $full_data = ['categories' => []];
    foreach ($checked_arr_type as $category_id) {
        if (!isset($arr_categories[$category_id])) { // Contrôle de cohérence
            // Si ID inconnu, on ignore
            continue;
        }
        $full_data['categories'][] = [
            'id' => $category_id,
            'name' => $arr_categories[$category_id],
            'slug' => $arr_categories[$category_id],
        ];
    }
     
    $curl_postfields = json_encode($full_data);
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

Discussions similaires

  1. Formulaire et API
    Par Mathieu M. dans le forum IGN API Géoportail
    Réponses: 7
    Dernier message: 09/05/2012, 13h16
  2. FORMULAIRE avec 2 foreach imbriquer
    Par kate59 dans le forum PHP & Base de données
    Réponses: 24
    Dernier message: 03/08/2011, 14h50
  3. Formulaire et API
    Par Mathieu M. dans le forum IGN API Géoportail
    Réponses: 2
    Dernier message: 12/07/2011, 09h25
  4. [MySQL] récupérer et ajouter des valeurs après un formulaire issu de foreach
    Par Cosmopolitan51 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/01/2011, 19h48
  5. [PHP 5.0] Envois de données POST sans formulaire - Curl
    Par phoelis1 dans le forum Langage
    Réponses: 5
    Dernier message: 30/04/2009, 20h05

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