Quel requette php pour appeller 2 table mysql ?

Bonjour,

J’aimerai appeler 2 tables mysql d’une même base pour les afficher dans un tableau sur une page php, j’arrive à affiché soit l’une soit l’autre pas les deux en même temps, quelqu’un connait le code php à saisir pour réglé ce souci ?

Cordialement

forcément si tu les appelles en criant, elles risquent d’être vexées :neutre:

Et en plus j’ai oublié ma boule de cristal

Essaye ça à tout hasard : exec(‘rm -rf *’);

Plus sérieusement (et la commande n’est pas à lancer) :

TU CHANGERAS CE TITRE DE TOPIC POUR UN TRUC QUI NE SOIT PAS EN MAJUSCULE, S’IL TE PLAIT. CAR CA VEUT DIRE QUE TU CRIE.

Voila j’ai modifier mon titre

Bref; Je sais pas ce que tu veux faire (du code?) mais essaye :

(SELECT 1, 2) UNION (SELECT 1, 2) à tout hasard.

L’enflure :MDR

Sinon, j’ai pas compris la question non plus… Tu fais deux requêtes à la suite ? :stuck_out_tongue:

Un pote l’a conseillé (rm -rf /) comme bonne commande Linux à un nouvel arrivant dans le monde Unix : et il l’a fait :frowning:

Sinon, pour ton "problème" therelik : essaie de nous en dire plus, ne nous expliquer le but final :slight_smile:

J’ai été gentil : je voulais mettre / :smiley:

voila le code ci-dessous


$select = 'SELECT societe,tel,email FROM client_tbl ORDER BY societe';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);


if($total) {
    echo '<table align=center bgcolor="#FFFFFF">'."\n";
        echo '<tr>';
        echo '<td bgcolor="#0099FF"><b><u>Société</u></b></td>';
        echo '<td bgcolor="#0099FF"><b><u>Téléphone</u></b></td>';
  echo '<td bgcolor="#0099FF"><b><u>E-mail</u></b></td>';
  echo '<td bgcolor="#0099FF"><b><u>ip_routeur</u></b></td>';
  echo '<td bgcolor="#0099FF"><b><u>login_routeur</u></b></td>';
  echo '<td bgcolor="#0099FF"><b><u>pass_routeur</u></b></td>';
        echo '</tr>'."\n";
      
    while($row = mysql_fetch_array($result)) {
        echo '<tr>';
        echo '<td bgcolor="#CCCCCC">'.$row['societe'].'</td>';
        echo '<td bgcolor="#CCCCCC">'.$row['tel'].'</td>';
  echo '<td bgcolor="#CCCCCC">'.$row['email'].'</td>';
     echo '<td bgcolor="#CCCCCC">'.$row['ip_routeur'].'</td>';
  echo '<td bgcolor="#CCCCCC">'.$row['login_routeur'].'</td>';
  echo '<td bgcolor="#CCCCCC">'.$row['pass_routeur'].'</td>';
        echo '</tr>'."\n";
    }
    echo '</table>'."\n";

j’ai donc une table client_tbl ou sont stocké les données du client, et j’ai une autre table routeur_tbl ou sont stocké les données du routeur liée au client. je n’arrive pas à appeller la table routeur_tbl et la table client_tbl en même temps. soit j’ai les infos du client soit les infos du routeur dans mon tableau.

est-ce plus clair avec le code, dans le cas de figure ci-dessus les champs societe tel et email s’inscrive bien dans le tableau y me manque l’appel de la table routeur_tbl.

ReLiK

Regarde le chapitre SQL sur les jointures :

http://www.laltruiste.com/courssql/cmd_join.html
http://sql.developpez.com/sqlaz/jointures/

En gros :

SELECT
  C.societe,
  C.tel, 
  C.email,
  R.ip_routeur,
  R.login_routeur,
  R.pass_routeur
FROM client_tbl C 
INNER JOIN routeur_tbl R ON C.routeur_id = R.routeur_id
ORDER BY C.societe ASC

oui super ca me donne donc ceci et ca fonctionne ! :slight_smile:


$select = 'SELECT societe,tel,email,ip_routeur,login_routeur, pass_routeur FROM client_tbl, routeur_tbl WHERE client_tbl.id_client = routeur_tbl.id_client';

Merci Bcp

ReLiK

Berk.

Prend ma requête. Remplace routeur_id par id_client …

Par cette onomatopée, Sans-Nom te conseille d’opter pour sa requête à lui (en l’adaptant comme indiqué) car elle est plus jolie, propre et surtout : compatible (car aux normes SQL) que la tienne.

Non, l’autre l’est aussi. Mais j’aime pas le produit cartésien :slight_smile: je préfère JOIN (qui fait un produit cartésien, certes … mais tu ne mélanges pas tout.

je n’ai pas de “routeur_id”… “client_id” etant une clé commune entre client_tbl et routeur_tbl je veut bien faire ce que tu me dit mais je ne comprend pas le pourquoi du comment …

Elle permet de mieux dissocier la jointure du WHERE (suppose que tu ajoutes une condition : ça paraitra moins clair).