Comment lier 2 tables ?
horeca
-
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()
?>
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()
?>
Configuration: Windows XP Internet Explorer 7.0
2 réponses
-
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 ?
-
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