[déplacé Bar -> JS] tableaux

Signaler
Messages postés
62
Date d'inscription
lundi 25 avril 2005
Statut
Membre
Dernière intervention
11 mars 2010
-
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
-
Bonjour,
j'ai ce fichier js :
var i = 0;
   
function create_champ(){
    if(i<1){

        document.getElementById('champs').innerHTML += "
<label for='Name"+i+"'> Name</label>

<label for='surName"+i+"'> SurName</label>
";
    }
    else{
        document.getElementById('champs').innerHTML += "
<label for='Name"+i+"'> Name</label>
<label for='surName"+i+"'> SurName</label>
";
    }
    i++;
}
   
function remove_champ(i){
    var parent = document.getElementById("champs_"+i).parentNode;
    parent.removeChild(document.getElementById("champs_"+i));
}

je fais appel avec :
<form method=post action="page2.php">
 
       

       

</form>

mon problème que je veux récupérer les nouveaux champs par post pour les enregistrer dans la base
comment je peus les récupérer ??

Merci de m'aider c'est urgent

16 réponses

Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
bonjour,

on transmet au php, les champs contenus dans le formulaire
s'ils ont une value et un un name

par exemple, sur ton formulaire de base,

<form method=post action="page2.php">
 
       

       

</form>

page2.php ne récupère aucun champs ( pas de name )
mais suite aux ajouts ( pas vérifié si ça fonctionnait ! )
tu mets name='surname_"+i+"'
donc tu pourras traiter $_POST['surname0'].... et les autres

Cordialement[mon Site][M'écrire]Bul
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
ah zut... c'était dans le bar....
ça aurait plus eu sa place sur javascripfr ou sur phpcs,
mais bon : trottoir, j'ai répondu
Messages postés
62
Date d'inscription
lundi 25 avril 2005
Statut
Membre
Dernière intervention
11 mars 2010

mais bon le i c'est dynamique je peu avoirs un seul name_0 comme je peu avoir 100 c sa le problème
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
bah...

$nb= 0;
while ( isset($_POST['name_'.$nb] )
{    traiter $_POST['name_'.$nb]
     $nb++
}

"à la syntaxe près !!!"     c'est un exemple, tu adapteras !

ou alors coté javascript tu crées des name ="nom[]"    oui, avec les crochets
et $_POST['nom'] c'est un array pour le php

[mon Site][M'écrire]Bul
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
38
salut

idealement, plutot que d'appeller tes champs name_0, name_1, etc... tu les appelles tous name[].

ensuite, tu php, tu fais :
if (isset($_POST['name'])){
foreach($_POST['name'] as $numero => $valeur){
 // ici tu traites $valeur
}
}
Messages postés
21
Date d'inscription
lundi 2 juin 2008
Statut
Membre
Dernière intervention
20 février 2009

Bonjour,
la vache ! t'as eu de la chance qu'on t'ait répondu avec un titre de topic : "aide" et placé dans " Thèmes / [forum-CODES-SOURCES_43.aspx CodeS-SourceS] / [theme-BAR_770.aspx Le Bar] / [theme-DISCUSSIONS-LIBRES_774.aspx Discussions libres] / [sujet-AIDE_1265731.aspx#5 aide]"

sinon je suis assez d'accord avec coucou747 sur l'utilisation d'un tableau associatif (il me semble que c'est comme ça que cela s'appelle) qui me semble être le cas basique d'utilisation de ceux-ci

Je suis conscient que je n'apporte rien à la discussion et que je suis à la limite du flood et je vous remercie d'avance pour votre compréhension j'essai de commencer à m'investir

Bonne journée
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
binevenu à toi [../auteur/THIBAULT7249/1420928.aspx thibault7249]
si tu parles de $_POST, on peut dire que c'est un tableau associatif
si tu parles de $_POST['name utilisé coté html avec []'], non
    je disais : coté javascript/html tu crées des name="nom[]"
                   et $_POST['nom'] c'est un array pour le php
[mon Site][M'écrire]Bul
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
bon.. ce n'est que mon avis, et je dis peut-être des bêtises ;o)
Messages postés
21
Date d'inscription
lundi 2 juin 2008
Statut
Membre
Dernière intervention
20 février 2009

Merci de ton accueil Bul3

en fait je parlais de ça :

if (isset($_POST['name'])){
foreach($_POST['name'] as $numero => $valeur){
 // ici tu traites $valeur
}
}

il me semble que c'est le traitement d'un tableau associatif mais je dois dire une bêtise ...
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
38
en php, on peut considerer qu'un tableau et un tableau associatif c'est pareil

tu peux utiliser le meme principe pour des dates :

apres, j'ai pas lu grand chose des sources de php, donc si ca se trouve c'est pas si associatif que ca en interne...

2max@max-desktop:~$ php -r '$a = array(1=>2); print_r($a["1"]);'
2max@max-desktop:~$ php -r '$a = array(1=>2); print_r($a);'
Array
(
    [1] => 2
)
max@max-desktop:~$ php -r '$a = array(1=>2); print_r($a[true]);'
2max@max-desktop:~$ php -r '$a = array(1, 2); print_r($a[true]);'
2max@max-desktop:~$

quand tu vois que les acces et les associations sont non types...

a mon avis, php gere en interne un tableau comme un tableau associatif (treemap ou hashmap) et pas comme un VRAI tableau
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
je redis ?[../auteur/THIBAULT7249/1420928.aspx ]
$_POST, on peut dire que                            c'est un tableau associatif
$_POST['name utilisé coté html avec []'],     non

un tableau associatif ( $_POST ) , peut contenir un array "normal" ( $_POST['name'] )

maintenant, la manière dont tu le traites, c'est autre chose

encore que ... ce qu'on "peut faire"  avec un tableau associatif
n'est pas toujours applicable à un array "normal", et lycée de Versailles.

[mon Site][M'écrire]Bul
Messages postés
21
Date d'inscription
lundi 2 juin 2008
Statut
Membre
Dernière intervention
20 février 2009

Ouai ^^ c'est loin les cours de PHP ça fait bien longtemps que j'en ai pas fait.

Je sais pas du tout comment sont traités les tableaux en php mais pour moi ( après je me trompe surement) les tableaux "normaux" sont traité à la façon des listes en Python et les tableaux associatif  comme des dictionnaires ...

Il faut tout de suite m'arreter si je me trompe !!!

Par contre je comprend pas le "lycée de Versailles"
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
38
bul3, tu devrais relire la page http://fr.php.net/manual/fr/language.types.array.php plutot que de te repeter betement.

Ce type est optimisé pour différentes utilisations ; il peut être considéré
comme un tableau, une liste, une table de hashage, un dictionnaire, une
collection, une pile, une file d'attente et probablement plus.

ils disent bien : ce type, et pas ces types. en php, tout est dictionnaire et rien n'est vraiment liste, on peut l'utiliser comme tel, mais ca n'en fait pas une liste pour autant.

gettype ne te renverra jamais : "hashmap" mais il renverra "array"
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
38
Par contre je comprend pas le "lycée de Versailles"
Messages postés
21
Date d'inscription
lundi 2 juin 2008
Statut
Membre
Dernière intervention
20 février 2009

Merci de ces éclaircissements  coucou747 ça fait toujours du bien à la culture.
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
37
un peu de nettoyage

pas de grieffe (çà reste civique à défaut de civil, ou vice-versailles de la réciproque....), merci tout de même d'éviter les insultes, qu'elles soient directes ou non

bonne soirée