[RESOLU] Problème de condition

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 : [RESOLU] Problème de condition

Re: [RESOLU] Problème de condition

par ghost5922 » 30 avr. 2013, 12:01

Bonjour,

good news avec plaisir


apres comme ta requette et toujours la meme tu pouvais faire quelque chose comme
if (!empty($_POST['nomClient']) or !empty($_POST['idFiche']) or !empty($_POST['dateReclamation']) and !empty($_POST['nomRapporteur'])){
	$where="where ";	
}
else{
	$where="";	
}

if(isset($_POST['nomRapporteur']) and !empty($_POST['nomRapporteur'])){$where.="nomRapporteur = '".$_POST['nomRapporteur']."' and ";}
if(isset($_POST['nomClient']) and !empty($_POST['nomClient'])){$where.="nomClient = '".$_POST['nomClient']."' and ";}
if(isset($_POST['idFiche']) and !empty($_POST['idFiche'])){$where.="idFiche = '".$_POST['idFiche']."' and ";}
if(isset($_POST['dateReclamation']) and !empty($_POST['dateReclamation'])){$where.="dateReclamation >='".$_POST['dateReclamation']."' and ";}


if(!empty($where)){$where = substr($where, 0, -4);}

$req = $bd->query("SELECT * from RECHERCHE_RC1 $where");

cela fais une requete et autant de possibilité que tu veux

Re: [RESOLU] Problème de condition

par Iutien » 30 avr. 2013, 11:53

PARFAIT. Ça marche bien !

Je te remercie infiniment Ghost. Depuis vendredi j'ai ce problème. Je me débarrasse enfin !!!

Merci bien ! =D>

Re: Problème de condition

par Iutien » 30 avr. 2013, 11:47

CA MARCHE ! MERCI INFINIMENT !

Y me reste plus qu'a bidouiller une dernière condition

Car là j'ai :
nomRapporteur
nomRapporteur ET date
dateReclamation

Reste plus qu'a modifier la date de réclamation car en entrant seulement une date j'ai le bon tableau mais aussi le tableau de la condition ou j'ai combiné les 2 criteres.

En gros je fais pareil pour la date

Re: Problème de condition

par Iutien » 30 avr. 2013, 11:40

Oh My God je crois que ça marche....
J'enleve mon print_r mon message aussi. Je te tiens au jus l'ami. MERCI je teste et je te dis !

Re: Problème de condition

par ghost5922 » 30 avr. 2013, 11:35

comme cela
if (empty($_POST['nomClient']) and empty($_POST['idFiche']) and empty($_POST['dateReclamation']) and !empty($_POST['nomRapporteur'])){
	
}
$_POST['nomClient'] vide
$_POST['idFiche'] vide
$_POST['dateReclamation'] vide
$_POST['nomRapporteur'] rempli

Re: Problème de condition

par Iutien » 30 avr. 2013, 11:32

Donc comment modifier cette condition(ci-dessous) pour qu'en saisissant UNIQUEMENT un nom de rapporteur, celle ci ne s’exécute pas :
if ((empty($_POST['nomClient'])) and (empty($_POST['idFiche'])) and (isset($_POST['dateReclamation'])) and (isset($_POST['nomRapporteur'])))

Re: Problème de condition

par ghost5922 » 30 avr. 2013, 11:28

Bonjour,

si car tu lui demande si $_POST['dateReclamation'] existe c'est le cas

tu dois confondre les deux

isset demande de verifie si la variable existe comme tu l'envoi depuis le formulaire elle existe
empty demande de verifie si la valeur et vide

si on ajoute un ! devant cela veux dire n'existe pas ou n'est pas vide

donc demande bien a ta condition

je ne veux pas que ce champ sois vide !empty($_POST['nomRapporteur']) mais le reste oui empty($_POST['nomClient']) and empty($_POST['idFiche']) and empty($_POST['dateReclamation'])

Re: Problème de condition

par Iutien » 30 avr. 2013, 11:22

Marche toujours pas...

Je pense que tu n'as toujours pas saisi le problème ?

Le probleme (je pense) vient de la condition ou je combine mes 2 criteres.

Et pas celle ou je fais simplement un test ISSET sur le nom du rapporteur et EMPTY pour le reste.

En gros en rentrant seulement un nom de rapporteur, la condition ci dessous s'execute. Alors qu'elle ne devrait pas puisque je ne saisis aucune date..
if ((empty($_POST['nomClient'])) and (empty($_POST['idFiche'])) and (isset($_POST['dateReclamation'])) and (isset($_POST['nomRapporteur'])))

Re: Problème de condition

par ghost5922 » 30 avr. 2013, 11:14

regarde pour moi cela doit marche
<?php
//si $_POST['nomRapporteur'] existe et n'est pas vide mais que le reste et vide
if (isset($_POST['nomRapporteur']) and !empty($_POST['nomRapporteur']) and empty($_POST['nomClient']) and empty($_POST['idFiche']) and empty($_POST['dateReclamation'])){
	
	
}
//si $_POST['nomClient'] existe et n'est pas vide mais que le reste et vide
if(isset($_POST['nomClient']) and !empty($_POST['nomClient']) and empty($_POST['idFiche']) and empty($_POST['dateReclamation']) and empty($_POST['nomRapporteur'])){
	
}

?>

le mieux et meme de mettre elseif

Re: Problème de condition

par Iutien » 30 avr. 2013, 11:07

Concrétement, en rentrant seulement un nom de rapporteur je veux seulement l'affichage d'un seul tableau :
condition : if ((isset($_POST['nomRapporteur'])) and (empty($_POST['nomClient'])) and (empty($_POST['idFiche'])) and (empty($_POST['dateReclamation'])))

Si l'on remplit uniquement le nom du rapporteur : on affiche le tableau avec la bonne requete et C'EST TOUT.

Le probleme c'est que en rentrant UNIQUEMENT le nom du rapporteur, ca me renvoit aussi le tableau (identique à celui du dessus dont je te parle) correspondant à la condition:
if ((empty($_POST['nomClient'])) and (empty($_POST['idFiche'])) and (isset($_POST['dateReclamation'])) and (isset($_POST['nomRapporteur'])))



Pour information, quand je rentre LES DEUX CRITERES COMBINES ma requete marche et me renvoi le bon tableau :
quand je rentre un nom de rapporteur et une date ensemble : ca me renvoit le bon tableau avec toutes les fiches de ce rapporteur là à partir de la date saisie.


Ce que je veux c'est que en rentrant UNIQUEMENT le nom du rapporteur je veux seulement le tableau correspondant à la condition
condition : if ((isset($_POST['nomRapporteur'])) and (empty($_POST['nomClient'])) and (empty($_POST['idFiche'])) and (empty($_POST['dateReclamation'])))

Re: Problème de condition

par ghost5922 » 30 avr. 2013, 11:00

tu lui demande si date existe c'est bien le cas explique moi se que doivent faire tes deux conditions en claire et je vais te faire un truc

Re: Problème de condition

par Iutien » 30 avr. 2013, 10:53

Concrétement, en rentrant seulement un nom de rapporteur, cela me renvoit 2 tableaux identiques :
le premier correspondant à la condition : if ((empty($_POST['nomClient'])) and (empty($_POST['idFiche'])) and (isset($_POST['dateReclamation'])) and (isset($_POST['nomRapporteur'])))
le deuxieme correpondant à la condition : if ((isset($_POST['nomRapporteur'])) and (empty($_POST['nomClient'])) and (empty($_POST['idFiche'])) and (empty($_POST['dateReclamation'])))


Le probleme c'est que POURQUOI ca rentre dans le premier IF sachant que je ne saisis aucune date...

Re: Problème de condition

par Iutien » 30 avr. 2013, 10:52

Je pense que tu n'as pas compris...

Le probleme ne vient pas de la condition ou je rentre SEULEMENT un nom de rapporteur ?

Cela marche ca me renvoit le bon tableau ?

Le probleme reside dans le fait que en rentrant SEULEMENT un nom de rapporteur ca me renvoit le bon tableau MAIS AUSSI le tableau ayant la condition :
if ((empty($_POST['nomClient'])) and (empty($_POST['idFiche'])) and (isset($_POST['dateReclamation'])) and (isset($_POST['nomRapporteur'])))

ALORS QUE JE NE RENTRE AUCUNE DATE...

Re: Problème de condition

par ghost5922 » 30 avr. 2013, 10:47

Bonjour,

j'ai pas pu test ton code mais j'ai repris les memes infos que toi et moi il a aucun souci ou alors j'ai pas compris

DEMO

Page php
<?php

if (isset($_POST['nomRapporteur']) and isset($_POST['nomClient']) and empty($_POST['nomClient']) and isset($_POST['idFiche']) and empty($_POST['idFiche']) and isset($_POST['dateReclamation']) and empty($_POST['dateReclamation'])){

		//  $req = $bd->query("SELECT * from RECHERCHE_RC1 WHERE nomRapporteur = '$nomRapporteur'"); 
	
	  
			  echo '<table>';
			  echo '<tr>';
			  echo '<td><b>N°Fiche2</b></td>';
			  echo '<td><b>Client2</b></td>';
			  echo '<td><b>Rapporteur2</b></td>';
			  echo '<td><b>Date de saisie2</b></td>';
			  echo '<td><b>Fiche cloturée2</b></td>';
			  echo '</tr>';
	  
	  
	  	//while ($ligne2 = $req->fetch(PDO::FETCH_ASSOC)) ...
  
echo'CONDITION';
		
		
}
else{
	echo'RIEN';	
}
		
?>
 

formulaire :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
</head>

<body>
<form action="check.php" method="post">
nomRapporteur :<input type="text" name="nomRapporteur" /><br />
nomClient :<input type="text" name="nomClient" /><br />
idFiche :<input type="text" name="idFiche" /><br />
dateReclamation :<input type="text" name="dateReclamation" /><br />
<input type="submit" value="GO" />
</form>
</body>
</html>

Re: Problème de condition

par Iutien » 30 avr. 2013, 10:46

Array ( [idFiche] => [nomRapporteur] => RODALLEC [nomClient] => [dateReclamation] => [rechercher] => Rechercher )

Message affiché à : Il y a un problème de date