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 :

Afficher deux requêtes differents sur meme table [Oracle]


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Homme Profil pro
    ile de france
    Inscrit en
    Novembre 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : ile de france
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2013
    Messages : 13
    Points : 4
    Points
    4
    Par défaut Afficher deux requêtes differents sur meme table
    Bonjour à tous
    j'ai vraiment besoin de votre aide , pouvez vous m'aider sil vous plait , j’apprends le php actuellement depuis 2 jours
    je fais du traitement de données php sur oracle 11g , j' utilise pdo , ma connection à ma base est parfaite.
    mon souci est d'utilisé deux requêtes différentes avec une même table et d'afficher les résultats : de cette façon
    date_parcourt ,distancev120 ; distancev140 ; performance120 ; performance140 , mon souci est au niveau de mon foreach qui doit utiliser les deux requêtes
    différente à cause de de l'id équipement est propre à chaque équipement : ( je donne plus d'information dans le commentaire du code)

    Données :
    Table : velo (ve_id ,equi_id,date_parcourt, distance ,performance)
    equipement (equi_id , nom_tb)
    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
    <?php
        require('db_connect.php');
    	 //requête pour avoir  les données de l'equipement v120 
    	 $requete1 = $conn->query("select * from velo where equi_id in (2358,2383)");
    	 // requête pour avoir les données de l'équipement v140
    	$requete2 = $conn->query("select * from velo  where equi_id in (2380,2381)");
     
        foreach ($requete1 as $row1) {
    	/* affichage des deux resultats  */
    	   // je souhaite afficher les données des deux requêtes .les deux requêtes utilisent la même table ,même colonnes mais les données change en fonction
    	   //du equi_id qui leur sont prope . en gros je veux comparer les données de l’équipement v120 et de l’équipement v140 sur le velo.
    	   //je ne sais pas coment utiliser  $requete2 as $row2 en même tant que foreach ($requete1 as $row1). dois je utiliser deux foreach ? comment ?
     
        ?>
        <tr>
     
        <td><?php echo $row1['date_parcourt']; ?></td> 
    	<td><?php echo $row1['distance']; ?></td><td><?php echo $row2['distance']; ?></td> 
    	<td><?php echo $row1['performance']; ?></td><td><?php echo $row2['performance']; ?></td> 
     
        <?php } ?>
        </table border="10">
    Merci bcp

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Pourquoi il y a deux id par equipement ? Tu recuperes deux enregistrments par requête ?
    Lequel va en face duquel dans ton tableau ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Candidat au Club
    Homme Profil pro
    ile de france
    Inscrit en
    Novembre 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : ile de france
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2013
    Messages : 13
    Points : 4
    Points
    4
    Par défaut reponse
    Bonjour à Tous , je m'excuse pour le retard de ma reponse , j'étais en déplacement , merci <<sabotage>> de m'avoir repondu , je repond à tes questions , et je profite pour donner plus de précision sur mon premier , merci de prendre en compte ce que j'ajoute comme infos ici ça pourrait aider à mieux comprendre:


    06/08/2014, 12h07
    sabotage

    Pourquoi il y a deux id par équipement ? Tu récupères deux enregistrements par requête ?
    Lequel va en face duquel dans ton tableau ?

    reponse: Pourquoi il y a deux id par équipement ? non il n'ya pas que 2 id par équipement , nous avons en tout 48 id par équipement car nous avons 24 type de vélo, chaque vélo à utilise 2 équipements , aussi pour chaque vélo à id unique d'équipement.
    exemple: 1) le velo bmx à l’équipement v120 avec id= 2358
    le meme velo bmx à l équipement v140 avec id=2380

    2) le velo vtt à l'equipement v120 avec id= 2383
    le meme velo vtt à l équipement v120 avec id=2381
    ainsi de suite pour les 24 vélo.
    Tu recuperes deux enregistrments par requête ? non je recupère normalement 20 enregistrement par requête mais pour faire simple et mieux comprendre je préfère m'arreter ici à deux enregistrement.

    Lequel va en face duquel dans ton tableau ? je veux comparer ou meme poser les données de l'équipement v120 et v140 côte à côte pour les comparer:
    présentation que je veux: date_parcourt ,distancev120 ; distancev140 ; performance120 ; performance140 .
    quand je rassemble les deux requetes en une seule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     $requete = $conn->query("select date_parcourt , performance , equi_id , typevelo from velo where equi_id in (2358,2383,2380,2381)");
    l'affichage 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
    
    
    
    date_parcourt performance equi_id typevVelo
    06/07/14 30 2358 -V120 Velo bmx
    06/7/14 40 2380-V140 Velo bmx

    explication :
    A la date du 06/07/2014
    Dans la colonne <<performance>> il ya les données de l’équiment V120 ,<<performance>> =30
    et de l’equipement v140 <<performance>>=40
    Or je souhaite que ça soit 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
    
    
    
    date_parcourt
    performanceV120
    performanceV140 typeVelo
    06/07/14 30 40 velo bmx

    Alors dans mon code ci-dessous j’ai utilisé des alias pour renommer la colonne et j’ai divisé en deux requête pour éviter que les informations des deux équipements soit dans la meme colonne comme en haut :

    donc les colonnes deviennent

    date_parcourt as date

    performance as performanceV120

    performance as perfromancev140
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $requete1 = $conn->query("select date_parcourt as date, performance as performanceV120 from velo where equi_id in (2358,2383)");
     
    $requete2 = $conn->query("select date_parcourt as date, performance as performanceV140  from velo  where equi_id in (2380,2381)");
    comment avoir alors : dans ce ordre attention c'est la meme table et meme colonnes
    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
    
    
    date_parcourt
    performanceV120
    performanceV140 typeVelo
    06/07/14 30 40 velo bmx

    merci de regarder mon script ci dessous :
    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
     
     
    <?php
        require('db_connect.php');
         //requête pour avoir  les données de l'equipement v120 
         $requete1 = $conn->query("select date_parcourt as date, performance as performanceV120 from velo where equi_id in (2358,2383)");
         // requête pour avoir les données de l'équipement v140
        $requete2 = $conn->query("select date_parcourt as date, performance as performanceV140  from velo  where equi_id in (2380,2381)");
     
        foreach ($requete1 as $row1) {
        /* affichage des deux resultats  */
           // je souhaite afficher les données des deux requêtes .les deux requêtes utilisent la même table ,même colonnes mais les données change en fonction
           //du equi_id qui leur sont prope . en gros je veux comparer les données de l’équipement v120 et de l’équipement v140 sur le velo.
           //je ne sais pas coment utiliser  $requete2 as $row2 en même tant que foreach ($requete1 as $row1). dois je utiliser deux foreach ? comment ?
     
        ?>
        <tr>
     
        <td><?php echo $row1['date_parcourt']; ?></td> 
        <td><?php echo $row1['distance']; ?></td><td><?php echo $row2['distance']; ?></td> 
        <td><?php echo $row1['performance']; ?></td><td><?php echo $row2['performance']; ?></td> 
     
        <?php } ?>
        </table border="10">

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est difficile de t'aider au mieux en en sachant si peu sur les tenants et les aboutissants.

    Ce n'est pas très bien d'écrire en dur des id dans ton code comme ça.
    De même la table "velo" semble contenir des "tests de vélo" plutôt que des velos donc ce n'est pas très clair


    Bon en supposant que l'information V120, V140 soit le "nom_tb" (je laisse le nom des equipements en dur faute d'en savoir plus), le principe va être de d'abord classer les résultats de ta requête dans un tableau PHP, puis de parcourir le tableau :

    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
    $tblEqui = array('V120', 'V140');
    $requete = $conn->query("SELECT ve_id, equi_id, date_parcours, distance, performance, nom_tb FROM velo 
    JOIN equipement ON equipement.equi_id = velo.equi_id
    WHERE nom_tb IN ('V120', 'V140')");
    foreach ($requete as $row) {
       $ve_id = $row['ve_id'];
       $nom_tb = $row['nom_tb'];
       $date_parcours = $row['date_parcours'];
       // on classe par velo, date et equipement :
       $data[$ve_id][$date_parcours][$nom_tb] = $row;
    }
     
     
    echo '<table>';
    foreach($data as $velo=>$parcours) {
           foreach ($parcours as $date_parcours=>$values) {
                  echo '<tr>';
                     <td>' . $velo . '</td>
                     <td>' . $date_parcours. '</td>';
          foreach($tblEqui as $equi) {
                $perf = isset($values[$equi]) ? $values[$equi]['performance'] : '';
                echo '<td>' . $perf . </td>';
          }
          echo '</tr>';
    }
    echo '</table>';
    Tel quel le principe ne fonctionne pas si un vélo à plusieurs parcours le meme jour avec le même équipement.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Candidat au Club
    Homme Profil pro
    ile de france
    Inscrit en
    Novembre 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : ile de france
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2013
    Messages : 13
    Points : 4
    Points
    4
    Par défaut
    Je vous remercie infiniment pour votre aide, mille fois merci.
    J’ai essayé votre code mais j’ai toujours un souci.
    Je me suis encore renseigner et j’ai pu avoir les vrais données avec plus d’explications :
    Je vais essayer de donner plus d’information.
    En gros je dois développer une application de monitoring en php qui doit gérer les données du field test qui se fait chaque :
    -chaque jour 20 marques de vélos portant les équipements v140 et v120 parcourt une distance.
    - chaque vélo est équipés de deux équipements ( v140 et v120 ) et parcourent une distance
    -les équipements v140 et v120 sont des boitiers qui permettent de suivre la conduite du cycliste . exemple :
    Sa_vitesse, sa_distance, positions , donnée_GPS , date_parcout , numero_departement
    -l’équipement v140 est une amélioration des faiblesses de l’équipement V120.
    L’objectif du sujet est de faire une comparaison des données du field test des deux équipements v140 et v120 en fonction du type de voiture :

    Voici les données types de vélo et le id V140 et V120 qui correspond à chaque voiture

    TypeVelo V140 (TTD_EQUIP_ID) V120_id (TTD_EQUIP_ID)
    BMX 2358 2380
    Vtt 2383 2381
    Atala 2389 2388
    BTWIN 2386 2409
    CERVELO 2385 2384




    Les tables sont ainsi :

    Les données des tests des equipes sur vélo sont envoyé dans une seul et une table qui est :
    TMP_TRIP_DATA , cette table ne possède pas de champs nom équipement mais le nom equipement est reconnu dans la liste ci-dessus
    La description de la table tmp_trip_data est la suivante :


    Table : TMP_TRIP_DATA

    Table : TMP_TRIP_DATA libellés
    TTD_EQUIP_ID Numéro de l’équipement
    TTD_CREATION_DT Date
    TTD_TYPE_VELO Type de vélo
    TTD_DISTANCE_PER_DAY Distance
    TTD_TOTAL_NUMBER_A Number_Arrival
    TTD_TOTAL_NUMBER_D Number_Departure
    TTD_TOTAL_NUMBER_T Number_T_V140
    TTD_GPS_ACC_RATE Number_of_Alerts
    TTD_GPS_OFFSET_RATE GPS_availability_per_d





    Le vrai souci est que si j’utilse une requête est que comme c’est la même colonne pour les deux equipement jai le

    //TTD_EQUIP_ID reçoit id de v140 et v120

    $requete = $conn->query("select TTD_CREATION_DT,TTD_DISTANCE_PER_DAY,TTD_EQUIP_ID,TTD_TYPE_VELO from tmp_trip_data where TTD_EQUIP_ID in (2358,2383,2380,2381)");

    TTD_CREATION_DT TTD_DISTANCE_PER_DAY TTD_EQUIP_ID TTD_TYPE_VELO
    06/07/14 30 2358 Velo bmx
    06/07/14 40 2380 Velo bmx
    06/07/14 20 2383 vtt
    06/07/14 50 2381 vtt


    selon mon tableau plus on sait que : 2358 correspond à v140
    2380 correspond à v120
    2383 correspond à v140
    2381 correspond à 2381



    Or je souhaite que ça soit ainsi :

    TTD_CREATION_DT TTD_DISTANCE_PER_DAY_V140 TTD_DISTANCE_PER_DAY_120 TTD_TYPE_VELO
    06/07/14 30 40 bmx
    06/07/14 20 50 vtt





    voici mon code , il explique comment je veux afficher les resultats ,j'ai besoin de votre aide pour pouvoir afficher les données des deux requetes les unes après l'autres

    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
     
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
        <title>SCD30-CARS-METRIQUES</title>
     
     
    <style type="text/css">
    <!--
    .Style2 {
        font-size: 36pt;
        font-weight: bold;
        font-style: italic;
        font-family: "Arial Narrow ", Times, serif;
    }
    -->
    </style>
    </head>
    <body>
     
    <div align="center">
     <font color="red"><span class="Style2">MONITORING</span></font>
      <p><img src="images/imags25.jpg" alt="" width="800" height="10" /> </p>
      </div>
     
     <p align="left"><em><font size="5">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Data of the FT with the SCD30 in decreasing order of date:</font></em></p> 
     
     <br>
     <br>
     
        <table border="10">
     
        <tr>
     
            <th>DAY </th>
             <th>Type_Vélo</th>
            <th>Numero_Equipement_V140</th> <th>Numero_Equipement_V120</th> 
            <th>Distance_V140</th> <th>Distance_V120</th> 
            <th>Number_Arrival_V140</th>  <th>Number_Arrival_V120</th>
            <th>Number_Departure_V140</th><th>Number_Departure_V120</th> 
            <th>Number_T_V140</th>  <th>Number_T_V120</th> 
            <th>Number_of_Alerts_V140</th><th>Number_of_Alerts_V120</th>
            <th>GPS_availability_per_d_V140</th> <th>GPS_availability_per_d_V120</th>
     
        </tr>
     
     
        <?php
        require('db_connect_oracle_payd.php');
         //requête pour avoir  les données de l'équipement V140
         $requete1 = $conn->query("select * from tmp_trip_data where TTD_DEV_ID in (2358,2383,2389,2386,2385) order by ttd_creation_dt desc");
         // requête pour avoir les données de l'équipement V120
        $requete2 = $conn->query("select * from tmp_trip_data where TTD_DEV_ID in (2380,2381,2388,2409,2384) order by ttd_creation_dt desc");
     
        foreach ($requete1 as $row1) and($requete2 as $row2){
        /* affichage des deux resultats  */
           // je souhaite afficher les données des deux requetes les unes à la suite de l'autres pour comparer les données des de V140 et V120
        ?>
        <tr>
     
        <td><?php echo $row1['TTD_CREATION_DT']; ?></td> 
        <td><?php echo $row1['TTD_TYPE_VELO']; ?></td> 
        <td><?php echo $row1['TTD_EQUIP_ID']; ?></td><td><?php echo $row2['TTD_EQUIP_ID']; ?></td>
        <td><?php echo $row1['TTD_DISTANCE_PER_DAY']; ?></td><td><?php echo $row2['TTD_DISTANCE_PER_DAY']; ?></td>
        <td><?php echo $row1['TTD_TOTAL_NUMBER_A']; ?></td><td><?php echo $row2['TTD_TOTAL_NUMBER_A']; ?></td>
        <td><?php echo $row1['TTD_TOTAL_NUMBER_D']; ?></td> <td><?php echo $row2['TTD_TOTAL_NUMBER_D']; ?></td>
     
        <td><?php echo $row1['TTD_TOTAL_NUMBER_T']; ?></td> <td><?php echo $row2['TTD_TOTAL_NUMBER_T']; ?></td>
        <td><?php echo $row1['TTD_GPS_ACC_RATE']; ?></td> <td><?php echo $row2['TTD_GPS_ACC_RATE']; ?></td>
        <td><?php echo $row1['TTD_GPS_OFFSET_RATE']; ?></td> <td><?php echo $row2['TTD_GPS_OFFSET_RATE']; ?></td>
     
        </tr>
     
        <?php } ?>
        </table border="10">
    Fichiers attachés Fichiers attachés

  6. #6
    Candidat au Club
    Homme Profil pro
    ile de france
    Inscrit en
    Novembre 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : ile de france
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2013
    Messages : 13
    Points : 4
    Points
    4
    Par défaut Php pdo - 3 listes déroulantes - affichage des données
    je m'excuses de vous déranger encore mais j'ai encore un autres soucis à part le prémier soucis de comparaison des données V140 et V120.

    toujours avec ma table : tmp_trip_data.
    je fois faire un formulaire qui utilisent 3 listes déroulantes :

    - une liste déroulante : type de vélo
    -une liste déroulante : id Equipement
    -une liste déroulante : date
    -un bouton de validation
    je dois afficher le resultat des éléments sélectionner et valider

    mes données sont :

    TypeVelo V140 (TTD_EQUIP_ID) V120_id (TTD_EQUIP_ID)
    BMX 2358 2380
    Vtt 2383 2381
    Atala 2389 2388
    BTWIN 2386 2409
    CERVELO 2385 2384

    l'unique table que nous avons : tmp_trip_data
    Table : TMP_TRIP_DATA libellés
    TTD_EQUIP_ID Numéro de l’équipement
    TTD_CREATION_DT Date
    TTD_TYPE_VELO Type de vélo
    TTD_DISTANCE_PER_DAY Distance
    TTD_TOTAL_NUMBER_A Number_Arrival
    TTD_TOTAL_NUMBER_D Number_Departure
    TTD_TOTAL_NUMBER_T Number_T
    TTD_GPS_ACC_RATE Number_of_Alerts
    TTD_GPS_OFFSET_RATE GPS_availability_per_d



    voici le code de mon formulaire : quand , je fais ainsi je vois bien mes 3 listes déroulantes qui contiennent des données mais le gros soucis , je n'arrivent pas à avoir l'affichage de mes données après selections des 3 données et validation.
    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
     
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Liste déroulante test</title>
    </head>
     
    <body>
    <form method="post" action="traitement0.php">
     
           <label for="tmp_trip_data">quel est le type de velo ?</label><br />
           <select name="tmp_trip_data" id="tmp_trip_data">
    <?php
    require('db_connect_oracle_payd.php');
    $reponse = $conn->query('SELECT * FROM tmp_trip_data');
     
    while ($donnees = $reponse->fetch())
    {
    ?>
               <option value=" <?php echo $donnees['TTD_TYPE_VELO']; ?>"> <?php echo $donnees['TTD_TYPE_VELO']; ?></option>
    <?php
    }
     
     
    $reponse->closeCursor();
     
    ?>
    </select>
     
     
       <label for="tmp_trip_data">quel est le type de device ?</label><br />
           <select name="tmp_trip_data" id="tmp_trip_data">
    <?php
    require('db_connect_oracle_payd.php');
    $reponse = $conn->query('SELECT * FROM tmp_trip_data');
     
    while ($donnees = $reponse->fetch())
    {
    ?>
               <option value=" <?php echo $donnees['TTD_DEV_ID']; ?>"> <?php echo $donnees['TTD_DEV_ID']; ?></option>
    <?php
    }
     
     
    $reponse->closeCursor();
     
    ?>
    </select>
     
     
     
    </select>
     
     
       <label for="tmp_trip_data">quel est la date du FT ?</label><br />
           <select name="tmp_trip_data" id="tmp_trip_data">
    <?php
    require('db_connect_oracle_payd.php');
    $reponse = $conn->query('SELECT * FROM tmp_trip_data');
     
    while ($donnees = $reponse->fetch())
    {
    ?>
               <option value=" <?php echo $donnees['TTD_CREATION_DT']; ?>"> <?php echo $donnees['TTD_CREATION_DT']; ?></option>
    <?php
    }
     
     
    $reponse->closeCursor();
     
    ?>
    </select>
    <p>
            <input type="submit" value="Envoyer" />
        </p>
     
     
     
    </form>
    </body>
    </html>
    voici le code de mon fichier de traitement :


    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
     
     
    <?php
    if (empty($_POST['TTD_TYPE_VELO']) || empty($_POST['TTD_DEV_ID']) || empty($_POST['TTD_CREATION_DT'])) {
        echo '<p class="erreur">Attention, vous devez remplir tous les champs</p>';
    } else {
        // connexion à la base
        require_once("db_connect_oracle_payd.php");
     
        // on écrit la requête sql
        $sql = 'INSERT INTO tmp_trip_data(TTD_TYPE_VELO, TTD_DEV_ID, TTD_CREATION_DT) VALUES(' . $bdd->quote($_POST['TTD_CAR_TRIP_TYPE']) . ','
            . $bdd->quote($_POST['TTD_DEV_ID']) . ','
            . $bdd->quote($_POST['TTD_CREATION_DT']) . ')';
     
        // on insère les informations du formulaire dans la table
        try {
            $bdd->query($sql);
        } catch (Exception $e) {
            echo '<p class="erreur">', $e->getMessage(), '</p>';
        }
        // on affiche le résultat pour le visiteur
        echo '<span class="laclasse qui va bien">Votre message à bien été envoyé !</span>';
    }
    ?>
    j'ai mit les deux fichiers en pièce jointe ( liste.php et traitement0.php) , merci merci mille merci pour votre aide
    Fichiers attachés Fichiers attachés

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est dommage que tu n'aies pas essayé de comprendre mon exemple et de l'adapter.
    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
     
    // ici fait simple en mettant en dur la correspondance des equipements mais il serait plus sérieux d'avoir une table dans la bdd
    $tblEqui = array(2358=>'V120', 2380=>'V140', 2383=>'V120', 2381=>'V140', 2389=>'V120', 2388=>'V140', 2386=>'V120', 2409=>'V140', 2385=>'V120', 2384=>'V140');
     
    $requete = $conn->query("select TTD_CREATION_DT, TTD_DISTANCE_PER_DAY, TTD_EQUIP_ID, TTD_TYPE_VELO from tmp_trip_data");
    foreach ($requete as $row) {
         $date = $row['TTD_CREATION_DT'];
         $equipement = $tblEqui[$row['TTD_EQUIP_ID']];
         $velo = $row['TTD_TYPE_VELO'];
     
         $data[$date][$velo][$equipement] = $row['TTD_DISTANCE_PER_DAY'];
    }
     
    echo '<table>';
    foreach ($data as $date=>$velos) {
        foreach ($velos as $velo=>$values) {
             echo '<tr><td>' . $date . '</td>
                           <td>' . $velo . '</td>
                           <td>' . $velos['V120'] . '</td>
                           <td>' . $velos['V140'] . '</td>
                     </tr>'
        }
    }
    echo '</table>';
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Candidat au Club
    Homme Profil pro
    ile de france
    Inscrit en
    Novembre 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : ile de france
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2013
    Messages : 13
    Points : 4
    Points
    4
    Par défaut
    je vous remercie infiniment pour votre assistance , je viens d'adapter le script et j'ai chercher à comprendre le script , là je suis entrain de tester. pour l'instant
    j'ai des erreurs de syntaxe sur les bases html ,
    Parse error: syntax error, unexpected end of file in C:\wamp\www\Moteur_recherche\recherche.php on line 24
    je vais donc chercher à voir ce qui manque , et ça devrait être bon , mille fois merci pour votre aide, j'apprends le php.

  9. #9
    Candidat au Club
    Homme Profil pro
    ile de france
    Inscrit en
    Novembre 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : ile de france
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2013
    Messages : 13
    Points : 4
    Points
    4
    Par défaut
    je viens de corriger cette erreur maintenant j'ai une autre , je trouve que la syntaxe est normale , déjà c'est deja bien il faut afficher quelque chose:

    le message est , je cherche toujours :
    ( ! ) Notice: Undefined offset: 2421 in C:\wamp\www\Moteur_recherche\recherche.php on line 8
    Call Stack
    # Time Memory Function Location
    1 0.0000 249752 {main}( ) ..\recherche.php:0

    ( ! ) Notice: Undefined offset: 2589 in C:\wamp\www\Moteur_recherche\recherche.php on line 8
    Call Stack
    # Time Memory Function Location
    1 0.0000 249752 {main}( ) ..\recherche.php:0

    ( ! ) Notice: Undefined offset: 2662 in C:\wamp\www\Moteur_recherche\recherche.php on line 8
    Call Stack
    # Time Memory Function Location
    1 0.0000 249752 {main}( ) ..\recherche.php:0
    merci je vais mes recherche

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ces équipements n'étaient pas dans la liste que tu as donné.
    Soit tu veux les inclure et à ce moment on les renseigne dans le tableau PHP au début comme les autres.
    Soit il faut les exclure.

    A part ces erreurs, tu as un resultat ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Candidat au Club
    Homme Profil pro
    ile de france
    Inscrit en
    Novembre 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : ile de france
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2013
    Messages : 13
    Points : 4
    Points
    4
    Par défaut
    bjr merci pour ta disponibilité , hier pendant mes tests , je n'ai pas pu continuer car je devais rentrer chez moi , ce matin on a tous eu problème de reséau internet , mais cela vient d'être reglé , ce qui fait que je vais maintenant reprendre les tests , et vous dire ce qu'il en est . merci d'avance

    on a encore un souci de reeseau qui fais que je ne peux pour l'instant pas faire de tests , on a tous attrapé un vers sur notre ordinateur , qui automatiquement
    nous met notre configuration reseau tcp/ip ipv4 le dns en mode statique alors que le dns doit etre en mode dynamique pour qu'on ait l'internet , bien vrai qu'on le passe en dynamique et on a internet 2 mn plus tard il se remet en mode statique et plus d'internet. quand l'administrateur regler ce sous , je pourrai reprendre les tests , et je vous dirai merci à vous

    mais deja quand j'ai fais mes tests à 11h , il m'affichait : driver not found , oci.dll
    notre base oracle est distance , moi j'utilise wamp pour accéder à la base mais avant je n'avais pas ce souci ,je pouvais afficher des données, je pense que ça doit etre l'antivirus qui m'a supprimer des fichiers comme mscvr110.dll ce matin jai du le ré installer , je reviens vers vous dès que j'ai des infos .merci

  12. #12
    Candidat au Club
    Homme Profil pro
    ile de france
    Inscrit en
    Novembre 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : ile de france
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2013
    Messages : 13
    Points : 4
    Points
    4
    Par défaut
    j'ai maintenant le réseau , et j'ai fais mes tests :

    j'ai toujours le même messages d'erreur . mes id équipement existent bien dans la table TMP_TRIP_DATA , mais la table ne contient pas de nom équipement V140 et V120 mais ce n'est pas un souci dans le sens que se sont les id qu'on parcourt et on leur attribut un nom en libellé .
    j'ai cela sur toute la page il lit bien le id) , à part ça , je n'ai plus d'erreur.
    ( ! ) Notice: Undefined offset: 2475 in C:\wamp\www\Moteur_recherche\recherche3.php on line 8
    Call Stack
    # Time Memory Function Location
    1 0.0007 253056 {main}( ) ..\recherche3.php:0

    ( ! ) Notice: Undefined offset: 2429 in C:\wamp\www\Moteur_recherche\recherche3.php on line 8
    Call Stack
    # Time Memory Function Location
    1 0.0007 253056 {main}( ) ..\recherche3.php:0

    ( ! ) Notice: Undefined offset: 2486 in C:\wamp\www\Moteur_recherche\recherche3.php on line 8
    Call Stack
    # Time Memory Function Location
    1 0.0007 253056 {main}( ) ..\recherche3.php:0

    ( ! ) Notice: Undefined offset: 2464 in C:\wamp\www\Moteur_recherche\recherche3.php on line 8
    Call Stack
    # Time Memory Function Location
    1 0.0007 253056 {main}( ) ..\recherche3.php:0

    ( ! ) Notice: Undefined offset: 2496 in C:\wamp\www\Moteur_recherche\recherche3.php on line 8
    Call Stack
    # Time Memory Function Location
    1 0.0007 253056 {main}( ) ..\recherche3.php:0

    ( ! ) Notice: Undefined offset: 2490 in C:\wamp\www\Moteur_recherche\recherche3.php on line 8
    Call Stack
    # Time Memory Function Location
    1 0.0007 253056 {main}( ) ..\recherche3.php:0

    ( ! ) Notice: Undefined offset: 2499 in C:\wamp\www\Moteur_recherche\recherche3.php on line 8
    Call Stack
    # Time Memory Function Location
    1 0.0007 253056 {main}( ) ..\recherche3.php:0
    voici le script comme il est actuellement :
    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
    require('db_connect_oracle_payd.php');
    // ici fait simple en mettant en dur la correspondence des equipements mais il serait plus sérieux d'avoir une table dans la bdd
    $tblEqui = array(2358=>'V120', 2380=>'V140', 2383=>'V120', 2381=>'V140', 2389=>'V120', 2388=>'V140', 2386=>'V120', 2409=>'V140', 2385=>'V120', 2384=>'V140');
    $requete = $conn->query("select TTD_CREATION_DT, TTD_DISTANCE_PER_DAY, TTD_EQUIP_ID, TTD_TYPE_VELO from TMP_TRIP_DATA");
    foreach ($requete as $row) {
         $date = $row['TTD_CREATION_DT'];
         $equipement = $tblEqui[$row['TTD_EQUIP_ID']];
         $velo = $row['TTD_TYPE_VELO'];
     
         $data[$date][$velo][$equipement] = $row['TTD_DISTANCE_PER_DAY'];
    }
    echo '<table>';
    foreach ($data as $date=>$velos) {
        foreach ($velos as $velo=>$values) {
             echo '<tr><td>' . $date . '</td>
                           <td>' . $velo . '</td>
                           <td>' . $velos['V120'] . '</td>
                           <td>' . $velos['V140'] . '</td>
                     </tr></tr>';
        }
    }
    echo '</table>';
    Merci d'avance

  13. #13
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Comme tu le vois, dans le code, la repartition V120, V140 est faite à la main au début, il faut le faire pour tous les ids que tu veux.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  14. #14
    Candidat au Club
    Homme Profil pro
    ile de france
    Inscrit en
    Novembre 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : ile de france
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2013
    Messages : 13
    Points : 4
    Points
    4
    Par défaut
    Merci infiniment, j'ai bien effectué la repartition id V120 , V140 , le code est correcte , la repartition aussi , les id exixtent bien en base , mais je ne comprend pas pourquoi le message persiste au niveau de la ligne 8

    ( ! ) Notice: Undefined offset: 2475 in C:\wamp\www\Moteur_recherche\recherche3.php on line 8
    Call Stack
    # Time Memory Function Location
    1 0.0007 253056 {main}( ) ..\recherche3.php:0

    ( ! ) Notice: Undefined offset: 2429 in C:\wamp\www\Moteur_recherche\recherche3.php on line 8
    Call Stack
    # Time Memory Function Location
    1 0.0007 253056 {main}( ) ..\recherche3.php:0

    ( ! ) Notice: Undefined offset: 2486 in C:\wamp\www\Moteur_recherche\recherche3.php on line 8
    Call Stack
    # Time Memory Function Location
    1 0.0007 253056 {main}( ) ..\recherche3.php:0

    ( ! ) Notice: Undefined offset: 2464 in C:\wamp\www\Moteur_recherche\recherche3.php on line 8
    Call Stack
    # Time Memory Function Location
    1 0.0007 253056 {main}( ) ..\recherche3.php:0

    ( ! ) Notice: Undefined offset: 2496 in C:\wamp\www\Moteur_recherche\recherche3.php on line 8
    Call Stack
    là précisement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $equipement = $tblEqui[$row['TTD_EQUIP_ID']];
    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
     require('db_connect_oracle_payd.php');
    // ici fait simple en mettant en dur la correspondence des equipements mais il serait plus sérieux d'avoir une table dans la bdd
    $tblEqui = array(2358=>'V120', 2380=>'V140', 2383=>'V120', 2381=>'V140', 2389=>'V120', 2388=>'V140', 2386=>'V120', 2409=>'V140', 2385=>'V120', 2384=>'V140');
    $requete = $conn->query("select TTD_CREATION_DT, TTD_DISTANCE_PER_DAY, TTD_EQUIP_ID, TTD_TYPE_VELO from TMP_TRIP_DATA");
    foreach ($requete as $row) {
         $date = $row['TTD_CREATION_DT'];
         $equipement = $tblEqui[$row['TTD_EQUIP_ID']];
         $velo = $row['TTD_TYPE_VELO'];
     
         $data[$date][$velo][$equipement] = $row['TTD_DISTANCE_PER_DAY'];
    }
    echo '<table>';
    foreach ($data as $date=>$velos) {
        foreach ($velos as $velo=>$values) {
             echo '<tr><td>' . $date . '</td>
                           <td>' . $velo . '</td>
                           <td>' . $velos['V120'] . '</td>
                           <td>' . $velos['V140'] . '</td>
                     </tr></tr>';
        }
    }
    echo '</table>';
    alors que le code et les données sont correctes

  15. #15
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Que faut-il faire avec l'id 2475 ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  16. #16
    Candidat au Club
    Homme Profil pro
    ile de france
    Inscrit en
    Novembre 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : ile de france
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2013
    Messages : 13
    Points : 4
    Points
    4
    Par défaut
    on veut juste afficher aussi les id tel que les id : 2475 ; 2429 ; 2486 ......
    qui sont dans leur colonne et afficher les paramètres V120 et V140 pour les comparer.

  17. #17
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il faut alors evidemment que cet Id soit défini dans le table $tblEqui comme les autres.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  18. #18
    Candidat au Club
    Homme Profil pro
    ile de france
    Inscrit en
    Novembre 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : ile de france
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2013
    Messages : 13
    Points : 4
    Points
    4
    Par défaut
    je vous dis infiniment merci , pour votre assistance , j'affiche bien mes données , mille fois merci à toi , merci aussi aux sites.
    j'ouvrais un autre ticket pour poser des questions sur les listes déroulantes php , affichages des données de 3 listes déroulantes , merci merci

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

Discussions similaires

  1. afficher deux resultat different dans la meme vuee
    Par mvc_dev dans le forum ASP.NET MVC
    Réponses: 10
    Dernier message: 26/01/2011, 02h19
  2. Réponses: 7
    Dernier message: 31/03/2010, 16h08
  3. [1.x] affiche de traitement de deux module differant sur l'un des deux
    Par benakacha dans le forum Symfony
    Réponses: 1
    Dernier message: 17/09/2009, 14h48
  4. Requête complexe sur plusieurs table
    Par DenPro dans le forum Langage SQL
    Réponses: 13
    Dernier message: 25/11/2003, 17h50
  5. A propos d'une requête SQL sur plusieurs tables...
    Par ylebihan dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/09/2003, 16h26

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