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 :

Récupération de données sql dans formulaires qui se suivent


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club Avatar de deathangel69
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2019
    Messages : 11
    Points : 2
    Points
    2
    Par défaut Récupération de données sql dans formulaires qui se suivent
    Bonjour, étant depuis peu sur ce site, je viens vous demander un peu d'aide car je bloque littéralement malgré des heures de recherche sur le net.
    Je suis stagiaire dans le cadre d'une formation Afpa qui à durée 6 mois pour apprendre un programme de bac+2.

    Code :
    Code php : 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 ('enteteEAP.php');
    include ("connexion.php"); 
    $db=connexionBase(); // Appel de la fonction de connection à la base de données
     
    //requete1----------------------    famille
    $Requete = "SELECT * FROM famille";
    $result = $db->query($Requete);
    $Famille = $result->fetchAll(PDO::FETCH_OBJ);
     
    //requete2----------------------    materiel
    $Requete2 = "SELECT * FROM materiel";
    $result2 = $db->query($Requete2);
    $Materiel = $result2->fetchAll(PDO::FETCH_OBJ);
     
    /*  à faire
    //requete3----------------------  
    $Requete3 = "SELECT * FROM critere";
    $result3 = $db->query($Requete3);
    $Criteres = $result3->fetchAll(PDO::FETCH_OBJ);
    
    //requete4----------------------
    $Requete4 = "SELECT * FROM materiel";
    $result4 = $db->query($Requete4);
    $Accessoires = $result4->fetchAll(PDO::FETCH_OBJ);
    */
    ?>
    Code html : 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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    <!DOCTYPE html>
    <html lang="fr">
    <head>
      <meta charset="utf-8">
      <title>EAP | Ajax démo</title>
      <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
      <link rel="stylesheet" href="assets/css/perso.css">
    </head>
     
     
    <body> 
       <h1>Sélectionnez votre matériel</h1>
       <div class="container">
        <hr>
        <form>
            <div class="form-group row">
                <label for="famille" class="col-4 form-label text-center">Famille de matériel</label>
                <div class="col-6">
     
                <select name="famille" id="famille" class="form-control">
                    <option selected>Sélectionnez</option>      
                    <?php
                    foreach ($Famille as $key)
                    { ?>
     
                       <option value=<?= $key->id ?> ><?=$key->nom ?> </option>;             
     
                    <?php }
                    ?>           
                </select>
                </div>
            </div>
            <div class="form-group row">
                <label for="materiel" class="col-4 form-label text-center">Matériel</label>
                <div class="col-6">
                <select name="materiel" id="materiel" class="form-control">
                   <option selected>Sélectionnez</option>     
                   <?php
     
     
                    foreach ($Materiel as $key1)
                    {
                       echo"<option value='".$key1->mat_id."'>".$key1->mat_ref."</option>\n";   
                       
                    }
                    ?>      
                </select>
                </div>
           </div>       
           <div class="form-group row">
                <label for="criteres" class="col-4 form-label text-center">Critères</label>
                <div class="col-6">
                <select name="criteres" id="criteres" class="form-control">
                   <option selected>Sélectionnez</option>     
                   <?php
                   var_dump($Criteres);
                    foreach ($Criteres as $key2)
                    {
                       echo"<option value='".$key2->id."'>".$key2->nom."</option>\n";   
                       var_dump($key2);
                    }
                    ?>      
                </select>
                </div>
           </div>       
           <div class="form-group row">
                <label for="accessoires" class="col-4 form-label text-center">Accessoires</label>
                <div class="col-6">
                <select name="accessoires" id="accessoires" class="form-control">
                   <option selected>Sélectionnez</option>     
                   <?php
                    foreach ($Accessoires as $key3)
                    {
                       echo"<option value='".$key3->mat_id."'>".$key3->ref."</option>\n";   
                       var_dump($key3);
                    }
                    ?>      
                </select>
                </div>
           </div>       
        </form>
        <hr>
        </div>
    	<!--  Jquery sans slim sinon Ajax ne fonctionne pas -->
    	<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
    	<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
    	<script src="script.js"></script>
    </body>
    <?php
    include ('piedpageEAP.php');

    Ce que j'ai à l'écran au final :
    Parse error: syntax error, unexpected '$Requete' (T_VARIABLE) in C:\wamp64\www\projet\part9_bdpdo\form1b.php on line 7

  2. #2
    Membre expérimenté Avatar de Cincinnatus
    Homme Profil pro
    Développeur d'applications métier
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur d'applications métier
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Points : 1 679
    Points
    1 679
    Par défaut
    Bonjour,
    Quel est le rapport avec Ajax ? Poste plutôt dans un forum PHP.

  3. #3
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 835
    Points
    2 835
    Par défaut
    Bonjour,

    A priori, il doit manquer un point-virgule ( ; ) quelque part avant la ligne 7 de part9_bdpdo\form1b.php.

    A première vue, j'aurais dit dans un des 2 fichiers qui sont inclus mais alors l'erreur aurait du se produire à la ligne 4 et non à la 7 (si le fichier php que tu nous montres est bien form1b.php).
    En tout cas, dans le fichier PHP que tu montres, il ne me semble pas y avoir d'erreur, regarde ton dans les autres fichiers si tous les points-virgules sont bien là.

  4. #4
    Candidat au Club Avatar de deathangel69
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2019
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Bonjour Darkstar, ça ne change rien malheureusement.
    Je joint le code des 3 autres fichiers + la bd

    Fichier connexion.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
     
    <?php 
    /* --------------------------------------------------------
    * connexion.php
    * --------------------------------------------------------- */
    $db_user = "root";
    $db_password = "";
    $db_base = "equippartager";
    $db_host = "localhost";
     
    try 
    {      
        $db = new PDO('mysql:host='.$db_host.';dbname='.$db_base.';charset=utf8', $db_user, $db_password, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));   
    } 
    catch (Exception $e) 
    {
       echo'Erreur : '.$e->getMessage().'<br>';
       echo'N° : '.$e->getCode(); 
       die('Fin du script');
    }
    ?>
    Fichier post_json.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php 
    // https://stackoverflow.com/questions/7564832/how-to-bypass-access-control-allow-origin
    header('Access-Control-Allow-Origin: http://localhost/projet/part9_bdpdo');  
     
    include("connexion.php");
    $Requete = "SELECT * FROM materiel WHERE fam_mat_id = ".$_POST["id"];
    $result = $db->query($Requete);
    $Materiel = $result->fetchAll(PDO::FETCH_OBJ);
    echo json_encode($Materiel);
    ?>
    fichier script.js

    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
     
    $(document).ready(function() 
    {
    	$("#famille").change(function() 
    	{	
    		var famille_id = $(this).val();
     
     
    		$.post({
    			url: "post_json.php", 
    			data: { id: famille_id },
    			dataType: "json",
    			success: function(toto) 
    			{			
    				var contenu = '';
     
    				$.each(toto, function(key, val) 
    				{				
    		            contenu += "<option value='"+val.mat_id+"'>"+val.mat_id+" - "+val.mat_ref+"</option>\n";
     
    		        });			
     
    				$("#materiel").html(contenu);
    			},			
    		});		
    	});		
    });
    La base de données

    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
     
    -- phpMyAdmin SQL Dump
    -- version 4.8.5
    -- https://www.phpmyadmin.net/
    --
    -- Hôte : 127.0.0.1:3306
    -- Généré le :  ven. 29 nov. 2019 à 09:41
    -- Version du serveur :  5.7.26
    -- Version de PHP :  7.2.18
     
    SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
    SET AUTOCOMMIT = 0;
    START TRANSACTION;
    SET time_zone = "+00:00";
     
     
    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8mb4 */;
     
    --
    -- Base de données :  `equippartager`
    --
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `agence`
    --
     
    DROP TABLE IF EXISTS `agence`;
    CREATE TABLE IF NOT EXISTS `agence` (
      `id` int(4) NOT NULL AUTO_INCREMENT COMMENT 'identifiant Fournisseur',
      `nom` text NOT NULL COMMENT 'nom de l''agence',
      `tel` int(10) NOT NULL COMMENT 'téléphone de l''agence',
      `mail` varchar(120) NOT NULL COMMENT 'adresse mail agence',
      `adresse` varchar(200) NOT NULL COMMENT 'adresse physique agence',
      `cp` int(5) NOT NULL COMMENT 'code postal agence',
      `ville` text NOT NULL COMMENT 'ville précise de l''agence',
      `contact` varchar(150) DEFAULT NULL COMMENT 'nom du contact en agence',
      `tel_contact` int(10) DEFAULT NULL COMMENT 'telephone du contact',
      `mail_contact` varchar(50) DEFAULT NULL COMMENT 'adresse mail du contact',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='Informations sur le fournisseur';
     
    --
    -- Déchargement des données de la table `agence`
    --
     
    INSERT INTO `agence` (`id`, `nom`, `tel`, `mail`, `adresse`, `cp`, `ville`, `contact`, `tel_contact`, `mail_contact`) VALUES
    (1, 'Loxam Amiens', 322439480, 'amiens@loxam-access.com', '10 rue Alfred CATEL, ZA de Montières', 80000, 'Amiens', 'FROMENT Franck-Olivier', NULL, NULL),
    (2, 'Loxam Lille', 320875005, 'lille@loxam-access.com', '744 rue des Famards', 59273, 'Fretin', 'LEGRAND Raphaël', NULL, NULL),
    (3, 'Loxam Paris Nord', 158030470, 'paris@loxam-access.com', '4 rue Jean CHAPTAL, Z.I. de la Garenne', 93600, 'Aulnay sous Bois', 'PASCOALINHO Aderito', NULL, NULL);
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `catalogue`
    --
     
    DROP TABLE IF EXISTS `catalogue`;
    CREATE TABLE IF NOT EXISTS `catalogue` (
      `id` int(50) NOT NULL AUTO_INCREMENT COMMENT 'identifiant matériel',
      `nom` varchar(100) NOT NULL COMMENT 'référence matériel',
      `accessoires` varchar(50) NOT NULL COMMENT 'accessoires',
      `type_materiel` varchar(50) NOT NULL COMMENT 'type de matériel',
      `id_cat_ag` int(100) NOT NULL COMMENT 'identifiant du catalogue d''agence',
      PRIMARY KEY (`id`),
      KEY `id_cat_ag` (`id_cat_ag`)
    ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
     
    --
    -- Déchargement des données de la table `catalogue`
    --
     
    INSERT INTO `catalogue` (`id`, `nom`, `accessoires`, `type_materiel`, `id_cat_ag`) VALUES
    (1, 'nacelle articulée', '', 'diesel', 1);
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `catalogue_agence`
    --
     
    DROP TABLE IF EXISTS `catalogue_agence`;
    CREATE TABLE IF NOT EXISTS `catalogue_agence` (
      `id` int(20) NOT NULL AUTO_INCREMENT COMMENT 'identifiant catalogue d''agence',
      `nom_agence` varchar(100) NOT NULL COMMENT 'nom de l''agence',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
     
    --
    -- Déchargement des données de la table `catalogue_agence`
    --
     
    INSERT INTO `catalogue_agence` (`id`, `nom_agence`) VALUES
    (1, 'Loxam Access Amiens'),
    (2, 'Loxam Access Lille'),
    (3, 'Loxam Access Paris Nord');
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `critere`
    --
     
    DROP TABLE IF EXISTS `critere`;
    CREATE TABLE IF NOT EXISTS `critere` (
      `id` int(60) NOT NULL COMMENT 'identifiant du critère',
      `nom` varchar(100) NOT NULL COMMENT 'nom du critère',
      PRIMARY KEY (`id`),
      UNIQUE KEY `nom_critere` (`nom`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Critères du matériel';
     
    --
    -- Déchargement des données de la table `critere`
    --
     
    INSERT INTO `critere` (`id`, `nom`) VALUES
    (1, 'hauteur de travail');
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `famille`
    --
     
    DROP TABLE IF EXISTS `famille`;
    CREATE TABLE IF NOT EXISTS `famille` (
      `fam_id` int(10) NOT NULL AUTO_INCREMENT COMMENT 'identifiant famille',
      `fam_nom` text NOT NULL COMMENT 'nom de la famille',
      PRIMARY KEY (`fam_id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='Famille de matériels';
     
    --
    -- Déchargement des données de la table `famille`
    --
     
    INSERT INTO `famille` (`fam_id`, `fam_nom`) VALUES
    (1, 'autres'),
    (2, 'manutention'),
    (3, 'terrassement'),
    (4, 'travail en hauteur'),
    (5, 'compactage');
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `gamme`
    --
     
    DROP TABLE IF EXISTS `gamme`;
    CREATE TABLE IF NOT EXISTS `gamme` (
      `id` int(100) NOT NULL AUTO_INCREMENT COMMENT 'identifiant de gamme',
      `nom` varchar(50) NOT NULL COMMENT 'nom de la gamme',
      `id_gamm_cat` int(100) NOT NULL COMMENT 'identifiant de la gamme du catalogue',
      `id_gamm_ag` int(100) NOT NULL COMMENT 'identifiant de la gamme d''agence',
      `id_materiel` int(100) NOT NULL COMMENT 'identifiant du matériel',
      PRIMARY KEY (`id`),
      KEY `id_gamm_cat` (`id_gamm_cat`),
      KEY `id_gamm_ag` (`id_gamm_ag`),
      KEY `id_materiel` (`id_materiel`)
    ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='Gamme de matériel';
     
    --
    -- Déchargement des données de la table `gamme`
    --
     
    INSERT INTO `gamme` (`id`, `nom`, `id_gamm_cat`, `id_gamm_ag`, `id_materiel`) VALUES
    (1, 'nacelle articulée Diesel 32M', 1, 1, 1);
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `gamme_agence`
    --
     
    DROP TABLE IF EXISTS `gamme_agence`;
    CREATE TABLE IF NOT EXISTS `gamme_agence` (
      `id` int(100) NOT NULL AUTO_INCREMENT COMMENT 'identifiant de la gamme d''agence',
      `nom` varchar(100) NOT NULL COMMENT 'nom de la gamme d''agence',
      `id_agence` int(100) NOT NULL COMMENT 'identifiant de l''agence',
      PRIMARY KEY (`id`),
      KEY `id_agence` (`id_agence`)
    ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='Gamme de l''agence';
     
    --
    -- Déchargement des données de la table `gamme_agence`
    --
     
    INSERT INTO `gamme_agence` (`id`, `nom`, `id_agence`) VALUES
    (1, 'Access', 1),
    (2, 'Access', 2),
    (3, 'Access', 3);
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `gamme_catalogue`
    --
     
    DROP TABLE IF EXISTS `gamme_catalogue`;
    CREATE TABLE IF NOT EXISTS `gamme_catalogue` (
      `id` int(100) NOT NULL AUTO_INCREMENT COMMENT 'identifiant de la gamme du catalogue',
      `nom` text NOT NULL COMMENT 'nom de la gamme du catalogue de l''agence',
      `id_cat` int(100) NOT NULL COMMENT 'identifiant du catalogue',
      PRIMARY KEY (`id`),
      KEY `id_cat` (`id_cat`)
    ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='gamme du catalogue agence';
     
    --
    -- Déchargement des données de la table `gamme_catalogue`
    --
     
    INSERT INTO `gamme_catalogue` (`id`, `nom`, `id_cat`) VALUES
    (1, 'NAD', 1);
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `gam_crit_val`
    --
     
    DROP TABLE IF EXISTS `gam_crit_val`;
    CREATE TABLE IF NOT EXISTS `gam_crit_val` (
      `id_critere` int(100) NOT NULL COMMENT 'Identifiant du critère',
      `id_gamme` int(100) NOT NULL COMMENT 'Identifiant de la gamme',
      `id_val_crit` int(100) NOT NULL COMMENT 'Identifiant de la valeur du critère',
      KEY `id_critere` (`id_critere`),
      KEY `id_gamme` (`id_gamme`),
      KEY `id_val_crit` (`id_val_crit`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Gamme de critère valeur';
     
    --
    -- Déchargement des données de la table `gam_crit_val`
    --
     
    INSERT INTO `gam_crit_val` (`id_critere`, `id_gamme`, `id_val_crit`) VALUES
    (1, 1, 1);
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `materiel`
    --
     
    DROP TABLE IF EXISTS `materiel`;
    CREATE TABLE IF NOT EXISTS `materiel` (
      `mat_id` int(255) NOT NULL AUTO_INCREMENT COMMENT 'identifiant du matériel',
      `mat_ref` varchar(10) NOT NULL COMMENT 'référence du matériel',
      `mat_access` varchar(50) NOT NULL COMMENT 'Accessoires',
      `fam_mat_id` int(10) NOT NULL COMMENT 'identifiant de la famille',
      PRIMARY KEY (`mat_id`),
      KEY `id_famille` (`fam_mat_id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='Liste des matériels';
     
    --
    -- Déchargement des données de la table `materiel`
    --
     
    INSERT INTO `materiel` (`mat_id`, `mat_ref`, `mat_access`, `fam_mat_id`) VALUES
    (1, 'NAD32M', '', 4);
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `valeur_critere`
    --
     
    DROP TABLE IF EXISTS `valeur_critere`;
    CREATE TABLE IF NOT EXISTS `valeur_critere` (
      `id` int(30) NOT NULL AUTO_INCREMENT COMMENT 'identifiant de la valeur critère',
      `valeur` int(50) NOT NULL COMMENT 'valeur du critère',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='Valeur du critère';
     
    --
    -- Déchargement des données de la table `valeur_critere`
    --
     
    INSERT INTO `valeur_critere` (`id`, `valeur`) VALUES
    (1, 32);
     
    --
    -- Contraintes pour les tables déchargées
    --
     
    --
    -- Contraintes pour la table `agence`
    --
    ALTER TABLE `agence`
      ADD CONSTRAINT `agence_ibfk_1` FOREIGN KEY (`id`) REFERENCES `catalogue_agence` (`id`);
     
    --
    -- Contraintes pour la table `catalogue`
    --
    ALTER TABLE `catalogue`
      ADD CONSTRAINT `fk_id_cat_ag` FOREIGN KEY (`id_cat_ag`) REFERENCES `catalogue_agence` (`id`);
     
    --
    -- Contraintes pour la table `gamme`
    --
    ALTER TABLE `gamme`
      ADD CONSTRAINT `fk_id_gamm_ag` FOREIGN KEY (`id_gamm_ag`) REFERENCES `gamme_agence` (`id`),
      ADD CONSTRAINT `fk_id_gamm_cat` FOREIGN KEY (`id_gamm_cat`) REFERENCES `gamme_catalogue` (`id`),
      ADD CONSTRAINT `fk_id_materiel` FOREIGN KEY (`id_materiel`) REFERENCES `materiel` (`mat_id`);
     
    --
    -- Contraintes pour la table `gamme_agence`
    --
    ALTER TABLE `gamme_agence`
      ADD CONSTRAINT `fk_id_agence` FOREIGN KEY (`id_agence`) REFERENCES `agence` (`id`);
     
    --
    -- Contraintes pour la table `gamme_catalogue`
    --
    ALTER TABLE `gamme_catalogue`
      ADD CONSTRAINT `gamme_catalogue_ibfk_1` FOREIGN KEY (`id_cat`) REFERENCES `catalogue` (`id`);
     
    --
    -- Contraintes pour la table `gam_crit_val`
    --
    ALTER TABLE `gam_crit_val`
      ADD CONSTRAINT `fk_id_critere` FOREIGN KEY (`id_critere`) REFERENCES `critere` (`id`),
      ADD CONSTRAINT `fk_id_gamme` FOREIGN KEY (`id_gamme`) REFERENCES `gamme` (`id`),
      ADD CONSTRAINT `fk_id_val_crit` FOREIGN KEY (`id_val_crit`) REFERENCES `valeur_critere` (`id`);
     
    --
    -- Contraintes pour la table `materiel`
    --
    ALTER TABLE `materiel`
      ADD CONSTRAINT `fk_id_famille` FOREIGN KEY (`fam_mat_id`) REFERENCES `famille` (`fam_id`);
    COMMIT;
     
    /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
    /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
    /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

  5. #5
    Candidat au Club Avatar de deathangel69
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2019
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Parce qu'au bout du compte, je dois faire interagir les 4 formulaires qui comprennent chacun un select avec la bd pour qu'à la fin j'ai un résultat cohérent (dans notre cas, je dois avoir à la fin Nacelle articulée Diesel 32m, dispo chez Loxam Access Lille, Amiens et Paris Nord).
    Il s'agit d'une phase de test avant remplissage complet des données en base.

  6. #6
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 835
    Points
    2 835
    Par défaut
    Peux-tu confirmer que le premier fichier php que tu as renseigné dans ton post initial est bien form1b.php ?
    A prio, tout ce qui est HTML, JS, DB on s'en fou vu que c'est très clair que c'est une erreur de syntaxe PHP.
    Dans le cas où il y aurait une subtilité que tu penses inutile de mentionner, pourrais-tu prendre une capture d'écran de la page web ?


    header('Access-Control-Allow-Origin: http://localhost/projet/part9_bdpdo');.
    Question de curiosité, pourquoi autorises-tu ton propres si à accéder à lui-même ?
    C'est un comportement par défaut ça

  7. #7
    Candidat au Club Avatar de deathangel69
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2019
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Je confirme que le premier fichier était bien form1.php

    Voici la page en l'état actuelle :

    Nom : youpi.jpg
Affichages : 174
Taille : 40,4 Ko

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Il va falloir être PLUS PRÉCIS dans tes réponses.

    1- Tu parles de form1.php, alors que le message d'erreur indique form1b.php !

    2-
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    include ("connexion.php"); 
    $db=connexionBase(); // Appel de la fonction de connection à la base de données
    Il n'y a PAS de fonction connexionBase() dans le fichier connexion.php !
    Dernière modification par Invité ; 29/11/2019 à 18h02.

  9. #9
    Candidat au Club Avatar de deathangel69
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2019
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    @jreaux62, une erreur de touche, ça peut arriver. Donc, il s'agit bien du fichier form1b.php

  10. #10
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Je pense que c'est sur cette partie de la réponse de jreaux qu'il faut s’attarder :
    Citation Envoyé par jreaux62 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    include ("connexion.php"); 
    $db=connexionBase(); // Appel de la fonction de connection à la base de données
    Il n'y a PAS de fonction connexionBase() dans le fichier connexion.php !
    Normalement, tu devrais avoir une erreur "Call to undefined function connexionBase()". Donc je pense que ton fichier form.php n'est pas exactement celui que tu as posté au début.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  11. #11
    Candidat au Club Avatar de deathangel69
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2019
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Bon, j'ai fait quelques modifs, mais pas beaucoup de changement apparemment...

    form1b.php

    Code php : 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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
     
    <?php
    include('enteteEAP.php');
    include("connexion.php");
     
    //requete1----------------------    famille
    $requete = $db->query("SELECT * FROM famille");
     
    $tableau = $requete->fetchAll();
     
    $sql = "SELECT * FROM materiel";
    $result2 = $db->query($sql);
    $materiel = $result->fetchAll("PDO::FETCH_OBJ");
    ​​
    //requete3----------------------    critere
    $Requete3 = "SELECT * FROM critere";
    $result3 = $db->query($Requete3);
    $Criteres = $result3->fetchAll("PDO::FETCH_OBJ");
    
    /*  à faire
    //requete4----------------------
    $Requete4 = "SELECT * FROM materiel";
    $result4 = $db->query($Requete4);
    
    $Accessoires = $result4->fetchAll(PDO::FETCH_OBJ);
    */
    ​​?>
    ​
    <!DOCTYPE html>
    <html lang="fr">
    <head>
      <meta charset="utf-8">
      <title>EAP | Ajax démo</title>
      <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
      <link rel="stylesheet" href="assets/css/perso.css">
    </head>
    ​
    ​
    <body> 
       <h1>Sélectionnez votre matériel</h1>
       <div class="container">
        <hr>
        <form>
            <div class="form-group row">
                <label for="famille" class="col-4 form-label text-center">Famille de matériel</label>
                <div class="col-6">
    ​
                <select name="famille" id="famille" class="form-control">
                    <option selected>Sélectionnez</option>      
                    <?php
                    foreach ($famille as $key)
                    { ?>
     
                       <option value=<?= $key->id ?> ><?=$key->nom ?> </option>;                
     
                    <?php }
                    ?>           
                </select>
                </div>
            </div>
            <div class="form-group row">
                <label for="materiel" class="col-4 form-label text-center">Matériel</label>
                <div class="col-6">
                <select name="materiel" id="materiel" class="form-control">
                   <option selected>Sélectionnez</option>     
                   <?php
    
    
                    foreach ($Materiel as $key1)
                    {
                       echo"<option value='".$key1->mat_id."'>".$key1->mat_ref."</option>\n";   
     
                    }
                    ?>      
                </select>
                </div>
           </div>       
           <div class="form-group row">
                <label for="criteres" class="col-4 form-label text-center">Critères</label>
                <div class="col-6">
                <select name="criteres" id="criteres" class="form-control">
                   <option selected>Sélectionnez</option>     
                   <?php
                   var_dump($Criteres);
                    foreach ($Criteres as $key2)
                    {
                       echo"<option value='".$key2->id."'>".$key2->nom."</option>\n";   
                       var_dump($key2);
                    }
                    ?>      
                </select>
                </div>
           </div>       
           <div class="form-group row">
                <label for="accessoires" class="col-4 form-label text-center">Accessoires</label>
                <div class="col-6">
                <select name="accessoires" id="accessoires" class="form-control">
                   <option selected>Sélectionnez</option>     
                   <?php
                    foreach ($Accessoires as $key3)
                    {
                       echo"<option value='".$key3->mat_id."'>".$key3->ref."</option>\n";   
                       var_dump($key3);
                    }
                    ?>      
                </select>
                </div>
           </div>       
        </form>
        <hr>
        </div>
    	<!--  Jquery sans slim sinon Ajax ne fonctionne pas -->
    	<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
    	<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
    	<script src="script.js"></script>
    </body>
    <?php
    include ('piedpageEAP.php');
    ?>

    connexion.php

    Code php : 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
     
    <?php 
    /* --------------------------------------------------------
    * connexion.php
    * --------------------------------------------------------- */
     
        $db_user = "root";
        $db_password = "";
        $db_base = "equippartager";
        $db_host = "localhost";
     
        try 
        {      
            $db = new PDO('mysql:host='.$db_host.';dbname='.$db_base.';charset=utf8', $db_user, $db_password, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));       
        } 
     
        catch (Exception $e) 
        {
            echo'Erreur : '.$e->getMessage().'<br>';
            echo'N° : '.$e->getCode(); 
            die('Fin du script');
        }
    ?>

    script.js

    Code javascript : 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
     
    $(document).ready(function() 
    {
    	$("#famille").change(function() 
    	{	
    		var famille_id = $(this).val();
     
     
    		$.post({
    			url: "post_json.php", 
    			data: { id: famille_id },
    			dataType: "json",
    			success: function(toto) 
    			{			
    				var contenu = '';
     
    				$.each(toto, function(key, val) 
    				{				
    		            contenu += "<option value='"+val.mat_id+"'>"+val.mat_id+" - "+val.mat_ref+"</option>\n";
     
    		        });			
     
    				$("#materiel").html(contenu);
    			},			
    		});		
    	});		
    });

    post_json.php

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php 
    header('Access-Control-Allow-Origin: http://localhost/projet/part9_bdpdo');  
     
    include ("connexion.php");
    $requete = "SELECT * FROM materiel WHERE fam_mat_id=".$_POST["id"];
    $result = $db->query($Requete);
    $materiel = $result->fetchAll(PDO::FETCH_OBJ);
    echo json_encode($materiel);
    ?>

    Résultat à l'affichage :

    Parse error: syntax error, unexpected '$materiel' (T_VARIABLE) in C:\wamp64\www\projet\part9_bdpdo\form1b.php on line 14

    Si besoin, l'entête (enteteEAP.php)

    Code php : 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
     
    <!DOCTYPE html>	
    <html lang="fr">
    <!-- entête-->
    <head>
    <meta charset="utf-8">
    <title>Equipement a partager</title> <!-- Titre de l'onglet de toutes les pages -->
    	<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
    	<link rel="stylesheet" href="assets/css/perso.css">
    	<!-- fichiers de style utilisés dans nos pages -->
    </head>
    <!-- début du corps de page avec une barre de navigation horizontale qui sera sur toutes nos pages -->
    <body>
    <nav class="navbar navbar-default navbar-static-top">
    	<div class="container">
    		<li><a class="lien" href="indexEAP.php">Accueil</a></li>
    		<li><a class="lien" href="enregistrement.php">Log In/Enregistrement</a></li>
    		<li><a class="lien" href="form1.php">Produits</a></li>
    	</div>  
    </nav>
    <!-- fin de la barre de navigation -->
     
    <div class="container">
    <hr>
    <img src="assets/img/logo.png" id="logo" class="img-fluid"> <!-- insertion du logo de l'entreprise -->
    <hr>
    </div>

    Je précise que le header comporte le lien vers form1.php car le form1b contient les 4 formulaires tandis que le form1 n'en contient qu'un seul et c'était le formulaire de base du site que je dois améliorer.

    Merci de votre aide, car je n'y arrive vraiment pas...

  12. #12
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 835
    Points
    2 835
    Par défaut
    Bonjour,

    C'est normal les caractères dégueulasses qui apparaissent un peu partout et justement là où ça dit que y'a une erreur ?
    Tu devrais nettoyer un peu ton fichier form1b.php et je pense que l'erreur disparaîtra

  13. #13
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    c'est un espace sans chasse, donc un caractère invisible mais considéré comme un caractère (et pas un espace ou une tabulation).

    Vérifie si tu as effectivement ces caractères dans ton fichier et si oui, vire les.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  14. #14
    Candidat au Club Avatar de deathangel69
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2019
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Merci, j'ai retrouvé mes formulaires, mais maintenant, j'ai plus de connexion avec la base données...

    Code php : 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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
     
    <?php
    include('enteteEAP.php');
    include("connexion.php");
    $db=connexionBase(); // Appel de la fonction de connection à la base de données
     
    //requete1----------------------    famille
    $requete = "SELECT * FROM famille";
     
    $tableau = $requete->fetchAll();
     
    $sql = "SELECT * FROM materiel";
    $result2 = $db->query($sql);
    $materiel = $result2->fetchAll(PDO::FETCH_OBJ);
    //requete3----------------------    critere
    $Requete3 = "SELECT * FROM critere";
    $result3 = $db->query($Requete3);
    $criteres = $result3->fetchAll(PDO::FETCH_OBJ);
     
    /*  à faire
    //requete4----------------------
    $Requete4 = "SELECT * FROM materiel";
    $result4 = $db->query($Requete4);
    $Accessoires = $result4->fetchAll(PDO::FETCH_OBJ);
    */
    ?>
     
    <!DOCTYPE html>
    <html lang="fr">
    <head>
      <meta charset="utf-8">
      <title>EAP | Ajax démo</title>
      <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
      <link rel="stylesheet" href="assets/css/perso.css">
    </head>
     
     
    <body> 
       <h1>Sélectionnez votre matériel</h1>
       <div class="container">
        <hr>
        <form>
            <div class="form-group row">
                <label for="famille" class="col-4 form-label text-center">Famille de matériel</label>
                <div class="col-6">
     
                <select name="famille" id="famille" class="form-control">
                    <option selected>Sélectionnez</option>      
                    <?php
                    foreach ($famille as $key)
                    { ?>
     
                       <option value=<?= $key->id ?> ><?=$key->nom ?> </option>;                
     
                    <?php }
                    ?>           
                </select>
                </div>
            </div>
            <div class="form-group row">
                <label for="materiel" class="col-4 form-label text-center">Matériel</label>
                <div class="col-6">
                <select name="materiel" id="materiel" class="form-control">
                   <option selected>Sélectionnez</option>     
                   <?php
     
     
                    foreach ($Materiel as $key1)
                    {
                       echo"<option value='".$key1->mat_id."'>".$key1->mat_ref."</option>\n";   
     
                    }
                    ?>      
                </select>
                </div>
           </div>       
           <div class="form-group row">
                <label for="criteres" class="col-4 form-label text-center">Critères</label>
                <div class="col-6">
                <select name="criteres" id="criteres" class="form-control">
                   <option selected>Sélectionnez</option>     
                   <?php
                   var_dump($Criteres);
                    foreach ($Criteres as $key2)
                    {
                       echo"<option value='".$key2->id."'>".$key2->nom."</option>\n";   
                       var_dump($key2);
                    }
                    ?>      
                </select>
                </div>
           </div>       
           <div class="form-group row">
                <label for="accessoires" class="col-4 form-label text-center">Accessoires</label>
                <div class="col-6">
                <select name="accessoires" id="accessoires" class="form-control">
                   <option selected>Sélectionnez</option>     
                   <?php
                    foreach ($Accessoires as $key3)
                    {
                       echo"<option value='".$key3->mat_id."'>".$key3->ref."</option>\n";   
                       var_dump($key3);
                    }
                    ?>      
                </select>
                </div>
           </div>       
        </form>
        <hr>
        </div>
    	<!--  Jquery sans slim sinon Ajax ne fonctionne pas -->
    	<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
    	<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
    	<script src="script.js"></script>
    </body>
    <?php
    include ('piedpageEAP.php');
    ?>

  15. #15
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 858
    Points : 6 556
    Points
    6 556
    Par défaut
    j'ai plus de connexion avec la base données
    Tu ne l'avais pas avant non plus.

    Comme dit précédemment (voir le post de Jreaux et le rappel de Célira), il n'y a pas de fonction qui s'appelle connexionBase() définie où que ce soit. De toute manière, cet appel ne sert à rien car $db est déjà définie dans ton fichier connexion.php donc tu peux virer cette ligne: $db=connexionBase(); // Appel de la fonction de connection à la base de données.

    J'imagine que tu dois assimiler beaucoup de choses rapidement, mais je t'en conjure, évite le copier/coller comme la peste:
    • C'est comme ça que tu as fourré l'espace sans chasse partout.
    • Ça n'a jamais permis de comprendre quoi que ce soit.
    • C'est une énorme perte de temps que tu vas dépenser inutilement à corriger les âneries que ça aura provoqué.
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  16. #16
    Candidat au Club Avatar de deathangel69
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2019
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    J'ai supprimé la ligne en question, mais aucun changement, toujours aucun résultat dès le premier formulaire

  17. #17
    Candidat au Club Avatar de deathangel69
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2019
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    rebonjour, voici après modifs, à quoi cela ressemble, mais aucun affichage dans la seconde colonne...

    Je sais, je suis un peu à la ramasse.

    fichier form1b.php

    Code php : 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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
     
    <?php
    include('enteteEAP.php');
    include("connexion.php");
    $requete = $db->query('SELECT * FROM famille ORDER BY fam_nom');
    $famille = $requete->fetchAll(PDO::FETCH_OBJ);
     
    /*  à faire
    //requete4----------------------
    $Requete4 = "SELECT * FROM materiel";
    $result4 = $db->query($Requete4);
    $Accessoires = $result4->fetchAll(PDO::FETCH_OBJ);
    */
     
    ?>
     
       <h1>Sélectionnez votre matériel</h1>
     
       <div class="container">
        <hr>
        <div class="row">
            <!-- 1ère colonne --------------------------------------------------------- -->
          <div class="col-4 bordered">
          <form>
            <div class="form-group row">
                <label for="famille" class="col-4 form-label text-center">Famille de matériel</label>
                <div class="col-6 bordered">
     
                <select name="famille" id="famille" class="form-control">
                    <option selected>Sélectionnez</option>      
                    <?php
                    foreach ($famille as $key)
                    { ?>
     
                       <option value=<?= $key->fam_id ?> ><?=$key->fam_nom ?> </option>;                
     
                    <?php }
                    ?>           
                </select>
                </div>
            </div>
            <div class="form-group row">
                <label for="materiel" class="col-4 form-label text-center">Matériel</label>
                <div class="col-6">
                <select name="materiel" id="materiel" class="form-control">
                    <option selected>Sélectionnez</option>      
                    <?php
                    /*
                    foreach ($materiel as $key)
                    { ?>
     
                       <option value=<?= $key->mat_id ?> ><?=$key->mat_ref ?> <?=$key->mat_access ?></option>;                
     
                    <?php }
                    */
                    ?>           
                </select>
                </div>
           </div>       
           <div class="form-group row">
                <label for="criteres" class="col-4 form-label text-center">Critères</label>
                <div class="col-6">
                <select name="criteres" id="criteres" class="form-control">
                   <option selected>Sélectionnez</option>     
                   <?php
                   /*var_dump($Criteres);
                    foreach ($Criteres as $key2)
                    {
                       echo"<option value='".$key2->id."'>".$key2->nom."</option>\n";   
                       var_dump($key2);
                    }*/
                    ?>      
                </select>
                </div>
           </div>       
           <div class="form-group row">
                <label for="accessoires" class="col-4 form-label text-center">Accessoires</label>
                <div class="col-6">
                <select name="accessoires" id="accessoires" class="form-control">
                   <option selected>Sélectionnez</option>     
                   <?php
                    /*foreach ($Accessoires as $key3)
                    {
                       echo"<option value='".$key3->mat_id."'>".$key3->ref."</option>\n";   
                       var_dump($key3);
                    }*/
                    ?>      
                </select>
                </div>
           </div>       
        </form>
          </div>
           <!-- 2ème colonne --------------------------------------------------------- -->
          <div id="resultats2" class="col-8">
     
          </div>
     
        </div>  <!-- .row -->
        </div> <!-- .container -->
     
     
     
       <!-- --------------------------------------------------------- -->
     
     
    	<!--  Jquery sans slim sinon Ajax ne fonctionne pas -->
    	<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
       <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
    	<script src="script.js"></script>
    </body>
    <?php
    include ('piedpageEAP.php');
    ?>

    fichier script.js

    Code javascript : 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
     
    $(document).ready(function() 
    {
    	$("#famille").change(function() 
    	{	
    		var famille_id = $(this).val();
     
    		$.post({
    			url: "post_json.php", 
    			data: { id: famille_id },
    			dataType: "json",
    			success: function(reponse) 
    			{			
    				var contenu = '';
     
    				$.each(reponse, function(key, val) 
    				{				
    					contenu += "<option value='"+val.mat_id+"'>"+val.mat_ref+"</option>\n";		                  
    		        });					
    				$("#materiel").html(contenu);
    			},			
    		});	
     
    		// 2ème requête Ajax affiche les famille
    		$.post({
    			url: "materiel_resultats.php", 
    			data: { id: famille_id },
    			dataType: "json",
    			success: function(reponse2) 
    			{			            
    				var contenu2 = '';			
    				$.each(reponse2, function(key, val) 
    				{	
    		            contenu2 += "<div>"+val.mat_ref+"</div>\n";     
    				});					
    				$("#resultats2").html(contenu2);
    			},			
    		});		
    	});		
    });

    fichier post_json.php (le fichier materiel_resultats.php à exactement le même code)

    Code php : 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
     
    <?php 
    include ("connexion.php");
    $sql = "SELECT * FROM materiel WHERE fam_mat_id=:fam_mat_id";
    $requete = $db->prepare($sql);
    $requete->bindValue(":fam_mat_id", $_POST["id"]);
     
    try {
        $requete->execute();
        $materiel = $requete->fetchAll(PDO::FETCH_OBJ);
        echo json_encode($materiel);
     
    } catch(Exception $e) {
        echo json_encode("ko");
    }
    ?>

  18. #18
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    • mettre : dataType: "html",
    • et le code HTML des <option> se construit en PHP dans post_json.php (retour SANS json_encode).

    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    		$.ajax({
    			type: "post",
    			url: "post_json.php",
    			data: { id: famille_id },
    			dataType: "html",
    			success: function(reponse_html)
    			{
    				$("#materiel").html(reponse_html);
    			},
    		});
    Code php : 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
    <?php 
    $retour = '';
    if( !empty($_POST["id"]) )
    {
        include ("connexion.php");
     
      try {
        $sql = "SELECT * FROM materiel WHERE fam_mat_id=:fam_mat_id";
        $requete = $db->prepare($sql);
        $requete->bindValue(":fam_mat_id", $_POST["id"]);
     
        $requete->execute();
        $rowAll = $requete->fetchAll(PDO::FETCH_OBJ);
     
        foreach($rowAll as $row)
        {
            $retour .= "<option value='".$row->mat_id."'>".$row->mat_ref."</option>\n";		                  
        }
     
      } catch(Exception $e) {
        $retour = "ko";
      }
    }
    echo $retour;
    Dernière modification par Invité ; 04/12/2019 à 16h56.

  19. #19
    Candidat au Club Avatar de deathangel69
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2019
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    à part les familles de matériel, je n'ai plus du tout la référence du matériel (mat_ref) qui s'affiche... (la seconde ligne)
    Nom : site.jpg
Affichages : 133
Taille : 73,2 Ko

  20. #20
    Candidat au Club Avatar de deathangel69
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2019
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Bonjour, j'ai un autre problème maintenant, je dois récupérer la valeur de cat_typ_mat dans la table Catalogue pour l'afficher en ajax dans mon deuxième champs de formulaire.
    Et dans le champs critères, je dois récupérer la valeur de vc_val dans la table Valeur critère pour l'afficher dans le troisième champs.

    Je comprends pas pourquoi les jointures ne fonctionnent pas.

    Je vous donne les fichiers php, le schéma de la BDD et le fichier javascript...

    fichier form1b.php
    Code php : 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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
     
    <?php
    include('enteteEAP.php');
    include("connexion.php");
    $requete = $db->query('SELECT * FROM famille ORDER BY fam_id');
    $famille = $requete->fetchAll(PDO::FETCH_OBJ);
     
    /*  à faire
    //requete4----------------------
    $Requete4 = "SELECT * FROM materiel";
    $result4 = $db->query($Requete4);
    $Accessoires = $result4->fetchAll(PDO::FETCH_OBJ);
    */
     
    ?>
     
       <h1>Sélectionnez votre matériel</h1>
     
       <div class="container">
       <div class="row">
        <hr>
            <!-- 1ère colonne --------------------------------------------------------- -->
          <div class="col-8 bordered">
          <div class="form-group">
          <form>
             <div class="col-8 form-label text-center">
                <label for="famille">Famille de matériel</label>
                <select name="famille" id="famille" class="form-control">
                    <option selected>Sélectionnez</option>      
                    <?php
                    foreach ($famille as $key)
                    { ?>
                       <option value=<?= $key->fam_id ?> ><?=$key->fam_nom ?> </option>;  
                    <?php }
                    ?>           
                </select>
             </div>
             <div class="col-8 form-label text-center">
                <label for="materiel">Matériel</label>
                <select name="materiel" id="materiel" class="form-control">
                    <option selected>Sélectionnez</option>      
                </select>
             </div>       
             <div class="col-8 form-label text-center">
                <label for="criteres">Critères</label>
                <select name="criteres" id="criteres" class="form-control">
                   <option selected>Sélectionnez</option>     
                   <?php
     
                    ?>      
                </select>
             </div>       
             <div class="col-8 form-label text-center">
                <label for="accessoires">Accessoires</label>
                <select name="accessoires" id="accessoires" class="form-control">
                   <option selected>Sélectionnez</option>     
                   <?php
     
                    ?>      
                </select>
             </div>       
          </form>
          </div>
          </div>
     
             <!--+submit-->
     
           <!-- 2ème colonne --------------------------------------------------------- -->
          <div id="resultats2" class="col-4 right-bordered font-style bold">
     
          </div>
     
       </div> <!-- .row -->
       </div> <!-- .container -->
     
     
     
       <!-- --------------------------------------------------------- -->
     
     
    	<!--  Jquery sans slim sinon Ajax ne fonctionne pas -->
    	<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
       <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
    	<script src="script.js"></script>
    </body>
    <?php
    include ('piedpageEAP.php');
    ?>

    fichier materiel_resultats.php
    Code php : 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
     
    <?php 
    include ("connexion.php");
     
    $sql = "SELECT * FROM materiel 
            JOIN gamme g ON id_materiel = mat_id
            JOIN gamme_catalogue ON gam_cat_id = id_gam_cat 
            JOIN  catalogue ON cat_id = id_cat
            WHERE cat_nom_mat=:cat_nom_mat";
     
    $requete = $db->prepare($sql);
    $requete->bindValue(":cat_nom_mat", $_POST["id"]);
     
    try {
        $requete->execute();
        $materiel = $requete->fetchAll(PDO::FETCH_OBJ);
        echo json_encode($materiel);
     
    } catch(Exception $e) {
        echo json_encode("ko");
    }
    ?>

    fichier criteres_resultats.php
    Code php : 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
     
    <?php 
    include ("connexion.php");
     
    $sql = "SELECT vc.vc_id AS vc_id, vc.vc_val AS vc_val 
            FROM gamme g
            JOIN gamme_critere_valeur gcv ON gcv.id_gamme = gam_id
            JOIN valeur_critere  vc ON vc.vc_id = gcv.id_val_crit           
            WHERE id_materiel=:id_materiel";
     
    $requete = $db->prepare($sql);
    $requete->bindValue(":id_materiel", $_POST["id"]);
     
    try {
        $requete->execute();
        $materiel = $requete->fetchAll(PDO::FETCH_OBJ);
        echo json_encode($materiel);
     
    } catch(Exception $e) {
        echo json_encode("ko");
    }
    ?>

    fichier post_json.php
    Code php : 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
     
    <?php 
    include ("connexion.php");
     
    $sql = "SELECT * FROM materiel 
            JOIN famille ON fam_id = :fam_mat_id
            WHERE fam_mat_id=:fam_mat_id";
     
    $requete = $db->prepare($sql);
    $requete->bindValue(":fam_mat_id", $_POST["id"]);
     
    try {
        $requete->execute();
        $materiel = $requete->fetchAll(PDO::FETCH_OBJ);
        echo json_encode($materiel);
    } catch(Exception $e) {
        echo json_encode("ko");
    }
    ?>

    fichier script.js
    Code javascript : 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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
     
    $(document).ready(function() 
    {
    	$("#famille").change(function() 
    	{	
    		var famille_id = $(this).val();
     
    		$.post({
    			url: "post_json.php", 
    			data: { id: famille_id },
    			dataType: "json",
    			success: function(reponse) 
    			{			
    				var contenu = '<option>Sélectionnez</option>';
     
    				$.each(reponse, function(key, val) 
    				{				
    					contenu += "<option value='"+val.mat_id+"'>"+val.mat_ref+"</option>\n";		                  
    		        });					
    				$("#materiel").html(contenu);		
    			},			
    		});	
     
    		// 2ème requête Ajax affiche les familles
    		$.post({
    			url: "materiel_resultats.php", 
    			data: { id: famille_id },
    			dataType: "json",
    			success: function(reponse2) 
    			{			            
    				var contenu = '';
     
    				$.each(reponse2, function(key, val) 
    				{	
    		            contenu += "<div>"+val.mat_ref+"</div>\n";     
    				});	
    				$("#resultats2").html(contenu);				
    			}	
    		});		
    	});		
     
    	$("body").on("change", "#materiel", function() 
    	{	
    		var materiel_id = $(this).val();
    		console.log("materiel_id : "+materiel_id);
     
    		$.post({
    			url: "criteres_resultat.php", 
    			data: { id: materiel_id },
    			dataType: "json",
    			success: function(reponse3) 
    			{			
                     console.log(reponse3);
     
    				var contenu = '<option disabled>Sélectionnez</option>';
     
    				$.each(reponse3, function(key, val) 
    				{				
    					contenu += "<option value='"+val.cat_id+"'>"+val.cat_nom_mat+"</option>\n";		                  
    		        });					
    				$("#criteres").html(contenu);
    			}	
    		});	
     
    		// 4ème requête Ajax affiche le matériel
    		$("body").on("change", "#materiel", function() 
    		{	
    		var materiel_id = $(this).val();
     
    		$.post({
    			url: "criteres_resultat.php", 
    			data: { id: materiel_id },
    			dataType: "json",
    			success: function(reponse4) 
    			{			
    				var contenu = '';
     
    				$.each(reponse4, function(key, val) 
    				{				
    					contenu += "<div>"+val.cat_nom_mat+"</div>\n";		                  
    				});					
     
    				$("#criteres").html(contenu);
     
    			}	
    		});		
     
    		});		
    	});		
    });

    le schéma de la base de données :

    Nom : Diagramme BDD6.jpg
Affichages : 198
Taille : 128,5 Ko

    Merci beaucoup d'avance pour votre aide.

Discussions similaires

  1. Réponses: 5
    Dernier message: 08/01/2017, 16h53
  2. problème de récupération de données String dans un tableau
    Par simonteb dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 08/07/2012, 17h21
  3. Réponses: 4
    Dernier message: 09/10/2011, 13h22
  4. Réponses: 5
    Dernier message: 09/10/2008, 14h28
  5. Problème de récupération de données d'un formulaire
    Par merymaru dans le forum Langage
    Réponses: 5
    Dernier message: 26/06/2007, 22h04

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