Comment relier tables mysq pour afficher

chris72 -  
 chris72 -
Bonjour,je debute dans la programmation et j'ai quelques soucis.J'aimerais savoir comment afficher dans un tableau des donnés de trois base de données mysql?

moi j'ai

service/ Date /num_ds /Description /Appelant /Appel en / Date de cloture /Actions

service vient d'une base de donnée

appelant vient d'une autre base

et le reste d'une autre
Configuration: Windows XP
Firefox 1.5.0.12

15 réponses

  1. giheller
     
    Bonjour,
    la requete peut être la suivante :

    select base1.service, base2.appelant, base3.lereste from base1,base2,base3
    et eventuellement where quelquechose order by autrechose
    0
    1. chris72
       
      re!

      j'ai ecrit sa:

      $requeteSQL="SELECT service.s_nom,appelant.nom,ds.date,ds.num_ds,ds.description,ds.suivi,ds.cloture FROM services,demandeur,ds"
      $resultat=mysql_query($requeteSQL);

      et quand je lance wamp j'ai cette erreur:

      Parse error: parse error, unexpected T_VARIABLE in C:\wamp\www\DS\index.php on line 113


      la je capte pas trop! merci de ton aide!
      0
      1. chris72 > chris72
         
        heu c t le ; dsl mais il maffiche ma page mais o lieu du tableaun il me met erreur!!! dsl pour le poste d'avant!
        0
  2. giheller
     
    Bonjour,

    c'est quoi la ligne 113
    si ce que tu as écrit est typiquement ce que tu notes dans ton message, il manque un ";" après ds"
    0
    1. chris72
       
      nan l'erreur ligne 113 c t le ; mais depuis que j'ai corrigéil me mais erreur c le echo que g ecrit jte met tte le code si tu as le temps de le decripté ^^. merci bcp de ton aide car la je suis en stage et g ce programme a faire enfin bref! tien voila le code:

      <html>
      <head>
      <title>Gestion des demandes se service et SAV extérieurs</title>
      <script type="text/javascript" src="jquery.js"></script>
      <script type="text/javascript" src="jquery.tablesorter.js"></script>
      <style type="text/css">
      * {
      font-family:verdana;
      font-size:11px;
      }
      input[tupe=text], select {
      width:200px;
      }
      table {
      border-collapse:collapse;
      border-bottom:1px solid #000;
      }
      td, th {

      text-align:center;
      padding:4px 8px 4px 8px;
      border:1px solid #000;
      }
      th {
      color:#FFF;
      background-color:#269;
      cursor:pointer;
      }
      a, a:visited {
      color:#000;
      text-decoration:none;
      }
      a:hover {
      color:#269;
      text-decoration:underline;
      }
      </style>
      <script type="text/javascript">
      function confirmDelete(id){
      result=confirm('Etes-vous sûr de vouloir supprimer cette entrée tu va pas faire une connerie dis hein ?');
      if(result){
      window.location='delete.php?id='+id;
      }
      }
      $(function() {
      $("#table").tableSorter();
      $("#table-init-sort").tableSorter({
      //c'est la date qui trie les entrées
      sortColumn: 'date'
      });
      });
      </script>
      </head>
      <body>
      <div>

      <div align="center">
      <center>
      <div align="center">
      <center>
      <table border="1">
      <tr>
      <td width="220" height="53">
      <p><b><font size="4"><a href="/ds/ajoutmodifcontacts.php"><span style="background-color: #FFFF00">Ajout
      d'un nouveau contact</span></a></font></b></p>
      </td>
      <td width="220" height="53"><span style="background-color: #FF0000"><b><font size="4"><a href="/ds/ajoutmodif.php">Ajout
      d'une nouvelle demande se service</a></font></b></span></td>
      <td width="220" height="53">
      <p><b><a href="/ds/ajoutmodifservices.php"><font size="4"><span style="background-color:rgb(0,204,0);">Ajout
      d'un nouveau service</span></font></a></b></p>
      </td>
      </tr>
      <tr>
      <td width="220" height="83">
      <p><b><font size="4"><a href="/ds/contact.php"><span style="background-color: #FFFF00">Lister/modifier/supprimer
      la liste des contacts </span></a></font></b></p>
      </td>
      <td width="220" height="83">
      <p><a href="http://assistance.ac-nantes.fr/ECARE/accueilEcareR2.html"target="_blank"><b><font size="4"><span style="background-color:red;">Aller
      directement à la plate forme d'assistance Rectorale</span></font></b></a></p>
      </td>
      <td width="220" height="83">
      <p><b><a href="/ds/contactservices.php"><font size="4"><span style="background-color:rgb(0,204,0);">Lister/modifier/supprimer
      la liste des services </span></font></a></b></p>
      </td>
      </tr>
      </table>
      </center>
      <p>La liste des demandes de services</p>

      </div>

      </center>
      </div>



      </div>


      <?php
      $date = date("d-m-Y");
      $heure = date("H:i");
      Print("Nous sommes le $date et il est $heure");

      mysql_connect('localhost','root','')or die('Error connect');
      mysql_select_db('ds');
      //$requeteSQL="SELECT * FROM ds";
      $requeteSQL="SELECT service.s_nom,ds.date,ds.num_ds,ds.description,appelant.nom,ds.suivi,ds.cloture FROM services,demandeur,ds";
      $resultat=mysql_query($requeteSQL);
      if($resultat){
      // \t = tabulation
      //\r\n = retour à la ligne
      // mais uniquement dans le code source du navigateur
      echo '<table id="table">'."\r\n";
      echo "\t".'<thead><tr>'."\r\n";
      echo "\t"."\t".'<th>service</th>'."\r\n";
      echo "\t"."\t".'<th>Date</th>'."\r\n";
      echo "\t"."\t".'<th>num_ds</th>'."\r\n";
      echo "\t"."\t".'<th>Description</th>'."\r\n";
      echo "\t"."\t".'<th>Appelant</th>'."\r\n";
      echo "\t"."\t".'<th>Appel en </th>'."\r\n";
      echo "\t"."\t".'<th>Date de cloture</th>'."\r\n";
      echo "\t"."\t".'<th colspan="2">Actions</th>'."\r\n";
      echo "\t".'</tr></thead>'."\r\n";
      while($data=mysql_fetch_array($resultat)){
      echo "\t".'<tr>'."\r\n";
      echo "\t"."\t".'<td>'.$data['service'].'</td>'."\r\n";
      echo "\t"."\t".'<td>'.$data['date'].'</td>'."\r\n";
      echo "\t"."\t".'<td>'.$data['num_ds'].'</td>'."\r\n";
      echo "\t"."\t".'<td style="width=200PX;">'.$data['description'].'</td>'."\r\n";
      echo "\t"."\t".'<td>'.$data['appelant'].'</td>'."\r\n";
      echo "\t"."\t".'<td style="background-color:';
      echo ($data['suivi']=='En cours')? '#F00' : '#0F0';
      echo ';" >'.$data['suivi'].'</td>'."\r\n";
      echo "\t"."\t".'<td>'.$data['cloture'].'</td>'."\r\n";
      echo "\t"."\t".'<td style="border:0;">> <a href="ajoutmodif.php?id='.$data['id'].'">Modifier</a></td>'."\r\n";
      echo "\t"."\t".'<td style="border:1px solid #000;border-top:0;border-bottom:0;">> <a href="javascript:confirmDelete('.$data['id'].');">Supprimer</a></td>'."\r\n";
      echo "\t".'</tr>'."\r\n";
      }
      echo '</table>'."\r\n";
      }else{
      echo 'Erreur';
      }
      ?>

      </body>
      </html>
      0
  3. giheller
     
    que dit le résultat ? message stp

    donnes moi un extrait de ta base de données ( la structure et une ligne)
    0
  4. giheller
     
    ligne 138

    echo "\t"."\t".'<td style="border:0;">> <a href="ajoutmodif.php?id='.$data['id'].'">Modifier</a></td>'."­;\r\n";

    ______________________________ici double >>
    0
    1. chris72
       
      ok merci pour les doubles >>

      tien voila ma base de données:
      --
      -- Structure de la table `demandeur`
      --

      CREATE TABLE `demandeur` (
      `id` tinyint(235) unsigned NOT NULL auto_increment,
      `nom` text NOT NULL,
      `tel` text NOT NULL,
      PRIMARY KEY (`id`)
      ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=30 ;

      --
      -- Contenu de la table `demandeur`
      --

      INSERT INTO `demandeur` (`id`, `nom`, `tel`) VALUES
      (27, 'mieuzet', '0243589635'),
      (28, 'rousseau', '7854256581');

      -- --------------------------------------------------------

      --
      -- Structure de la table `ds`
      --

      CREATE TABLE `ds` (
      `id` mediumint(255) unsigned NOT NULL auto_increment,
      `service` text NOT NULL,
      `date` varchar(32) NOT NULL default '',
      `num_ds` varchar(32) NOT NULL,
      `description` text NOT NULL,
      `appelant` text NOT NULL,
      `suivi` varchar(32) NOT NULL,
      `cloture` varchar(32) NOT NULL,
      PRIMARY KEY (`id`)
      ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=39 ;

      --
      -- Contenu de la table `ds`
      --

      INSERT INTO `ds` (`id`, `service`, `date`, `num_ds`, `description`, `appelant`, `suivi`, `cloture`) VALUES
      (1, 'radec', '12-03-08', '96666', 'blabla', 'rousseau', 'en cours', '');

      -- --------------------------------------------------------

      --
      -- Structure de la table `services`
      --

      CREATE TABLE `services` (
      `id` smallint(6) NOT NULL auto_increment,
      `s_nom` text NOT NULL,
      `s_prenom` text NOT NULL,
      `s_tel` varchar(14) NOT NULL,
      `s_divers` text NOT NULL,
      `s_fax` varchar(10) NOT NULL,
      `s_interlocuteur` text NOT NULL,
      PRIMARY KEY (`id`)
      ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;

      --
      -- Contenu de la table `services`
      --

      INSERT INTO `services` (`id`, `s_nom`, `s_prenom`, `s_tel`, `s_divers`, `s_fax`, `s_interlocuteur`) VALUES
      (1, 'symantec', '', '0243278906', '', '0356987452', ''),
      (2, 'radec', 'paul', '0354896247', 'rien du tout', '4523654055', 'bobo'),
      (3, 'tototo', 'cccc', '0544444', 'iiiu', '7527', 'yyy'),
      (4, 'chris', 'topher', '36985055', 'popo', '78545958', 'personne'),
      (5, 'totoioio', 'po', '0289635874', 'lditdfl', '123', 'lmpo');
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. chris72
     
    pour ta question:
    que dit le résultat ? message stp

    donnes moi un extrait de ta base de données ( la structure et une ligne) JL, m'enfin c'est juste mon avis @+
    se faire aider, n'est pas faire faire son travail

    il me met erreur!

    cela vient de mon:

    }else{
    echo 'Erreur';
    }

    est ce tu voit un peut se que sa pourrait etre ou pas ?
    0
  7. giheller
     
    je suis sur le coup, il y a beaucoup de chose à modifier, ne désespère pas.
    0
    1. chris72
       
      merci bcp vraiment, la c un peut la galere je relis tt mes codes. dit moi par contre le tableau affiche se que je rempli dans un formulaire qui s'appel ajoutmodif.php et la dans ce formulaire j'ai besoin du nom des services de ma table service et du nom de l'appelant qui est dans ma table appelant et le reste de l'otre table. tu voit ske jveut dire?
      0
  8. giheller
     
    J'en suis là

    <html>
    <head>
    <title>Gestion des demandes se service et SAV extérieurs</title>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript" src="jquery.tablesorter.js"></script>
    <style type="text/css">
    * {
    font-family:verdana;
    font-size:11px;
    }
    input[tupe=text], select {
    width:200px;
    }
    table {
    border-collapse:collapse;
    border-bottom:1px solid #000;
    }
    td, th {

    text-align:center;
    padding:4px 8px 4px 8px;
    border:1px solid #000;
    }
    th {
    color:#FFF;
    background-color:#269;
    cursor:pointer;
    }
    a, a:visited {
    color:#000;
    text-decoration:none;
    }
    a:hover {
    color:#269;
    text-decoration:underline;
    }
    </style>
    <script type="text/javascript">
    function confirmDelete(id){
    result=confirm('Etes-vous sûr de vouloir supprimer cette entrée tu va pas faire une connerie dis hein ?');
    if(result){
    window.location='delete.php?id='+id;
    }
    }
    $(function() {
    $("#table").tableSorter();
    $("#table-init-sort").tableSorter({
    //c'est la date qui trie les entrées
    sortColumn: 'date'
    });
    });
    </script>
    </head>
    <body>
    <div>

    <div align="center">
    <center>
    <div align="center">
    <center>
    <table border="1">
    <tr>
    <td width="220" height="53">
    <p><b><font size="4"><a href="/ds/ajoutmodifcontacts.php"><span style="background-color: #FFFF00">Ajout
    d'un nouveau contact</span></a></font></b></p>
    </td>
    <td width="220" height="53"><span style="background-color: #FF0000"><b><font size="4"><a href="/ds/ajoutmodif.php">Ajout
    d'une nouvelle demande se service</a></font></b></span></td>
    <td width="220" height="53">
    <p><b><a href="/ds/ajoutmodifservices.php"><font size="4"><span style="background-color:rgb(0,204,0);">Ajout
    d'un nouveau service</span></font></a></b></p>
    </td>
    </tr>
    <tr>
    <td width="220" height="83">
    <p><b><font size="4"><a href="/ds/contact.php"><span style="background-color: #FFFF00">Lister/modifier/supprimer
    la liste des contacts </span></a></font></b></p>
    </td>
    <td width="220" height="83">
    <p><a href="http://assistance.ac-nantes.fr/ECARE/accueilEcareR2.html"target="_bla­nk"><b><font size="4"><span style="background-color:red;">Aller
    directement à la plate forme d'assistance Rectorale</span></font></b></a></p>
    </td>
    <td width="220" height="83">
    <p><b><a href="/ds/contactservices.php"><font size="4"><span style="background-color:rgb(0,204,0);">Lister/modifier/supprimer
    la liste des services </span></font></a></b></p>
    </td>
    </tr>
    </table>
    </center>
    <p>La liste des demandes de services</p>

    </div>

    </center>
    </div>

    </div>

    <?php
    $date = date("d-m-Y");
    $heure = date("H:i");
    Print("Nous sommes le $date et il est $heure");
    echo "<br><br>";
    mysql_connect('localhost','root','')or die('Error connect');
    mysql_select_db('ds');
    //$requeteSQL="SELECT * FROM ds";
    $requeteSQL="SELECT services.s_nom as services,ds.date,ds.num_ds,ds.description,ds.appelant,ds.suivi,ds.cloture FROM services,demandeur,ds";

    $resultat=mysql_query($requeteSQL);
    //print_r($resultat);echo "<br>";
    $nblignes=mysql_num_rows($resultat);
    //echo "nb ligne ".$nblignes."<br>";
    if ($nblignes>0){
    // \t = tabulation
    //\r\n = retour à la ligne

    // mais uniquement dans le code source du navigateur
    echo '<center><table id="table">'."\r\n";
    echo "\t".'<thead><tr>'."\r\n";
    echo "\t"."\t".'<th>service</th>'."\r\n";
    echo "\t"."\t".'<th>Date</th>'."\r\n";
    echo "\t"."\t".'<th>num_ds</th>'."\r\n";
    echo "\t"."\t".'<th>Description</th>'."\r\n";
    echo "\t"."\t".'<th>Appelant</th>'."\r\n";
    echo "\t"."\t".'<th>Appel en </th>'."\r\n";
    echo "\t"."\t".'<th>Date de cloture</th>'."\r\n";
    echo "\t"."\t".'<th colspan="2">Actions</th>'."\r\n";
    echo "\t".'</tr></thead>'."\r\n";
    for ($i=0;$i<$nblignes;$i++){
    $ligne = mysql_fetch_row($resultat);

    echo "\t".'<tr>'."\r\n";
    echo "\t"."\t".'<td>'.$ligne['0'].'</td>'."\r\n";
    echo "\t"."\t".'<td>'.$ligne['1'].'</td>'."\r\n";
    echo "\t"."\t".'<td>'.$ligne['2'].'</td>'."\r\n";
    echo "\t"."\t".'<td style="width=200PX;">'.$ligne['3'].'</td>'."\r\n";
    echo "\t"."\t".'<td>'.$ligne['4'].'</td>'."\r\n";
    echo "\t"."\t".'<td style="background-color:';
    echo ($ligne['5']=='En cours')? '#F00' : '#0F0';
    echo ';" >'.$ligne['5'].'</td>'."\r\n";
    echo "\t"."\t".'<td>'.$ligne['6'].'</td>'."\r\n";
    echo "\t\t<td style='border:0';> <a href='ajoutmodif.php?id=".$i.">Modifier</a></td>\r\n";
    echo "\t\t<td style='border:1px solid #000;border-top:0;border-bottom:0;'> ";
    echo "<a href='javascript:confirmDelete(".$i.");'>Supprimer</a></td>\r\n";
    echo "\t</tr>\r\n";
    }
    echo "</table></center>\r\n";

    }else{
    echo 'Erreur';
    }
    ?>

    </body>
    </html>
    0
  9. giheller
     
    as-tu essayé ça, il manque la fermeture de la dernière colonne !
    0
    1. chris72
       
      ouais merci g essayer et il me met ceci:

      Warning: Unexpected character in input: '\' (ASCII=92) state=1 in C:\wamp\www\DS\index.php on line 148

      Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in C:\wamp\www\DS\index.php on line 148
      0
  10. giheller
     
    echo "<a href='javascript:confirmDelete(".$i.");'>Supprimer</a></td>\r\n";

    c'est le &quote; généré qui ne va pas.

    il mabque aussi la colonne modifier mais je suis dessus
    il se pass des choses étranhes : j'affiche cette colonne qu'en codant deux fois l'echo ?????
    0
    1. chris72
       
      j'ai réécri sa j'ai sa maintenant:

      echo "\t"."\t".'<td style="border:1px solid #000;border-top:0;border-bottom:0;"> <a href="javascript:confirmDelete('.$data['id'].');">Supprimer</a></td>'."\r\n";
      echo "\t".'</tr>'."\r\n";
      }
      echo '</table>'."\r\n";
      }else{
      echo 'Erreur';
      }

      tu me dit ke tu arrive a afficher une colonne en codant 2 fois l'echo

      detail un peut stp. mais tu a lu ce que j'ai envoyé tt a l'heure?

      sur le formulaire?
      0
  11. giheller
     
    le code qui va bien est là

    https://www.cjoint.com/?dmmTWDiWdP
    faut juste lui changer de nom
    0
    1. chris72
       
      merci bcp sa marche^^!

      le probleme c'est que je n'arrive pas remplir ma table "ds" avec mon formulaire qui s'appel ajoutmodif.php car des données a prendre de deux tables différentes et je doit enregistrer le tt dans une tables puis l'afficher dans le tableau que tu a refais! tu voit un peut le truc ou pas car moi je nage pour tt te dire!
      0
  12. giheller
     
    Il faut aussi que je travaille un peu.

    Il y a des choses qui ne sont pas "au carré" dans le truc précédent en effet en cliquant sur modifier ou supprimer, on envoie le numéro de ligne et pas le id de l'enregistrement -> à corriger

    ce que tu envoies est un gros fichier, il faut donc savoir ce qui ne va pas. Dans un premier temps inspires toi de ce que j'ai écrit.
    et pour t'aider :
    quand tu récupères des données dans un tableau; exemple

    $resultat=mysql_query($requeteSQL);

    fais

    echo "<br>"; print_r($resultat); echo "<br>";
    tu verras ainsi ce que tu récupères et tu verras que dans ce que tu as écrit le nom des varaibles n'est pas tout à faite celui que tu attends.
    0
    1. chris72
       
      oki ^^ merci pour ton aide et merci pour l'astuce pour voir car c vrai que pour le debogage avec php c'est pas facile.bon apres midi. @+
      0
    2. giheller > chris72
       
      autre truc vérifies que ce que je t'ai envoyé correspond à ce que tu veux. car on affiche plusieurs lignes mais il n'y a qu'un enregistrement dans la base ds ...
      entre demandeur, ds et services je ne sias pas bien comment tu articules tout ça...(en fonction de tes spécifications)


      essaies d'avancer et demnades moi des truces ponstuuellemnt, je ne peux pas tout revoir ni ré écrire
      0
    3. chris72 > giheller
       
      ok c genti. je regarde deja je prend le temps car je tape un peut trop vite et souvent je laisse pleins d'erreur!^^ encore merci @+
      0
    4. giheller > chris72
       
      la requête sql doit être
      $requeteSQL="SELECT services.s_nom as services,ds.date,ds.num_ds,ds.description,ds.appelant,ds.suivi,ds.cloture,ds.id FROM services,demandeur,ds";

      et le $i pour modifier et supprimer remplacer par $ligne['7'],
      si bien sîr ce que j'ai compris est bon
      0
    5. chris72 > giheller
       
      par contre la ligne que ta mit tu parle pour mon formulaire "ajoutmodif"?
      0
  13. giheller
     
    déjà sépares tes deux fonctions
    une pour ajouter et une pour modifier car en plus ce ne sera pas la même requête SQL
    ajout = insert
    modif = update

    dans les deux cas
    un formulaire pour récperer les données qui renvoit sur un fichier php qui fait l'ajout ou la modif.

    bien sûr que les commentaires sont important.
    0
    1. chris72
       
      ok merci pour t conseils. dis moi pour mon formulaire si je reprend ta requete sql:

      $requeteSQL="SELECT services.s_nom as services,ds.date,ds.num_ds,ds.description,ds.appelant,ds.suivi,ds.cloture,ds.id FROM services,demandeur,ds";

      et que ensuite je met sa
      $resultat=mysql_query($requeteSQL);
      if($resultat){
      while($data=mysql_fetch_array($resultat)){
      $type=$data['service'];
      $date=$data['date'];
      $num_ds=$data['num_ds'];
      $description=$data['description'];
      $appelant=$data['appelant'];
      $montant=$data['suivi'];
      $cloture=$data['cloture'];
      }
      }else{
      echo 'Erreur';
      exit;
      }

      je dois rajouter les champ des tables de la requete sql? :

      $requeteSQL="SELECT services.s_nom as services,ds.date,ds.num_ds,ds.description,ds.appelant,ds.suivi,ds.cloture,ds.id FROM services,demandeur,ds";
      0
  14. giheller
     
    $resultat=mysql_query($requeteSQL);
    if($resultat){
    while($data=mysql_fetch_array($resultat)){

    ici qu'as-tu dans $data ?
    echo "<pre>"; print_r($data); echo "</pre>";

    $type=$data['service'];
    $date=$data['date'];
    $num_ds=$data['num_ds'];
    $description=$data['description'];
    $appelant=$data['appelant'];
    $montant=$data['suivi'];
    $cloture=$data['cloture'];
    }
    }else{
    echo 'Erreur';
    exit;
    }
    0
    1. chris72
       
      c une variable tempo. pour tt te dire ce programme a été commencer par quelqu'un d'autre et comme il a plus le temps j'ai repris a sa place donc je lit pour assimiler les codes. mais comme mon bouton ajouter je ne le voit plus g un bouton modifier a la place et il se passe rien! en gros c le bazar. :(
      0
  15. giheller
     
    Alors le meiux est que tu écrives toi même en fonction de ce que tu veux faire.
    Reprendre les codes de qqun d'autre est plus compliqué car il faut s'impreigner de ce que l'autre a ou aurait voulu faire.
    0
    1. chris72
       
      slt je réécris le code sur un nouveau formulaire php et pour le moment tt va bien merci de ton aide je met des commentaire et je test plus souvent et tout va pour le moment @++
      0