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 de personnes


Sujet :

Langage PHP

  1. #1
    Membre à l'essai

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 6
    Points : 13
    Points
    13
    Billets dans le blog
    1
    Par défaut Tableaux de personnes
    Bonjour,

    Je suis débutant en PHP. Je dois créer un organigramme et je dois pouvoir ajouter des personnes.
    J'ai donc cette fonction:

    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
    function ajouter_personnel($idfonction, $idstructure, $nompersonnel, $prenompersonnel, $mailpersonnel, $numeropersonnel, $bureaupersonnel, $ordre)
    {
    	global $bdd;
    	try{
    		$reponse = $bdd->prepare("INSERT INTO personnel (idfonction, idstructure, nompersonnel, prenompersonnel, mailpersonnel, numeropersonnel, bureaupersonnel, ordre) VALUES (:fonction, :structure, :nom, :prenom, :mail, :num, :bureau, :ordre)");
            $reponse -> execute(array(':fonction'=>$idfonction,':structure'=>$idstructure,':nom'=>$nompersonnel,':prenom'=>$prenompersonnel,':mail'=>$mailpersonnel,':num'=>$numeropersonnel,':bureau'=>$bureaupersonnel,':ordre'=>$ordre));
    		$reponse -> closeCursor();
    		//
    		return true;
     
    	}catch (Exception $e)
    	{
    		die('Erreur : ' . $e->getMessage());
    		return false;
    	}
    }
    … mais on me demande plutôt de pouvoir faire par des tableaux de ce genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ajouter personnel($data) {...}
    en sachant que $data est un tableau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $nomPersonnel["nomPersonnel"] = $_post["nomPersonnel];
    Comment faut-il faire ?
    Merci pour votre aide.

  2. #2
    Membre habitué
    Homme Profil pro
    Collégien
    Inscrit en
    Septembre 2014
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : Nouvelle-Zélande

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Septembre 2014
    Messages : 65
    Points : 158
    Points
    158
    Par défaut
    Salut,
    il faut procéder par étape :
    1°) affecter les valeurs que tu rentres en paramètre dans un tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $datas = array(
    	'idfonction'		=>	$idfonction,
    	'idstructure'		=>	$idstructure,
    	...
    );
    la clé correspondant au nom de la colonne au cas où ta table est emmené à évoluer, tu n'auras que quelques modification à faire.

    2°) dans ta fonction chargée de l'insertion, tu dois parcourir ton tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    foreach ($data as $row => $value) {
    	$rows[] = $row;
    	$values[] = $value;
    	$args[] = '?';
    }
    3°) construire ta requête
    -
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $req = "INSERT INTO personnel (".$this->build_request($req, $rows).
    					") VALUES (".$this->build_request($req, $args).')';
    - build_request est juste une fonction de concaténation lambda à coder, le principe est le même pour les colonnes et les valeurs d'où l'utilité de créer une fonction.
    Tu parcours le tableau rentré en paramètre, et tu concatènes à $req (ta chaine contenant la requête) les valeurs du tableau séparé par une ',' sauf si tu es en fin de parcourt, et tu retournes la requête.

    4°) tu envois en paramètre de le fonction prepare ta chaine $req, et $values à la fonction execute

    J'ai peux être zappé des détails utiles à la compréhension, si c'est le cas n'hésite pas à demander.

    Bonne soirée

  3. #3
    Membre à l'essai

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 6
    Points : 13
    Points
    13
    Billets dans le blog
    1
    Par défaut merci
    Merci pour la solution apportée.
    elle m'a été trés utile pour resoudre mon probléme.

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

Discussions similaires

  1. Comparaison de 2 tableaux de personnes
    Par nico93100 dans le forum Modélisation
    Réponses: 2
    Dernier message: 03/11/2009, 14h01
  2. Comparaison de 2 tableaux de personnes
    Par nico93100 dans le forum Excel
    Réponses: 2
    Dernier message: 02/11/2009, 17h08
  3. Réponses: 1
    Dernier message: 03/01/2007, 23h14
  4. [Rave]Personne ne l'utilise ?? Demande d'info...
    Par Barbibulle dans le forum Rave
    Réponses: 4
    Dernier message: 07/11/2002, 23h12
  5. Les tableaux en PL/SQL
    Par GRUMLY dans le forum PL/SQL
    Réponses: 5
    Dernier message: 12/08/2002, 18h10

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