Bonjour à tous, je cherche a recenser tous les employés de mon entreprise, pour cela j'ai créé une base de donnée mysql pour me permettre de visualiser les informations de chaque employé sur une page web, en passant par php.
J'ai un fichier liste.php auquel je voudrai assigner plusieurs taches en fonction de l'url qui lui est associée. Je m'explique si l'url termine par /liste.php, je souhaite qu'il affiche toute la liste, sinon si l'url est le résultat d'une recherche par un formulaire et qu'elle se termine par /liste.php?nom=Dupont&prenom= je souhaite que la liste affiche tous ceux dont le nom est Dupont.
Pour se faire j'ai réalisé ce petit bout de code :
cependant, cela ne marche qu'a moitié, en effet lorsque ?prenom=XXX&nom=YYY , le cela fonctionne, mais lorsqu'ils n'existent pas, j'obtiens:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <div id="struct"> <h1>Liste des employés</h1> <p> <?php $db = mysql_connect('localhost','root'); mysql_select_db('employes',$db); // on crée la requête SQL if ( $_GET['prenom'] != NULL ) { $prenom = $_GET['prenom']; } elseif ( $_GET['nom'] != NULL ) { $nom = $_GET['nom']; } if ( $prenom != NULL ) { if ( $nom != NULL ) { $sql = "SELECT * FROM employes WHERE prenom='$prenom' AND nom='$nom' ORDER by nom ASC"; } else { $sql = "SELECT * FROM employes WHERE prenom='$prenom' ORDER by nom ASC"; } } elseif ( $nom != NULL ) { if ( $prenom != NULL ) { $sql = "SELECT * FROM employes WHERE prenom='$prenom' AND nom='$nom' ORDER by nom ASC"; } else { $sql = "SELECT * FROM employes WHERE nom='$nom' ORDER by nom ASC"; } } else { $sql = "SELECT * FROM employes ORDER by nom ASC"; } $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); while($data = mysql_fetch_assoc($req)) { // on affiche les informations de l'enregistrement en cours echo '<a href=employe.php?id=' .$data['id']. '>' .$data['nom'].' '.$data['prenom'].')</a><br />'; } mysql_close(); ?> </p> </div>
Il semblerait que la détection de l'existence ou non de ?prenom=XXX&nom=YYY ne se fasse pas comme ci dessous:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Notice: Undefined index: prenom in \www\employes\liste.php on line 33 Notice: Undefined index: nom in \www\employes\liste.php on line 34 Notice: Undefined variable: prenom in \www\employes\liste.php on line 36 Notice: Undefined variable: nom in \www\employes\liste.php on line 40
Quelqu'un aurait-il une idée?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if ( $_GET['prenom'] != NULL ) { $prenom = $_GET['prenom']; } elseif ( $_GET['nom'] != NULL ) { $nom = $_GET['nom']; }
Partager