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

PHP & Base de données Discussion :

Insertion liaison multiple par formulaire php


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Homme Profil pro
    Archéologue
    Inscrit en
    Mars 2019
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Archéologue
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mars 2019
    Messages : 134
    Par défaut Insertion liaison multiple par formulaire php
    Bonjour à vous,
    je vous préviens de suite, je suis légèrement débutant en php et mysql et je pose cette discussion car je n'arrive pas à trouver les messages ou les tutoriels qui conviennent à mon problème. du coup ça va être assez théorique car mon code n'est pas très avancé.
    En fait, j'ai un formulaire en php qui créé une entrée dans une table A, mais en même temps l'utilisateur peut choisir dans une liste déroulante plusieurs lignes d'une table B qui sera donc liée.
    Du coup, vu qu'il s'agit d'un lien un à plusieurs, je passe par une table intermédiaire C qui gérera les liens entre les ID de la table A et de la table B.
    Mais du coup, j'aurais deux questions :
    - où pourrais-je trouver une bonne explication pour arriver à choper les infos de la liste déroulante du formulaire pour arriver à les insérer dans la table C (j'ai essayé avec une procédure foreach mais je bloque un peu) ?
    - comment je peux insérer dans la table C l'ID de la table A alors que celui-ci ne s'incrémentera automatiquement qu'à la création de la ligne ?

    Comme je me doute que ce que je pose comme question est un peu abstrait, je vous mets donc juste le code actuel, sachant qu'il ne fonctionne pas. La table A est donc la table "bibliographie" dont l'ID s'autoincrémente et la table B est la table "auteur". J'ai appelé la table C "lien_auteur_biblio"

    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
    19
    20
    21
    22
    23
    24
    25
    26
     
    //Récupération des données du formulaire
    if(isset($_POST['id_auteur'])) {$id_auteur []=$_POST['id_auteur'];}
    else   {   $auteur="";}
    if(isset($_POST['annee']))    {  $annee=$_POST['annee'];}
    else    {  $annee="";}
    if(isset($_POST['reference']))    {  $reference=$_POST['reference'];}
    else    {  $reference="";}
     
    // On vérifie si les champs sont vides
    if(empty($id_auteur) OR empty($annee) OR empty($reference))
        {
        echo '<font color="red">Attention, un champ ne peut pas être vide !</font>';
        }
     
    // Aucun champ n'est vide, on peut enregistrer dans la table biblio
    else     
     
         $connexion=include 'dunum_connexion_db.php';  
    				$insertion = $connexion->prepare ("INSERT INTO `bibliographie`(ID_Biblio,`Annee_Biblio`, `Reference`) VALUES(Null,'$annee','$reference')");
    				$insertion->execute();	
    //insertion dans la table de liens auteur_biblio
    	foreach ($id_auteur as $row=>$value){
    				$insertion_lien = $connexion->prepare ("INSERT INTO `lien_auteur_biblio`(ID_Biblio,`ID_Auteur`) VALUES('???','$value[]')");
    	$insertion_lien->execute();};
    		echo "<p>Votre référence a bien été insérée. Vous allez être redirigés vers la liste bibliographique"."<br>";
    Merci vraiment beaucoup d'avance à la personne qui, en ces temps de confinement, aura la bonté de lire ce message et de me répondre !!

    Clément

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 537
    Par défaut
    Citation Envoyé par Clement_archeo Voir le message
    - où pourrais-je trouver une bonne explication pour arriver à choper les infos de la liste déroulante du formulaire pour arriver à les insérer dans la table C (j'ai essayé avec une procédure foreach mais je bloque un peu) ?
    Tout dépend de la structure html que t'utilises, est-ce que la liste est à multiple choix ?

    Citation Envoyé par Clement_archeo Voir le message
    - comment je peux insérer dans la table C l'ID de la table A alors que celui-ci ne s'incrémentera automatiquement qu'à la création de la ligne ?
    Pour cela il existe lastInsertId() qui permet de récupérer le dernier id (auto-incrémente) inséré.

    Et si tu veux qu'on t'aide vraiment, il va falloir nous montrer la structure de tes tables, essaies de les exporter dans un fichier .sql et ajoute les dans la discussion, comme ça on pourra tester...

  3. #3
    Membre confirmé
    Homme Profil pro
    Archéologue
    Inscrit en
    Mars 2019
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Archéologue
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mars 2019
    Messages : 134
    Par défaut
    Bonjour et merci de cette première réponse Toufik83.
    Effectivement, dans le formulaire, c'est une liste à choix multiple qui est utilisée. le code pour la construire est ainsi :
    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
    $connexion=include 'dunum_connexion_db.php';
    // Requête SQL
    $req = "SELECT * FROM auteur ORDER BY Nom_auteur";
    // Exécution de la requête
    $prepared=$connexion->prepare($req);
    $prepared->execute();
    // Construction de la chaîne de caractères qui fait la // liste
    $select='<select input type="select"  multiple class="form-control" name="id_auteur" required="required"><OPTION VALUE="">Choisissez un ou plusieurs auteurs</OPTION>';
    if($prepared->rowCount()>0){ 
       while($data=$prepared->fetch(PDO::FETCH_ASSOC)){
          $select.= "<option value='".$data['ID_Auteur']."'>".$data['Nom_Auteur']."</option>";   }
    }
    else {$select.="<option value=0>Aucune donnée n'a été trouvée</option>";}
    $select.="</select>";
    echo $select;
    $connexion=null;
    Pour les tables, elles sont très simples en réalité, je vous joins la structure des trois tables incriminées : base_local.sql

    Merci d'avance de votre aide

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Globalement la procédure est la suivante :

    - Dans le formulaire , la liste des éléments B doit faire référence à leur ID
    Donc d'un point de vue purement HTML tu vas générer quelque chose comme ca :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <select>
        <option value="1">1er element de B</option>
        <option value="2">2er element de B</option>
       <option value="n">neme element de B</option>
    </select>

    Quand tu reçois ton formulaire , la première chose à faire est de creer l'élément de la table A
    Une fois celà fait tu peux demander son id comme l'a mentionné Toufik83.

    Tu vas donc te retrouver avec l'id d'un élément de A et l'id d'un élément de B (ou plusieurs si choix multiple)

    Il ne te reste donc plus qu'à faire les insertion dans C puisque tu as tous les éléments.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre confirmé
    Homme Profil pro
    Archéologue
    Inscrit en
    Mars 2019
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Archéologue
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mars 2019
    Messages : 134
    Par défaut
    Merci de vos réponses.
    Effectivement, je pense que c'est la marche à suivre et je vais essayé d'utiliser lastInsertId().
    Par contre, auriez vous juste un lien pour uen aide au code d'insertion de l'array que je vais récupérer des valeurs de la liste déroulante ?
    Comme vous pouvez le voir sur mon premier message, j'ai tenté une procédure avec foreach, mais elle ne fonctionne pas.
    Etant débutant, j'aurais juste besoin d'un lien vers l'explication pas à pas de cette insertion.
    Merci

  6. #6
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 537
    Par défaut
    En gros voilà un exemple fonctionnel que je viens de tester :

    Le fichier de connexion à la base de donnée (la mienne s'appelle "test", n'oublis pas de mettre le nom de la tienne).

    dunum_connexion_db.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php 
    try{
    	$connexion=new PDO('mysql:host=localhost;dbname=test', 'root', ''
    		, array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION,PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
    }catch(Exception $e){
    	echo "Erreur oonnection à la base : ".$e->getMessage();
    }
    Puis le fichier index.php qui génère un <form methd="post" action="traitement.php"> qui contient le <select> en question et les champs référence et année + un bouton de type submit:
    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
    19
    20
    21
    22
    23
    24
    25
     
    <?php 
    include 'dunum_connexion_db.php';
    // Requête SQL
    $req = "SELECT * FROM auteur ORDER BY Nom_auteur";
    // Exécution de la requête
    $prepared=$connexion->prepare($req);
    $prepared->execute();
    // Construction de la chaîne de caractères qui fait la liste 
    // (les crochets [] dans le name du select est obligatoire si tu veux envoyer/récupérer plusieurs valeurs de la liste)
    $select='<select input type="select"  multiple class="form-control" name="id_auteur[]" required="required">'
    	.'<OPTION VALUE="">Choisissez un ou plusieurs auteurs</OPTION>';
    if($prepared->rowCount()>0){ 
       while($data=$prepared->fetch(PDO::FETCH_ASSOC)){
          $select.= "<option value='".$data['ID_Auteur']."'>".$data['Nom_Auteur']."</option>";   }
    }
    else {$select.="<option value=0>Aucune donnée n'a été trouvée</option>";}
    $select.="</select>";
    echo "<form method='post' action='traitement.php'>"
    	.$select
    	.'<input type="text" name="annee" value="2020"/>'
    	.'<input type="text" name="reference" value="Ref 2020" />'
    	.'<input type="submit" value="Ok">'
    .'</form>';
    $connexion=null;
    Et finalement le fichier d’insertion dans les tables (traitement.php)
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    <?php 
    include 'dunum_connexion_db.php';
    //Initialisation des variables pour ne pas utiliser les ELSE 
    $id_auteur="";$annee="";$reference="";
     
    //Récupération des données du formulaire
    if(isset($_POST['id_auteur'])) {$id_auteur=$_POST['id_auteur'];}
     
    if(isset($_POST['annee']))    {  $annee=$_POST['annee'];}
     
    if(isset($_POST['reference']))    {  $reference=$_POST['reference'];}
     
     
    // On vérifie si les champs sont vides
    if(empty($id_auteur) OR empty($annee) OR empty($reference)){//il vaut mieux remplacer les OR par || .....
    	echo '<font color="red">Attention, un champ ne peut pas être vide !</font>';
    	exit();//au cas ou l'un des variables est vide "", on quitte le script.
    }
     
    // Aucun champ n'est vide, on peut enregistrer dans la table biblio
    //NE JAMAIS PASSER LES VARIABLES EN BRUT DANS LA REQUÊTE, IL FAUT LA PRÉPARER!
    else {
    	//Le ID_Auteur dans bibliographie ne sert à rien vu que tu l'insères dans la table ien_auteur_biblio, non ? donc tu peux le supprimer de la table bibliographie
    	$insertion = $connexion->prepare ("INSERT INTO `bibliographie`(ID_Biblio,`Annee_Biblio`, `Reference`) VALUES(Null,?,?)");
    	$insertion->execute([$annee,$reference]);
    	$lastIdBiblio=$connexion->lastInsertId();
    	if($lastIdBiblio>0){//si l'insértion dans bibliographie s'est bien déroulée, on continue	
    		//insertion dans la table de liens auteur_biblio
    		//préparation de la requête EN DEHORS du foreach (c'est l’intérêt des requêtes préparées!)
    		$insertion_lien = $connexion->prepare ("INSERT INTO `lien_auteur_biblio`(ID_Biblio,`ID_Auteur`) VALUES(?,?)");
    		foreach ($id_auteur as $row=>$value){
    			$insertion_lien->execute([$lastIdBiblio,$value]);
    		}
    	}
    	else echo "Erreur d’insertion dans bibliographie !";
    }
    echo "<p>Votre référence a bien été insérée. Vous allez être redirigés vers la liste bibliographique"."<br>";
    J'ai commenté le maximum pour t'expliquer un peu comment ça fonctionne, si tu as des question n'hésite pas.

  7. #7
    Membre confirmé
    Homme Profil pro
    Archéologue
    Inscrit en
    Mars 2019
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Archéologue
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mars 2019
    Messages : 134
    Par défaut
    Super, merci beaucoup Toufik83. Je n'en attendais pas autant ! ça marche du tonnerre et je prends très volontiers tous les conseils que tu as glissé de-ci de-là.

    J'aurais juste une petite question subsidiaire. En fait, maintenant, j'aimerais pouvoir sortir ces références en tableaux, mais que ça ne me sorte pas une ligne par auteur avec la référence en doublon (interprétation directe de la table C lien_auteur_biblio), mais une référence avec les multiples auteurs regroupés et séparés par un ";" par exemple. j'ai essayé avec la fonction implode, mais je n'arrive pas trop à la manier et j'avoue que je ne sais pas quelles valeurs je dois prendre en array.

    Pour l'instant, le code pour sortir mon tableau est ainsi :
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    <?php
    include 'dunum_config.php';	
    	//requêtes SQL
    $sql="SELECT * from bibliographie 
    LEFT JOIN lien_auteur_biblio ON bibliographie.ID_Biblio=lien_auteur_biblio.ID_Biblio 
    LEFT JOIN auteur on lien_auteur_biblio.ID_Auteur=auteur.ID_Auteur
    ORDER BY Annee_Biblio DESC ";	
    	//connexion au serveur
     
    $connexion=include 'dunum_connexion_db.php';
    //Ecriture de la structure du tableau
    	?>
    <style>
    th{
    	text-align: center;
    }
    td{
    	border: 1px solid lightgrey;
    	padding: 5px !important;
    	vertical-align: middle;
    }
    </style>
    <table id="Tableau" class="table table-striped table-bordered" width="90%">
    		<thead>
    			<tr>
    				<th width=10%> Auteur </th>
    				<th width=10%> Année </th>
    				<th width= 75%> Références bibliographiques </th>
    				<th width=5%> </th>
    			</tr>
    		</thead>
    //Connexion SQL pour sortie des valeurs
    <?php 
    $sql = $connexion->prepare($sql);
    $sql->execute();
    while ($row = $sql->fetch())
    {
    //ici c'est juste de la tambouille interne pour avoir des liens qui fonctionne sans les accents aux prénoms
    $Nom = oteAccents($row['Nom']);
    $Prenom = oteAccents($row['Prenom']);
    $fiche_auteur = (!empty($row['Fiche']))? '<a href='.$chemin_image.'collaborateur/'.$Nom.'-'.$Prenom.'>'.$row['Nom_Auteur'].'</a>' : ''.$row['Nom_Auteur'].'';
     
    //mise en forme des valeurs
    echo "<tr>
    		<td>".$fiche_auteur."</td>
    		<td>".$row['Annee_Biblio']."</td>
    		<td><div class=cesure>".$row['Reference']."</div></td>
    		<td><a href='modifier_biblio?id=".$row['ID_Biblio']."&o=u'>Modifier</a><br><a href='supprimer_biblio?id=".$row['ID_Biblio']."&o=d'>Supprimer</a></td>
    	</tr>\n";
    }
    ?>
    </table>
    Merci encore beaucoup d'avance !

  8. #8
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Bonjour,

    attention le code de Toufik83 n'est pas du tout sécurisé :
    ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $select.= "<option value='".$data['ID_Auteur']."'>".$data['Nom_Auteur']."</option>";   }
    devrait être remplacé par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $select.= "<option value='".(int)$data['ID_Auteur']."'>".htmlspecialchars($data['Nom_Auteur'], ENT_QUOTES, 'utf-8')."</option>";   }
    sinon bonjour les joies du site piraté.

    Dans un cas de figure où aucune donné n'est injectée dans une chaîne SQL, tu n'a pas besoin de préparer la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // Requête SQL
    $req = "SELECT * FROM auteur ORDER BY Nom_auteur";
    // Exécution de la requête
    $prepared=$connexion->prepare($req);
    $prepared->execute();
    est équivalent à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // Requête SQL
    $req = "SELECT * FROM auteur ORDER BY Nom_auteur";
    // Exécution de la requête
    $prepared=$connexion->query($req);
    Enfin quand tu utilises des variables, nomme les clairement, ça facilite la lecture du code :
    par exemple, ta connexion est ouverte par PDO donc ta variable $connexion devrait être $pdo.
    Pareil l'objet renvoyé par PDO après avoir préparé une requête est un PDOStatement donc ta variable devrait être $stmt au lieu de $prepared.
    C'est devenu quasiment une convention, tout le monde sait ce qui est manipulé en un clin d’œil
    Voici le même code un peu remanié :
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <?php
     
    include 'dunum_connexion_db.php';
     
    $sql  = "SELECT * FROM auteur ORDER BY Nom_auteur";
    $stmt = $pdo->query($sql);
     
    // fonction d'échappement des caractères dangereux
    $hsc  = function($p): string { return htmlspecialchars((string)$p, ENT_QUOTES, 'utf-8'); };
    // lignes du select
    $rows = [];
    foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $data) {
        $rows[] = '<option value="'.$hsc($data['ID_Auteur']).'">'.$hsc($data['Nom_Auteur']).'</option>';
    }
     
    $debut = empty($rows) ? 'Pas de données' : 'Choisissez un ou plusieurs auteurs';
    // insertion de la première ligne du select
    array_unshift($rows, "<option value=0>{$debut}</option>");
    ?>
    <form method="post" action="traitement.php">
        <select name="id_auteur[]" class="form-control" multiple required>
            <?= implode('', $rows) ?>
        </select>
        <input type="text" name="annee" value="2020">
        <input type="text" name="reference" value="Ref 2020">
        <input type="submit" value="OK">
    </form>

  9. #9
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 537
    Par défaut
    Oui, rawsrc à raison concernant la partie du <select>, l'utilisation de htmlspecialchars est nécessaire pour sécuriser les données à l'affichage, sauf qu'il manque une apostrophe juste après utf-8 :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $select.= "<option value='".(int)$data['ID_Auteur']."'>".htmlspecialchars($data['Nom_Auteur'], ENT_QUOTES, 'utf-8')."</option>";

  10. #10
    Membre confirmé
    Homme Profil pro
    Archéologue
    Inscrit en
    Mars 2019
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Archéologue
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mars 2019
    Messages : 134
    Par défaut
    Merci beaucoup des conseils ! n'ayant jamais eu de cours sur PHP, je suis très preneurs de toutes ces remarques.
    Vu que le sujet premier a aussi été répondu, je vais mettre la question comme résolu et je vais reporter ma question subsidiaire dans un nouveau topic.
    Merci beaucoup à vous !

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

Discussions similaires

  1. [1.x] Insertions multiples par formulaire
    Par julienmarliac.net dans le forum Symfony
    Réponses: 3
    Dernier message: 03/08/2010, 15h31
  2. [PHP 5.0] envoi email multiple sur formulaire php
    Par trobador dans le forum Langage
    Réponses: 6
    Dernier message: 21/04/2010, 15h04
  3. [MySQL] Transfert image par formulaire PHP
    Par fasyr dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 02/11/2008, 20h20
  4. Insertion de multiples sous formulaires
    Par EGSway dans le forum IHM
    Réponses: 1
    Dernier message: 10/10/2007, 21h17
  5. Réponses: 3
    Dernier message: 13/07/2006, 19h05

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