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 :

[Tableaux] Array et PHP


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de kagura
    Inscrit en
    Avril 2005
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 360
    Points : 130
    Points
    130
    Par défaut [Tableaux] Array et PHP
    Bonjour,
    J'ai besoin de savoir comment faire pour remplir un array dynamiquement.J'ai fait ça mais il ne me prend que les dernieres valeurs
    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
    foreach($_POST['nombre'] as $nombre)
    {
    	if($nombre!="")
    	{
    		$tab2[] = $nombre;
    	}
    }
    foreach($tab1 as $tab11)
    {
    	$req = "insert into parrution_command (id_command_produit, date_parru) values ($id_cmd_pdt, '$tab11')";
    	$res = mysql_query($req);
    	$id_par = mysql_insert_id();
    	echo $id_par."<br>";
    	for($i=0;$i<sizeof($tab2);$i++)
    	{
    		$tab3 = array($tab2[$i]=>$id_par);
    	}
    }
    Que pensez vous? ou est l erreur ici?
    Merci pour vos réponses

  2. #2
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    foreach($_POST['nombre'] as $nombre)
    {
    	if($nombre!="")
    	{
    		$tab2[] = $nombre;
    	}
    }
    C'est ici dans $tab2 que tu dis n'avoir que les dernières valeurs ?
    Après ce code, tu as quoi si tu fais un print_r($_POST["nombre"]) et un print_r($tab2) ?

  3. #3
    Membre habitué Avatar de kagura
    Inscrit en
    Avril 2005
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 360
    Points : 130
    Points
    130
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    for($j=0;$j<sizeof($tab2);$j++)
    {
    	echo $tab2[$j]."<br>";
    }
     
    foreach($tab3 as $cle=>$valeur) 
    {
    	echo "<br>".$cle.' : '.$valeur."<br>";
    }
    J'ai fait ce test.
    Pour $tab2, il m'affiche tous ses valeurs. mais mon probleme est dans $tab3 2 : 144

  4. #4
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par kagura
    Pour $tab2, il m'affiche tous ses valeurs. mais mon probleme est dans $tab3 2 : 144
    Ben... D'où il sort $tab3 ?? Quel rapport avec $tab2 ? Comment il est initialisé, qu'est-ce qu'il devrait y avoir dedans ??

  5. #5
    Membre habitué Avatar de kagura
    Inscrit en
    Avril 2005
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 360
    Points : 130
    Points
    130
    Par défaut
    Comme vous avez remarqué dans mon 1er message $tab3 est là
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    foreach($tab1 as $tab11)
    {
    	$req = "insert into parrution_command (id_command_produit, date_parru) values ($id_cmd_pdt, '$tab11')";
    	$res = mysql_query($req);
    	$id_par = mysql_insert_id();
    	echo $id_par."<br>";
    	for($i=0;$i<sizeof($tab2);$i++)
    	{
    		$tab3 = array($tab2[$i]=>$id_par);
    	}
    }

  6. #6
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Je pense qu'il faut que tu repense tes boucles for/foreach.

    tu fais une boucle foreach, et à chaque passage tu fais une boucle for. A chaque passage de cette boucle for, tu redéfinis complètement $tab3, en écrasant l'ancienne valeur.

    Ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $tab3 = array($tab2[$i]=>$id_par);
    Ca veut dire que tu initialises $tab3 à un tableau à un seul élément, avec $tab2[$i] comme clé, et $id_par comme valeur.

  7. #7
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Si tu veux que $tab3 soit un tableau à deux dimensions, il faut que tu rajoutes des crochets. Mais je pense que même comme ça ça ne fera pas ce que tu recherches.

    Mais j'ai peur que ça ne fasse de toute manière pas ce que tu recherches.

  8. #8
    Membre habitué Avatar de kagura
    Inscrit en
    Avril 2005
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 360
    Points : 130
    Points
    130
    Par défaut
    T as raison! car je viens de savoir que le nombre de valeur dans les 2tableaux peuvent ne pas etre le meme. Alors là, je suis hyper coincée
    Mais je vais voir comment faire pour regler ce probleme meme si je vois pas comment
    Merci pour vos reponses

  9. #9
    Membre habitué Avatar de kagura
    Inscrit en
    Avril 2005
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 360
    Points : 130
    Points
    130
    Par défaut
    Voilà, j'ai un formulaire qui contient un tableau qui contient un ensemble de mois : depuis date("Y")+1 jusqu'a le mois 12.
    Je dois choisir un mois et remplir un champ de texte (facultatif) qui consiste le numéro d'une page dans le journal (je travaille sur la commande dans un journal et les dates de parution).
    Alors quand j'envoies mon formulaire dans une page de traitement (requete et tout) je dois mettre pour chaque date le numéro correspondant s'il existe.
    J'espere etre claire.
    Maintenant, j'ai reussi d'envoyer les valeurs. mais malheureusement je sais pas comment faire une insert pour chaque date et son numero de page.
    Voilà mon probleme.
    Merci pour tout

  10. #10
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Je comprends pas, avec ton formulaire, tu choisis UNE date et UN numéro de page, nan ?

  11. #11
    Membre habitué Avatar de kagura
    Inscrit en
    Avril 2005
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 360
    Points : 130
    Points
    130
    Par défaut
    Avec mon formulaire, je choisis une date et le numéro est facultatif

  12. #12
    Membre habitué Avatar de kagura
    Inscrit en
    Avril 2005
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 360
    Points : 130
    Points
    130
    Par défaut
    Voilà mon formulaire et mon code.
    J'ai pu recuperé pour chaque date son numero. mais le probleme maintenant c est que si j'ai dans le tableau du formulaire, 2lignes, par exemple, une ligne avec 4 mois et une ligne avec un seul mois, si je selectionne ce champ là et je lui donne un numero, on m affiche la date mais pas le numéro Claire ou pas???
    Voilà le résultat
    2
    0
    0
    0
    1
    2006-08-01
    2
    2006-09-01
    0
    2006-12-01
    0

  13. #13
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par kagura
    Avec mon formulaire, je choisis une date et le numéro est facultatif
    et si le numéro n'est pas spécifié, tu fais quoi ? tu insères quoi dans la base ?

  14. #14
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par kagura
    Claire ou pas???
    Nan ya rien à faire je comprends rien, désolé Je dois pas avoir les yeux en face des trous, je sais pas...

  15. #15
    Membre habitué Avatar de kagura
    Inscrit en
    Avril 2005
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 360
    Points : 130
    Points
    130
    Par défaut
    Il aura un 0 bien sur en attendant savoir apres ce numero alors je passerai à la modification de la commande.

  16. #16
    Membre habitué Avatar de kagura
    Inscrit en
    Avril 2005
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 360
    Points : 130
    Points
    130
    Par défaut
    Dans l'autre page tu vas voir mon code et le resultat

  17. #17
    Membre habitué Avatar de kagura
    Inscrit en
    Avril 2005
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 360
    Points : 130
    Points
    130
    Par défaut
    Probleme resolu, merci à tous

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

Discussions similaires

  1. [Tableaux] array intersect php
    Par lafracas dans le forum Langage
    Réponses: 1
    Dernier message: 09/06/2006, 21h21
  2. [Tableaux] debutant en php
    Par herve_911 dans le forum Langage
    Réponses: 8
    Dernier message: 22/02/2006, 02h19
  3. [Tableaux] tableau en php
    Par fulgaro dans le forum Langage
    Réponses: 1
    Dernier message: 09/02/2006, 16h35
  4. Réponses: 3
    Dernier message: 14/12/2005, 15h17
  5. [Tableaux] Array() en concret :)
    Par Anduriel dans le forum Langage
    Réponses: 2
    Dernier message: 16/10/2005, 11h40

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