voici 02 tables et deux affichages:

table1: #__3d_categories

id categorie_fr
1 categorie1
2 categorie2
3 categorie3

table2: #__3d_properties

id category nam_site
1 1 site1
2 2 site2
3 3 site3


Affichage:

N° categories nombre_site
1 categorie1 1
2 categorie2 1
3 categorie3 1


On remplace la seconde table par:

table2: #__3d_properties

id category nam_site
1 1,2 site1
2 1,2,3 site2
3 2,3 site3

On a resultat comme suit:


N° categories nombre_site
1 categorie1 2
2 categorie2 3
3 categorie3 2


Aide moi pour obtenir ce resultat, il suffit de changer la requête sql mais je sais pas. aide moi

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
<?php
function listcategorie( $option ) {
    global $database, $mainframe;
    //echo "sdfsdkfjhqsklf";
    $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', 100 );
    $limitstart = $mainframe->getUserStateFromRequest( "viewcli{$option}limitstart", 'limitstart', 0 );
 
    # get the total number of records
    $database->setQuery( "SELECT count(*) FROM #__3d_categories" );
    $total = $database->loadResult();
    echo $database->getErrorMsg();
 
    require_once("includes/pageNavigation.php");
    $pageNav = new mosPageNav( $total, $limitstart, $limit );
 
 
    $sql = "SELECT c.*, count(DISTINCT p.id) as sites, sum(p.hits) as hits"
        . "\nFROM #__3d_categories AS c"
        . "\nLEFT JOIN #__3d_properties AS p ON c.id=p.category"
        . "\nGROUP BY c.id"
        . "\nORDER BY c.categorie_fr ASC"
        . "\nLIMIT $pageNav->limitstart,$pageNav->limit";
 
    $database->setQuery($sql);
 
    if(!$result = $database->query()) {
        echo $database->stderr();
        return false;
    }
    $rows = $database->loadObjectList();
 
    HTML_annu::listcategorie( $rows, $pageNav, $option );
}  
?>