8795 sujets

Développement web côté serveur, CMS

Bonjour à tous,

Voici mon code PHP:

foreach($fichier as $nom=>$elem) 
{
    /*Champs variables communs à tous les modèles*/
    if($nom == "Doc")
    {
        $doc = $elem;
    }
    elseif($nom == "test")
    {
        $test = $elem;
    }
    
    /*Champs variables pour chaque modèle*/
    if($modele == "1")
    {
       if($nom == "test1")
       {
           $test1 = $elem;
       }
       elseif($nom == "test2")
       {
           $test2 = $elem;
       } 
    }
    elseif($modele == "2")
    {
       if($nom == "test3")
       {
           $test3 = $elem;
       }
       elseif($nom == "test1")
       {
           $test1 = $elem;
       } 
       elseif($nom == "test4")
       {
           $test4 = $elem;
       }
       elseif($nom == "test5")
       {
           $test5 = $elem;
       }
    }
}


J'ai un foreach qui regarde toutes les lignes de mon fichier, selon mon modèle j'ai des champs différents à rechercher, je voudrais mettre dans un tableau les différents champs et n'avoir que ceux du modèle voulu.

J'avais fait:

$champs = array($test1, $test2);


J'ai fait ça à chaque fin de if des modèles mais ça m'affiche pas que les données.

Une chose que j'ai oublié, il me faudrais un tableau avec:

$tab(numerodeligne)(nomduchamps) = valeur du champs.


Si quelqu'un à un code qui pourrais me permettre de faire se que je veut, je lui en serait très reconnaissante.

Merci d'avance.

Bonne après midi à tous et à toutes.
Modifié par etudiante87 (26 May 2010 - 11:47)
En faite, je veux juste un tableau [numCol][nomCol] = valeur, je veut ça pour le modele que je sélectionnerais.

Par contre dés que je le le met dans mes if, il me retourne d'abord un tableau vide puis avec la première et ainsi de suite, se que je voulais savoir, c'était comment récupérer dans un tableau les valeur nécessaire au modèle.
Modifié par etudiante87 (12 May 2010 - 15:18)
Bonjour,

etudiante87 a écrit :

En faite, je veux juste un tableau [numCol][nomCol] = valeur,


Tu veux donc un tableau multidimensionnel puis que tu semble avoir 2 clefs?
Si à partir d'une tableau tu veux en réorganiser un regarde les fonctions array() comme array_walk() array_map().

Donnes nous la structure du tableau $fichier peut être.

Smiley cligne
Bonjour,

Désolé pour la réponse tardive.

Mon fichier est un fichier XML. Je récupère bien mes données mais je n'arrive pas à les insérer dans mon tableau, quand je l'affiche j'en ai 4 ou 5 qui s'affiche.

Bonne journée à tous.
Salut,

peut-être, ( on manque de code et d'explication )

car dans ton code tu as fais plein de else et elseif.
mais qui ne s'exclut pas réellement?

je dis ça j'en sais rien mais j'ai galéré comme un ouf pour corriger un code comme ça dans mon avant-dernier boulot pour cette raison.

sinon pourquoi si c'est du xml ne pas utiliser des outils comme xpath. c'est puissant pour sortir des éléments d'un xml. mais peut-être le fais tu? on ne voit rien de ton code.

Pascal.
Modifié par CPascal (17 May 2010 - 21:33)
Bonjour à tous,

J'ai trouvé un code qui fonctionne très bien et comme je veut.

Pour chaque modèle, je récupéré les différentes variables dont j'ai besoin:

$var = (string)$xml->Parent->Enfant->Valeur;


En utilisant cette ligne, je peut récupérer que mes valeurs et les insérer dans un tableau.

Je vous remercie pour vos réponses et vous souhaite une bonne après-midi.