et quand tu utilise la requete avec phpmyadmin ou une console mysql tu a quoi comme résultat ?
a tu essayé de le faire en deux fois ?
$reqS = $connexion->query($requete);
$datas = $reqS->fetchAll();
echo count($datas);
perso je viens de tester ta requete, elle retourne 50 tuples pour 5 langues et 10 types.
<!doctype HTML>
<html>
<head>
<title>Test Rimie</title>
<style type="text/css">
thead {
background-color: silver;
}
tfoot {
background-color: yellow;
border: none;
}
tfoot tr, tfoot tr td {
border: none;
}
table {
border: thin solid green;
margin: 0;
padding: 0;
}
table, tr, td, th, thead, tfoot {
margin: 0 !important;
}
table, tr, th, thead, tfoot {
padding: 0 !important;
}
td {
text-align: center;
border: thin solid green;
}
</style>
</head>
<body>
<?php
try {
$PDOConnect = new PDO ( 'mysql:host=localhost;dbname=test', 'test', 'test' );
$req = $PDOConnect->query ( 'SELECT langue, type, count(*) AS nombre FROM chansons GROUP BY langue, type' );
$datas = $req->fetchAll ( PDO::FETCH_OBJ );
echo 'il y a ' . count ( $datas ) . ' tuples en retour';
echo <<<tbl
<table>
<thead>
<tr>
<th>Langue</th>
<th>Type</th>
<th>Nb chose</th>
</tr>
</thead>
<tfoot>
<tr>
<td colspan="3"> </td>
</tr>
</tfoot>
<tbody>
tbl;
foreach ( $datas as $d ) {
echo <<<ligne
<tr>
<td>{$d->langue}</td>
<td>{$d->type}</td>
<td>{$d->nombre}</td>
</tr>
ligne;
}
} catch ( Exception $e ) {
echo 'Erreur : ' . $e->getMessage () . '';
echo 'N° : ' . $e->getCode ();
echo '<pre>', var_dump ( $PDOConnect->errorInfo () ), '</pre><hr />';
var_dump ( $a );
}
?>
</tbody>
</table>
</body>
</html>
avec les tables
create table chanteurs (
id_chanteur int not null auto_increment primary key,
nom varchar(50) not null
)engine = innodb;
create table albums (
id_album int not null auto_increment primary key,
id_chanteur int not null,
nom_album varchar(50) not null,
constraint fk_chanteur foreign key (id_chanteur) references chanteurs(id_chanteur)
)engine=innodb;
create table chansons (
id_chanson int not null auto_increment primary key,
id_album int not null ,
nom_chanson varchar(50) not null,
langue varchar(2) not null default 'fr',
type int not null default 1,
constraint fk_album foreign key (id_album) references albums(id_album)
)engine=innodb;
Pour les données j'ai utiliser un générateur pour avoir pas mal de tuples
- 10 chanteurs
- 100 albums
- 1500 chansons (moyen 15 par albums, mais va de 7 à 23)
faudrait que tu nous montre un poil de code, que l'on puisse avoir une idée plus globale de ce que tu fait, et pourquoi les tables et données que tu utilise pour avoir la même chose que toi
@+
Il en faut peu pour être heureux ......