Salut,
euh... pas sûr d'avoir bien compris mais au cas où :
<?php
require_once('connexion.php');
mysql_query('SET NAMES UTF8');
// Récupération des thèmes
$sql = 'SELECT DISTINCT theme FROM jeux ORDER BY theme';
$result = mysql_query($sql) or die(mysql_error());
$themes[-1] = 'Sélectionner un thème';
$nb_themes = mysql_num_rows($result);
while($row = mysql_fetch_assoc($result)) {
$themes[] = $row['theme'];
}
// Récupération des plateformes
$sql = 'SELECT DISTINCT plateforme FROM jeux ORDER BY plateforme';
$result = mysql_query($sql) or die(mysql_error());
$plateformes[-1] = 'Sélectionner une plateforme';
$nb_plateformes = mysql_num_rows($result);
while($row = mysql_fetch_assoc($result)) {
$plateformes[] = $row['plateforme'];
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Test</title>
</head>
<body>
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$select_theme = false;
$select_plateforme = false;
$theme = isset($_POST['theme']) ? intval($_POST['theme']) : -1;
if($theme >= 0 && $theme <= $nb_themes) $select_theme = true;
$plateforme = isset($_POST['plateforme']) ? intval($_POST['plateforme']) : -1;
if($plateforme >= 0 && $plateforme <= $nb_plateformes) $select_plateforme = true;
if(!($select_theme) && !($select_plateforme)) { // aucune sélection
$sql = 'SELECT nom_jeu, theme, plateforme FROM jeux ORDER BY nom_jeu';
} elseif (($select_theme) && !($select_plateforme)) { // theme sélectionné - plateforme non sélectionnée
$sql = "SELECT nom_jeu, theme, plateforme FROM jeux WHERE theme = '$themes[$theme]' ORDER BY nom_jeu";
} elseif (!($select_theme) && ($select_plateforme)) { // theme non sélectionné - plateforme sélectionnée
$sql = "SELECT nom_jeu, theme, plateforme FROM jeux WHERE plateforme = '$plateformes[$plateforme]' ORDER BY nom_jeu";
} else { // theme sélectionné - plateforme sélectionnée
$sql = "SELECT nom_jeu, theme, plateforme FROM jeux WHERE theme = '$themes[$theme]' AND plateforme = '$plateformes[$plateforme]' ORDER BY nom_jeu";
}
echo "<h1>Jeux</h1>\n";
$result = mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($result)==0) {
echo "<p>Aucun résultat</p>\n";
} else {
echo "<ul>\n";
while($row = mysql_fetch_assoc($result)) {
echo '<li>'.$row['nom_jeu'].' ('.$row['theme'].') sur '.$row['plateforme'].".</li>\n";
}
echo "</ul>\n";
}
}
?>
<form method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>">
<p>
<?php if($nb_themes > 0) : ?>
<select name="theme">
<?php
for($i = -1; $i < $nb_themes; $i++) {
echo "\t\t<option value=\"$i\">$themes[$i]</option>\n";
}
?>
</select>
<?php endif; ?><?php if($nb_themes > 0) : ?>
<select name="plateforme">
<?php
for($i = -1; $i < $nb_plateformes; $i++) {
echo "\t\t<option value=\"$i\">$plateformes[$i]</option>\n";
}
?>
</select>
<?php endif; ?>
<input type="submit" value="Soumettre" />
</p>
</form>
</body>
</html>