Modification tableau apres recherche

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Modification tableau apres recherche

Re: Modification tableau apres recherche

par Pierre_06 » 05 déc. 2012, 21:54

J'étais justement parti sur cette "solution" en regardant d'autres post sur le net.

Maintenant tout fonctionne comme je le souhaite, un grand merci pour avoir consacré du temps à me répondre.


MERCI

Re: Modification tableau apres recherche

par xTG » 05 déc. 2012, 21:12

Ta condition est donc : Un formulaire a-t-il été posté ?
Le code correspondant :
if( !empty($_POST) ){
  // un formulaire a été posté via la méthode POST
}else{
  // aucun formulaire n'a été posté
}

Re: Modification tableau apres recherche

par Pierre_06 » 05 déc. 2012, 20:03

Je dois tester ce que renvois le formulaire, l'utilisateur peut renseigner seulement le nom, l'unité et la fonction...
Ayant 5 paramètres, je teste toutes les combinaisons possibles à savoir 2^5.

Mais la première fois que j'arrive sur ma page, aucune recherche n'a été lançée, donc nom, unité,fct sont "inconnues", mais je souhaite afficher un tableau contenant tout le personnel.

Re: Modification tableau apres recherche

par xTG » 05 déc. 2012, 19:58

Avant d'utiliser une variable il faut tester son existence :
if( isSet($_POST['nom']) && $_POST['nom'] == 'test' )


Je suis d'accord mais la première fois, je ne n'execute aucune requete ayant besoin du nom... vu que je n'ai pas rempli le formulaire de recherche.
Pourquoi mettre ta requête dans une telle condition dans ce cas ? :roll:
Ce n'est donc pas un problème de code mais de réflexion.
Réfléchis à ce que tu veux et énonces en français les conditions que tu veux pour chaque traitement.
Après il est bien plus simple de transcrire cela en code avec des conditions PHP.
Et surtout ça évite de mettre d'inventer des conditions...

Re: Modification tableau apres recherche

par Pierre_06 » 05 déc. 2012, 19:55

Personne?

Re: Modification tableau apres recherche

par Pierre_06 » 04 déc. 2012, 21:56

Formulaire assez banal, l'utilisateur devra faire son choix de recherche avec des listes déroulantes.

<form action="index.php" method="post" enctype="application/x-www-form-urlencoded" name="formulaire"  >
<table>

<tr>
<td width="30%">Nom : </td>
<td width="70%">
<SELECT name="nom" size="1">
<OPTION value="defaut" id="defaut">Saisir lettre</option>
<OPTION value="A">A</option>
<OPTION value="B">B</option>
<OPTION value="C">C</option>
<OPTION value="D">D</option>
<OPTION value="E">E</option>
<OPTION value="F">F</option>
<OPTION value="G">G</option>
<OPTION value="H">H</option>
<OPTION value="I">I</option>
<OPTION value="J">J</option>
<OPTION value="K">K</option>
<OPTION value="L">L</option>
<OPTION value="M">M</option>
<OPTION value="N">N</option>
<OPTION value="O">O</option>
<OPTION value="P">P</option>
<OPTION value="Q">Q</option>
<OPTION value="R">R</option>
<OPTION value="S">S</option>
<OPTION value="T">T</option>
<OPTION value="U">U</option>
<OPTION value="V">V</option>
<OPTION value="W">W</option>
<OPTION value="X">X</option>
<OPTION value="Y">Y</option>
<OPTION value="Z">Z</option>
</tr>


<tr>

<td width="30%">Unité : </td>
<td width="40%">
<SELECT name="uni" size="1" >
<OPTION value="defaut" id="defaut">Saisir l'unité</option>
<OPTION value="U-UCA">UNITE DE CHIRURGIE AMBULATOIRE</option>
<OPTION value="U-URC">UNITE DE RECHERCHE CLINIQUE</option>
<OPTION value="U-USC">UNITE DE SURVEILLANCE CONTINUE</option>
<OPTION value="U-UEB">UNITE D'EPIDEMIOLOGIE ET BIOSTATISTIQUE</option>
<OPTION value="U-UHC-ORL-CHU">UNITE D'HOSPITALISATION COMPLETE ORL - CHIR MAXILLO-FACIALE</option>
<OPTION value="U-UH-CHIR-CAL">UNITE D'HOSPITALISATION DE CHIRURGIE CERVICO-FACIALE CANCEROLOGIE</option>
</SELECT></td>
</tr>


<tr>
<td width="30%">Fonction : </td><td width="70%"><SELECT name="fct" size="1">
<OPTION value="defaut" id="defaut">Saisir la fonction</option>
<OPTION value="F-ADJ-DRH">ADJOINT(E) DRH</option>
<OPTION value="F-DIR-APREMAS">DERMOGRAPHE</option>
<OPTION value="F-DR-CHIR">DIRECTEUR INFORMATIQUE</option>
<OPTION value="F-PSYCHIATRE">PSYCHIATRE</option>
<OPTION value="F-RESP-NETTOYAGE">RESPONSABLE NETTOYAGE LOCAUX</option>
<OPTION value="F-RESP-RISQ-PRO">RESPONSABLE RISQUES PROFESSIONNELS</option>
<OPTION value="F-SUPP-CORR-MATERIOVIGILANCE">SUPPLEANT CORRESPONDANT ANESTHESIOVIGILANCE</option>
<OPTION value="F-VAGUEMESTRE">VAGUEMESTRE</option>
</SELECT></td>
</tr>



<tr>
<td width="30%">Batiment : </td><td width="70%"><SELECT name="bat" size="1">
<OPTION value="defaut" id="defaut">Saisir le batiment</option>
<OPTION value="BAT-A">BATIMENT-A</option>
<OPTION value="BAT-B">BATIMENT-B</option>
<OPTION value="BAT-C">BATIMENT-C</option>
<OPTION value="BAT-IUFC">BATIMENT-IUFC</option>
</SELECT></td>
</tr>

<tr>
<td width="30%">Pôle : </td><td width="70%"><SELECT name="pol" size="1">
<OPTION value="defaut" id="defaut">Saisir le pôle</option>
<OPTION value="POLE MEDICAL">POLE MEDICAL</option>
<OPTION value="POLE CHIRURGIE">POLE CHIRURGIE</option>
<OPTION value="POLE IMAGERIE">POLE IMAGERIE</option>
<OPTION value="POLE LABORATOIRES">POLE LABORATOIRES</option>
<OPTION value="POLE PHARMACIE">POLE PHARMACIE</option>
<OPTION value="POLE RADIOTHERAPIE">POLE RADIOTHERAPIE</option>
<OPTION value="DIRECTION DE LA RECHERCHE CLINIQUE">DIRECTION DE LA RECHERCHE CLINIQUE</option>
<OPTION value="DEPARTEMENT D\'INFORMATION MEDICALE">DEPARTEMENT D'INFORMATION MEDICALE</option>
</SELECT></td>
</tr>

</table>

<input class="button" type="submit" name="Submit" value="Recherche">
</form>

Re: Modification tableau apres recherche

par squallblanc » 04 déc. 2012, 21:54

Tu peu afficher le code html du formulaire pour la 1ere recherche.

Re: Modification tableau apres recherche

par Pierre_06 » 04 déc. 2012, 21:44

Avant d'utiliser une variable il faut tester son existence :
if( isSet($_POST['nom']) && $_POST['nom'] == 'test' )


Je suis d'accord mais la première fois, je ne n'execute aucune requete ayant besoin du nom... vu que je n'ai pas rempli le formulaire de recherche.

Re: Modification tableau apres recherche

par squallblanc » 04 déc. 2012, 21:39

exact j'ai pas percuté sur le test avec isset

Re: Modification tableau apres recherche

par xTG » 04 déc. 2012, 21:37

Avant d'utiliser une variable il faut tester son existence :
if( isSet($_POST['nom']) && $_POST['nom'] == 'test' )

Re: Modification tableau apres recherche

par squallblanc » 04 déc. 2012, 21:35

essai en faisant :
if (isset($_POST['nom']=="defaut" && $_POST['uni']=="defaut" && $_POST['bat']=="defaut" && $_POST['fct']=="defaut" && $_POST['pol']=="defaut"))

Re: Modification tableau apres recherche

par Pierre_06 » 04 déc. 2012, 21:30

voilà la ligne 146 :
if ($_POST['nom']=="defaut" && $_POST['uni']=="defaut" && $_POST['bat']=="defaut" && $_POST['fct']=="defaut" && $_POST['pol']=="defaut") 
Mais c'est pas vraiment qu'elle ne va pas, c'est ( je pense ) parce qu'aucune recherche n'a été lancée la premiere fois donc les variables sont "inconnues".

Par contre dès que j'appuie sur rechercher, qui lance une recherche "par défaut" ( car on ne modifie pas le nom, ni l'unité...) , elle va afficher toute la table, et là il n'y a plus aucune erreur.

Re: Modification tableau apres recherche

par squallblanc » 04 déc. 2012, 21:22

utilise la balise PHP pour que ton code soit coloré.

Sinon j'ai oublier tu peu me donner la ligne 146 qui va pas?

Re: Modification tableau apres recherche

par Pierre_06 » 04 déc. 2012, 21:13

if ($_POST['nom']=="defaut" && $_POST['uni']=="defaut" && $_POST['bat']=="defaut" && $_POST['fct']=="defaut" && $_POST['pol']=="defaut") {

// on se connecte à MySQL
$db = mysql_connect('localhost', 'root', '');

// on sélectionne la base
mysql_select_db('annuaire',$db);



// on crée la requête SQL
$sql = 'SELECT identifiant,nom,prenom,civilité,fonction,unite,unite2,batiment,batiment2,pole,pole2 FROM personnel ORDER BY nom' ;

}


else if ($_POST['nom']=="defaut" && $_POST['uni']=="defaut" && $_POST['bat']=="defaut" && $_POST['fct']=="defaut" && $_POST['pol']!="defaut") {
$pol = $_POST['pol'];
// on se connecte à MySQL
$db = mysql_connect('localhost', 'root', '');

// on sélectionne la base
mysql_select_db('annuaire',$db);



// on crée la requête SQL
$sql = "SELECT identifiant,nom,prenom,civilité,fonction,unite,unite2,batiment,batiment2,pole,pole2 FROM personnel WHERE pole='".$pol."' UNION SELECT identifiant,nom,prenom,civilité,fonction,unite,unite2,batiment,batiment2,pole,pole2 FROM personnel WHERE pole2='".$pol."' ORDER BY nom" ;
}

.
.
.
.

Je fais des else if pour vérifier les 5 champs et donc toutes les possibilités et je rajoute un else pour afficher mon tableau lorsque j'arrive pour la premiere fois sur la page :

else {
// on se connecte à MySQL
$db = mysql_connect('localhost', 'root', '');

// on sélectionne la base
mysql_select_db('annuaire',$db);
$sql = 'SELECT identifiant,nom,prenom,civilité,fonction,unite,unite2,batiment,batiment2,pole,pole2 FROM personnel ORDER BY nom' ;
}

Re: Modification tableau apres recherche

par squallblanc » 04 déc. 2012, 20:59

Tu a un bout de code à nous montrer ça serai plus simple pour comprendre ce qu'il ne va pas.