Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/07/2011, 18h51   #1
Nouveau Membre du Club
 
Homme demba sock
etudiant
Inscription : mai 2010
Messages : 97
Détails du profil
Informations personnelles :
Nom : Homme demba sock
Localisation : Sénégal

Informations professionnelles :
Activité : etudiant

Informations forums :
Inscription : mai 2010
Messages : 97
Points : 27
Points : 27
Par défaut php et mysql

bonjour ! je dois faire des recherches via des listes deroulantes , il me renvoie que le premier , quand je selectionne un autre choix rien ne s'affiche et pourtant ca existe dans ma base
requete.php
Code :
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
35
36
37
38
39
40
41
<?php
 
    $connection= mysql_connect ("localhost" , "root" ,"");
	$db="cv";
   mysql_select_db ($db, $connection);
 
   $choix = $_POST['specialite'];
 
$requete = mysql_query("SELECT * FROM personne where specialite='".$choix."'");
 
echo "<table border='1'>";
 
		echo "<tr> 
				<th>NOM</th> 
				<th>PRENOMS</th> 
				<th>EMAIL</th>
				<th>AGE</th>
				<th>MENTION</th>
				<th>nombres d'années experience </th>
				<th>NATIONALITE</th>
				<th>TELEPHONE</th>
			</tr>";
 
 
		while ($row = mysql_fetch_array($requete, MYSQL_ASSOC)) {
 
			echo "<tr>"; 
				echo "<td>".$row['nom']."</td>";
				echo "<td>".$row['prenoms']."</td>";
				echo "<td>".$row['email']."</td>";
				echo "<td>".$row['age']."</td>";
				echo "<td>".$row['mention']."</td>";
				echo "<td>".$row['experience']."</td>";
				echo "<td>".$row['nationalite']."</td>";
				echo "<td>".$row['telephone']."</td>";
 
			echo "</tr>";
		}
	echo "</table>";
 
 ?>
Code :
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
<form name="formulaire" action="requete.php" method="POST" >
            <table width=800 >
 
                    <td>
                        <SELECT name="specialite"> 
                            <OPTION> Selectionnez toutes les personnes en ---  </OPTION>
                            <OPTION value="reseaux" > reseaux </OPTION>
                            <OPTION value="bases de donnees"> bases de données </OPTION>
                            <OPTION value="developpement" > developpement </OPTION>							
                    	</SELECT><br><br><br>
						<SELECT name="experience"> 
                            <OPTION> Selectionnez les personnes ayant ---  </OPTION>
                            <OPTION value="3" > 3 ans d'experience </OPTION>
                            <OPTION value="4"> 4 ans d'experience  </OPTION>
                            <OPTION value="5" > 5 ans d'experience </OPTION>
							<OPTION value="0" > + de 5 ans d'experience </OPTION>
                    	</SELECT><br><br><br>
						<SELECT name="mention"> 
                            <OPTION> Selectionnez les personnes ayant une mention ---  </OPTION>
                            <OPTION value="passable" > passable </OPTION>
                            <OPTION value="assez bien"> assez bien </OPTION>
                            <OPTION value="bien" > bien </OPTION>
							<OPTION value="tres bien" > trés bien</OPTION>
							<OPTION value="excellent" > excellent</OPTION>
                    	</SELECT><br><br><br>
						<input type="submit" name="valider" value="valider"></td></tr>
						</table>						
						</form>
doumbix est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 03/07/2011, 19h21   #2
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Bonjour,
commence par prendre de BONNES HABITUDES :
1-> indentation (tabulation) pour rendre le code plus facile à lire
2-> "sortir" le code html du code php (éviter de les mélanger !)
3-> les balises s'écrivent en minuscules (remplacer <OPTION> par <option>, ...)

Ton 1er script devient alors :
Code :
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
<?php
	$connection= mysql_connect ("localhost" , "root" ,"");
	$db="cv";
	mysql_select_db ($db, $connection);
	$choix = $_POST['specialite'];
	$choix = mysql_real_escape_string($choix); // !!! IMPORTANT !!! PROTECTION avant envoi de requete a la BdD !!
	$requete = mysql_query("SELECT * FROM personne where specialite='".$choix."';");
?>
	<table border="1">
		<tr> 
			<th>NOM</th> 
			<th>PRENOMS</th> 
			<th>EMAIL</th>
			<th>AGE</th>
			<th>MENTION</th>
			<th>nombres d'années experience </th>
			<th>NATIONALITE</th>
			<th>TELEPHONE</th>
		</tr>
<?php	while ($row = mysql_fetch_array($requete)) { ?> 
		<tr>
			<td><?php echo $row['nom']; ?></td>
			<td><?php echo $row['prenoms']; ?></td>
			<td><?php echo $row['email']; ?></td>
			<td><?php echo $row['age']; ?></td>
			<td><?php echo $row['mention']; ?></td>
			<td><?php echo $row['experience']; ?></td>
			<td><?php echo $row['nationalite']; ?></td>
			<td><?php echo $row['telephone']; ?></td>
		</tr>
<?php	} ?>
	</table>
$choix = mysql_real_escape_string($choix);
=> !!! IMPORTANT !!! PROTECTION avant envoi de requete a la BdD !!


et le 2eme :
Code :
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
	<form name="formulaire" method="post" action="./requete.php">
		<p>
			<select name="specialite">
				<option value="">sélectionnez toutes les personnes en ---</option>
				<option value="reseaux" > reseaux </option>
				<option value="bases de donnees"> bases de données </option>
				<option value="developpement" > developpement </option>							
			</select>
		</p>
		<p>
			<select name="experience">
				<option value="">sélectionnez les personnes ayant ---</option>
				<option value="3" > 3 ans d'experience </option>
				<option value="4"> 4 ans d'experience  </option>
				<option value="5" > 5 ans d'experience </option>
				<option value="0" > + de 5 ans d'experience </option>
			</select>
		</p>
		<p>
			<select name="mention">
				<option value="">sélectionnez les personnes ayant une mention ---</option>
				<option value="passable" > passable </option>
				<option value="assez bien"> assez bien </option>
				<option value="bien" > bien </option>
				<option value="tres bien" > trés bien</option>
				<option value="excellent" > excellent</option>
			</select>
		</p>
		<p>
			<input type="submit" name="valider" value="valider">
		</p>
	</form>
C'est quand même plus propre comme ca, non ?
Et PLUS FACILE à DEBOGUER ...
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2011, 20h45   #3
Nouveau Membre du Club
 
Homme demba sock
etudiant
Inscription : mai 2010
Messages : 97
Détails du profil
Informations personnelles :
Nom : Homme demba sock
Localisation : Sénégal

Informations professionnelles :
Activité : etudiant

Informations forums :
Inscription : mai 2010
Messages : 97
Points : 27
Points : 27
Par défaut merci mais ...

je voudrais savoir ou se trouve mon problème , un autre soucis aussi quand je sélectionne "base de données" ou "tres bien" , pour me sortir ces gens qui ont ces critères rien ne s'affiche et pourtant ca existe dans ma base
merci d'avance
doumbix est déconnecté   Envoyer un message privé Réponse avec citation 02
Vieux 04/07/2011, 12h53   #4
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 011
Points : 5 011
Des trois listes déroulantes que tu affiches, tu n'utilise que les données en provenance de la première.

Construit une requête de sélection qui prends en compte tous les résultats de ton formulaire, ça ne va pas se faire automatiquement.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 10h05   #5
Candidat au titre de Membre du Club
 
Femme
Étudiant
Inscription : juillet 2011
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Femme

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2011
Messages : 9
Points : 11
Points : 11
Bonjour!
J'ai un petit problème ou j'espère que vous pouvez m'aider. Merci d'avance!
Voici ma requête:

Code :
1
2
3
4
5
SELECT PERSON_ID, SUM( TASK_ID )
FROM task
WHERE PERSON_ID = '1'
AND TASK_ID =1
GROUP BY PERSON_ID
Mais mon problème je dois mentionner les taches entre deux dates précise!
Comment insérer sa dans ce code?
et comment l'écrire avec programmation orienté objet?
j'espère que vous pouvez m'aider!
Merci.
nina241 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 10h16   #6
Membre éclairé
 
Homme Jérémy
Étudiant
Inscription : octobre 2009
Messages : 236
Détails du profil
Informations personnelles :
Nom : Homme Jérémy
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : octobre 2009
Messages : 236
Points : 322
Points : 322
@nina241
1/ Ouvre un nouveau topic
2/ Utilise la balise [code]
3/
Code :
1
2
3
4
5
6
$sql ="SELECT PERSON_ID, SUM( TASK_ID )
FROM task
WHERE PERSON_ID = '1'
AND TASK_ID =1
AND DATE_TASK BETWEEN ".$date_debut." AND ".$date_fin."
GROUP BY PERSON_ID";
gwharl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 10h34   #7
Candidat au titre de Membre du Club
 
Femme
Étudiant
Inscription : juillet 2011
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Femme

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2011
Messages : 9
Points : 11
Points : 11
Merci pur votre réponse!

Mais pour ma table 'TASK' j'ai que les deux champs ' TASK_BEGIN_TS' et 'TASK_END_TS' ! donc je vais écrire quoi à la place de 'DATE_TASK' ?
Merci d'avance.
nina241 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 10h43   #8
Membre éclairé
 
Homme Jérémy
Étudiant
Inscription : octobre 2009
Messages : 236
Détails du profil
Informations personnelles :
Nom : Homme Jérémy
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : octobre 2009
Messages : 236
Points : 322
Points : 322
Code :
1
2
3
4
5
6
7
$sql ="SELECT PERSON_ID, SUM( TASK_ID )
FROM task
WHERE PERSON_ID = '1'
AND TASK_ID =1
AND TASK_BEGIN_TS= ".$date_debut." 
AND TASK_END_TS= ".$date_fin."
GROUP BY PERSON_ID";
gwharl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 10h51   #9
Candidat au titre de Membre du Club
 
Femme
Étudiant
Inscription : juillet 2011
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Femme

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2011
Messages : 9
Points : 11
Points : 11
Merci!

J'ai essayé votre code mais il m'affiche sa :
Citation:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '$sql =&quot;SELECT PERSON_ID, SUM( TASK_ID ) FROM task WHERE PERSON_ID = '1' AND T' at line 1
nina241 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 10h53   #10
Membre éclairé
 
Homme Jérémy
Étudiant
Inscription : octobre 2009
Messages : 236
Détails du profil
Informations personnelles :
Nom : Homme Jérémy
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : octobre 2009
Messages : 236
Points : 322
Points : 322
Ouvre un nouveau topic avec ton problème, ce sera beaucoup plus clair pour tout le monde.
__________________
Pensez à la balise [CODE].
Aucune réponse aux questions par MP.
gwharl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 10h58   #11
Candidat au titre de Membre du Club
 
Femme
Étudiant
Inscription : juillet 2011
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Femme

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2011
Messages : 9
Points : 11
Points : 11
D'accord!
nina241 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 12h07   #12
Candidat au titre de Membre du Club
 
Femme
Étudiant
Inscription : juillet 2011
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Femme

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2011
Messages : 9
Points : 11
Points : 11
Désolé j'ai fais une erreur!

en réalité je dois filtrer une autre table qui est 'table timesheet'; elle a comme champs : TS_ID, WBE_ID, INVOCEITEM_ID, TS_DATE, TS_QTY et PERSON_ID.

je dois calculer le nombre de jours travaillés entre deux dates par un travailleur X.

je sais que je dois faire un SUM mais comment écrire ce code je ne sais pas! j'espère que vous pouvez m'aider!
Merci d'avance!
nina241 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 12h29   #13
Candidat au titre de Membre du Club
 
Femme
Étudiant
Inscription : juillet 2011
Messages : 9
Détails du profil
Informations personnelles :
Sexe : Femme

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2011
Messages : 9
Points : 11
Points : 11
Désolé j'ai fais une erreur!

en réalité je dois filtrer une autre table qui est 'table timesheet'; elle a comme champs : TS_ID, WBE_ID, INVOCEITEM_ID, TS_DATE, TS_QTY et PERSON_ID.

je dois calculer le nombre de jours travaillés entre deux dates par un travailleur X.

je sais que je dois faire un SUM mais comment écrire ce code je ne sais pas! j'espère que vous pouvez m'aider!
Merci d'avance!
nina241 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h17.


 
 
 
 
Partenaires

Hébergement Web