Page 1 sur 1

Problème fonction recherche

Posté : 06 juin 2011, 19:43
par Civraisien86
Bonjour à tous.

Depuis 1 semaine, je dois créer un projet informatique(site internet sur la gestion des soutenance de stage en fin d'année) obligatoire avec mes études (DUT STID).
J'ai tout fait moi-même, créer ma base de données, mon css ..etc
Il me reste une dernière chose que mon professeur souhaite, mais je n'y arrive pas..
Je vous explique vite fais ..
J'ai une page ajoutsoutenance.php où il faut recenser les informations concernant une soutenance :

- Nom de l'enseignant ((liste deroulante) et déja renseigné auparavant dans une autre page et enregistré dans ma base de donné sous localhost/esayPhp))
- Nom du Tuteur ((liste deroulante) et déja renseigné auparavant dans une autre page et enregistré dans ma base de donné sous localhost/esayPhp))
- Nom d'un candide ((liste deroulante) et déja renseigné auparavant dans une autre page et enregistré dans ma base de donné sous localhost/esayPhp))
- Date de la soutenance
- Titre du stage
- Horraire du début
- Horraire de fin
- Lieu de la salle

Ma prof' me demande maintenant sur une autre page recherchesoutenance.php de pouvoir consulter l'horraire du début et de fin d'une soutenance selon la date de la soutenance que je vais choisir dans la liste déroulante.

Héhé, le problème, comment puis-je faire ça ? Une fonction recherche ?

Ce que j'ai fais pour le moment, j'ai tout simplement créer la page recherchesoutenance.php en mettant sous formulaire dans un tableau :

date de soutenance : "ma liste déroulante des dates que j'ai renseigné auparavant (avec un ordre sql basique enregistré dans ma base de données)" suivi d'un bouton consulter qui renvoie sur la page horrairesoutenance.php

Et j'ai crée sur une autre page horrairesoutenance.php un tableau avec :
- Horraire de debut :
- Horraire de fin :

avec un ordre sql trié par date et horraire du début. ( via les informations que j'ai donné a la page ajoutsoutenance.php )

Sauf qu'avec ça, je renseigne rien du tout, vous vous en doutez. Cela m'affiche dans ce tableau toutes les horraires à n'importe quelle date.
Or moi, je veux choisir une date précise dans recherchesoutenance.php dans ma liste déroulante, et afficher dans horrairesoutenance.php uniquement les horraires comprises à cette date ( via les informations que j'ai donné a la page ajoutsoutenance.php )

Si vous avez l'amabilité de comprendre ce que je souhaite, de tout lire, et de m'aider, je vous en serai reconnaissant.
Bonne soirée.

Re: Problème fonction recherche

Posté : 06 juin 2011, 20:07
par ouckileou
Si j'ai bien compris, voici les etapes:

1. Creer une requete SQL (statique, sans passer par PHP, en testant directement sur MyQL via phpMyAdmin par exemple) qui selectionne heure de de but et de fin des soutenances pour une date precise (date en dur dans la requete)
2. Integrer cette requete dans la page recherchesoutenance.php pour afficher tous les resultats: la date est une variabl PHP codee en dur
3. Integrer la liste deroulante des dates dans un formulaire sur cette page, formulaire qui renvoie vers la meme page et recuperer la variable du formulaire dabs la requete (via $_POST)

Quelques articles utiles:
http://phpdebutant.org/article56.php

Mais en gros si tu as fait deja un formulaire qui permet de saisir les donnees et de les inserer dans la base, tu as deja tout ce qu'il te faut, il ne te reste qu'a reutiliser les techniques :)


Questions:
-est-il necessaire d'avoir deux pages distinctes " recherchesoutenance.php" et "horairessoutenance.php" ? La premier page " recherchesoutenance.php" pourrait faire office a la fois de ormulaire de recherche et de page de resultats. A toi de voir.

Re: Problème fonction recherche

Posté : 06 juin 2011, 20:25
par Civraisien86
Je te remercie de la vitesse de réponse.
Très gentil de ta part, c'est un bon avantage d'un forum :D

Alors, je vois pas du tout comment faire la requête SQL que tu veux ..
J'ai lu l'article, mais je comprends pas ( peut-être que mon cerveau est eteind depuis 11h de pratique depuis ce matin ^^ ).
Bref, je te remercie quand même, je vais voir tant pis, ou sinon, je demanderai à mon professeur ..

Re: Problème fonction recherche

Posté : 06 juin 2011, 21:38
par ouckileou
Ce que tu veux c'est :
SELECTionner l'heure de debut, l'heure de fin
DEPUIS la table soutenances
QUAND la date est egale a une date precise

Tu dois donc renseigner SELECT, FROm et WHERE de ta requete. Regarde des exemples de requetes de selection : http://phpdebutant.org/article63.php

Essaie un peu et ne te decourage pas ce n'est pas tres dur et une fois que tu en as faites une tu sauras toutes les faire ! Si tu as reussi a faire une requete INSERT, tu peux faire le SELECT les doigts dans le nez :)

Re: Problème fonction recherche

Posté : 07 juin 2011, 09:16
par Civraisien86
Alors, dans la page recherchesoutenance.php, j'ai ce programme :
<h3>Consultez les horraires possibles des soutenances selon leur date </h3>
<form enctype="multipart/form-data" method="post" action="./horrairesout.php"> 
	<table><tr><td>Date de la soutenance :</td><td>
<select name ="datechoisie"> 
	
<?php 
include ("connexion.php"); 
$ordresql="SELECT * From Soutenance order by date"; 
$requete=mysql_query($ordresql,$connexion);

while ($ligne=mysql_fetch_assoc($requete))
{
	echo "<option value=\"".$ligne["id_soutenance"]."\">".$ligne["date"]."</option>"; 
}
$deconnexion=mysql_close($connexion);
?>	
et le programme dans la page horairesoutenance.php, j'ai ce programme :
<center>
Vous pouvez modifier ou supprimer l'ensemble des données ci dessous :<br/>
	<table>
	<tr><th>Horraire du début</th><th>Horraire de fin</th></tr>
 
<?php
include ("connexion.php"); 
global $connexion;
$datechoisie=$_POST["datechoisie"];
$ordresql="SELECT horraire_debut,horraire_fin FROM soutenance WHERE date='".$datechoisie."' ORDER BY horraire_debut"; 
$requete=mysql_query($ordresql,$connexion);

while ($ligne=mysql_fetch_assoc($requete))
{	//echo $ligne["id_soutenance"];
	echo "<tr><td>".$ligne["horraire_debut"]."</td><br/><td>".$ligne["horraire_fin"]."</td></tr>";
}

$deconnexion=mysql_close($connexion);
?>
</center>
Mais rien ne s'affiche, pourrais-tu m'aider.
merci.

Re: Problème fonction recherche

Posté : 07 juin 2011, 16:01
par ouckileou
Voici un article pour t'aider a debugguer quand tu executes du SQL via PHP. Tu as les conseils de base que tu pourras reutiliser a chaque fois. Prend point par point et ca devrait t'aider a comprendre ce qui ne va pas: sql-bases-donnees/php-sql-etapes-suivre ... 19378.html

Pour info le mot "horaire" ne contient que deux R, pas trois.