Comment lier 2 tables ?

horeca -  
 horeca -
bonjour, j'ai ce probleme:

j'ai une table client, une table annonces
je veux trier dans la table annonces les clients qui sont des agences immobilieres, ça c'est bon.
dans le code: function AfficheAgences()

mais je veux en plus afficher le nombre d'annonces par client (les agences)
dans le code: function getNombreAnnoncesAgences()
affiche la totalite des annonces des agences et pas par agence...
quelqu'un peut maider ? lier les deux tables, comment ?

le code:

<?php
function getNombreAnnoncesAgences()
{
$requet = "select count(*) FROM annonces where validee=1 and (annonces.date_fin IS NULL Or annonces.date_fin>=now()) and contact_prop=1 ";

$result = mysql_query($requet);
$ligne = mysql_fetch_array($result);
$nb=$ligne[0];
return $nb;
}
?>
<?php
function AfficheAgences()
{
$requet = "SELECT `idclient`,`agence_nom`, `adresse`,`codepostal`,`ville`, `nbr_annonces` FROM `clients` WHERE mode_client= 1 ";

$result = mysql_query($requet);
while($ligne = mysql_fetch_object($result))
{

$out .= '<font color="#000000">';
$out .= 'Agence n° '.$ligne->idclient. '</font><br>';

$out .= '';
$out .= ' <img src="imagesinc/point.gif" /> <a href="liste_annonces_agences.php?agence='.$ligne->idclient.'"><font color="#ff0000">'.$ligne->agence_nom. '</font> </a><br>';
$out .= ''.$ligne->adresse.' '.$ligne->codepostal.' '.$ligne->ville.'<br>';
$out .= 'nombre annonces: '.getNombreAnnoncesAgences().'';
$out .= '<br>------------------------------------------------<br>';

}
echo $out;

}
?>
<?php
AfficheAgences()
?>
A voir également:

2 réponses

stylinkoncept Messages postés 76 Statut Membre 26
 
Je ne suis pas un pro php/sql mais euuu, pourquoi lier deux table, pourquoi ne pas créer une table qui va rechercher les informations dans la BDD ?
0
p.a
 
Bonjour,

Je crois comprendre ce que tu veux faire.
Tu dois donc lier les tables clients et annonces.
Dans ta table annonce, je suppose que pour chaque annonce, il y a un identifiant client.
Pour lier les 2 tables, on peut utiliser un where.
Je pense que tu devrais essayer ceci :
SELECT COUNT(*) FROM clients C annonces A where C.idclient=A.idclient group by idclient

La syntaxe n'est peut-être pas parfaite pour ton cas mais j'espère que ça te mettra sur la bonne piste.

p.a
0
horeca
 
bonjour,

c'est ça, j'avais dejà essaé avec WHERE mais je n'y arrive pas, je l'ai tourné de toutes les manieres et j'ai toujours un message d'erreur...
merci de l'aide
horeca
0