Requête base SQL

Fermé
david - 2 juin 2008 à 21:13
 david - 3 juin 2008 à 18:17
Bonjour à tous,

Après de longues recherches, je vous demande de l'aide.
voici un code qui permet de sélectionner une date dans une base SQL "resa" :

<html>
<head>
<title>Requête : Etat des réservations</title>
</head>
<BODY bgcolor="#A7AAB1">
<P align="left">
&nbsp;</P>

<form method="POST" action="consult.php">
    <center>

<?php
mysql_connect("localhost", "login", "pass");
mysql_select_db("resa");
?>
<p align="center">
Choisir une date de sortie dans le menu déroulant
</p>


<?php
$req="select date_sortie from resa";

$res=mysql_query($req) or die("erreur dans la requête $req");
while ($tab=mysql_fetch_object($res))
$date_sortie[]=$tab->date_sortie;

echo "<center><select name='liste_date_sortie[]' multiple size=3>";

for ($i=0;$i<count($date_sortie);$i++)
echo "<option value='$date_sortie[$i]'>$date_sortie[$i]</option>";

echo "</select></center>";
?>
<p align="center">
<input type="submit" value="valider la requète" name="envoyer">
</p>

<?php
mysql_close(); // Déconnexion de MySQL
?>


-------------------------------------

Mon but est d'obtenir avec le fichier "consult.php" une requête regroupant tout les enregistrements de la base "resa"
ayant en commun la valeur sélectionnée sur la page précédente.

J'espère être assez clair.

Merci d'avance pour votre aide.

5 réponses

Je veux être sûre de comprendre. Tu veux que l'utilisateur sélectionne une date provenant de la base de données et ensuite tu veux retourner toutes les entrées ayant la même date. C'est bien ça?
0
Ok, désolé, j'étais au travail donc pas trop la possibilité de regarder ton problème vraiment.

En fait, moi, ce que je ferais, j'utiliserais deux requêtes.
La première servirait à retourner toutes les dates DIFFÉRENTES qui existent dans ta base et les insérer dans ton menu déroulant (fonction DISTINCT).
La deuxième prendrait la/les date(s) choisie(s) dans le menu (avec un WHERE) et sortirait toutes les lignes qui ont cette/ces date(s).

Requête 1 ressemblerait à:

$query = "SELECT DISTINCT date_sortie FROM resa";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result))
{
$return=$return.'<option value="'.$row['date_sortie'].'">'.$row['date_sortie'].'</option>';
}

$return contiendra toutes tes balises OPTION donc plus qu'à le placer à la bonne place dans ton code HTML.

Pour la deuxième, il faut récupérer la ou les valeurs qui ont été choisies et faire un bête SELECT * FROM resa WHERE date_sortie = CHOIX 1 OR date_sortie = CHOIX 2....

Un truc comme ça ^^
0
Ah, et pour la deuxième, il te faut aussi un while pour gérer le cas ou tu aurais plusieurs lignes avec les dates sélectionnées du menu!
0
Merci
je vais creuser dans cette direction.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
voici ma page consult.php

<?php 

     
// Récupération du champ 

		if(isset($_POST['date_sortie']))      $nom=$_POST['date_sortie'];
		else      $date="";



//Conexion à la base SQL resa

		$link = mysql_connect('localhost', '****', '*****') OR die('Erreur de connexion à la base'); 
		mysql_select_db('resa', $link) OR die('Erreur de sélection de la base'); 

    
//Affichage de données correspondant à la sélection faite sur la page précédente

		$sql = "SELECT `nom_plongeur`, `niveau_plongeur`, `materiel` FROM `resa` WHERE `date_sortie` = '$date';";
		$result = mysql_query($sql, $link);


//Fermeture de la connexion

 mysql_close();


?>


Et là rien à l'écran !!
Si tu peux m'expliquer, merci d'avance.
0