[déplacé Bar -> JS] tableaux

nabilwael Messages postés 62 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 11 mars 2010 - 5 févr. 2009 à 15:10
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 6 févr. 2009 à 18:15
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

Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 14
5 févr. 2009 à 15:16
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
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 14
5 févr. 2009 à 15:19
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
0
nabilwael Messages postés 62 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 11 mars 2010
5 févr. 2009 à 15:22
mais bon le i c'est dynamique je peu avoirs un seul name_0 comme je peu avoir 100 c sa le problème
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 14
5 févr. 2009 à 15:27
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 43
5 févr. 2009 à 16:27
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
}
}
0
thibault7249 Messages postés 21 Date d'inscription lundi 2 juin 2008 Statut Membre Dernière intervention 20 février 2009
6 févr. 2009 à 10:42
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
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 14
6 févr. 2009 à 15:22
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
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 14
6 févr. 2009 à 15:24
bon.. ce n'est que mon avis, et je dis peut-être des bêtises ;o)
0
thibault7249 Messages postés 21 Date d'inscription lundi 2 juin 2008 Statut Membre Dernière intervention 20 février 2009
6 févr. 2009 à 15:42
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 ...
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 43
6 févr. 2009 à 15:48
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
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 14
6 févr. 2009 à 15:50
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
0
thibault7249 Messages postés 21 Date d'inscription lundi 2 juin 2008 Statut Membre Dernière intervention 20 février 2009
6 févr. 2009 à 16:03
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"
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 43
6 févr. 2009 à 16:15
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"
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 43
6 févr. 2009 à 16:34
Par contre je comprend pas le "lycée de Versailles"
0
thibault7249 Messages postés 21 Date d'inscription lundi 2 juin 2008 Statut Membre Dernière intervention 20 février 2009
6 févr. 2009 à 16:39
Merci de ces éclaircissements  coucou747 ça fait toujours du bien à la culture.
0
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
6 févr. 2009 à 18:15
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
0