Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
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 08/02/2007, 16h17   #1
Nouveau Membre du Club
 
Étudiant
Inscription : janvier 2007
Messages : 78
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Morbihan (Bretagne)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2007
Messages : 78
Points : 29
Points : 29
Par défaut autre chose que le if

Salut,

Je vous explique je dois vérifier 5 variables : dossier, domaine, type, critere1, critere2, critere3 en sachant que je vérifie les critèresX seulement si type est différent de "".
Je dois vérifier toutes les combinaisons possibles.
exemple :
si le dossier = "" alors
si domaine = "" alors
si type = "" alors
......
sinon
........
sinon
si type = "" alors
......
sinon
........
sinon
si domaine = "" alors
si type = "" alors
......
sinon
........
sinon
si type = "" alors
......
sinon
........
etc

Est ce qu'il esisterait une autre façon de faire pour que ce soit moins long.
melisse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2007, 16h21   #2
Membre chevronné
 
Avatar de J0r_x
 
Homme
Analyste - Programmeur
Inscription : mai 2006
Messages : 712
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Analyste - Programmeur
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : mai 2006
Messages : 712
Points : 607
Points : 607
Je comprend pas trop ton exemple tu pourrais être plus explicit ?
__________________
Aucune aide par MP, utilisez le forum.
J0r_x est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2007, 16h25   #3
Nouveau Membre du Club
 
Étudiant
Inscription : janvier 2007
Messages : 78
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Morbihan (Bretagne)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2007
Messages : 78
Points : 29
Points : 29
desole, je dois tester tous les cas possible.
- dossier = "" & domaine = "" & type =""
- dossier = "xxxx" & domaine = "" & type =""
- dossier = "xxxx" & domaine = "" & type ="xxxxx"
- dossier = "" & domaine = "xxx" & type = ""
- dossier = "" & domaine = "xxx" & type = "xxxx"
- dossier = "xxx" & domaine = "xxx" & type = "xxx"
- etc.....

J'aimerais savoir s'il n'y a pas autre chose que le if pour vérifier car sinon ca me fait un code monstrueux car il existe plein cas possible.
melisse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2007, 17h07   #4
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 251
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 251
Points : 1 514
Points : 1 514
salut,
Citation:
seulement si type est différent de "".
commence par tester si le type n'est pas vide :

Code :
1
2
3
4
if($_POST['type'] != "")
{
//alors fais les autres test
}
-> si il s'agit d'un post bien sur..
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2007, 17h53   #5
Modérateur
 
Avatar de s.n.a.f.u
 
Homme
Développeur Web
Inscription : août 2006
Messages : 2 700
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 37
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : août 2006
Messages : 2 700
Points : 3 357
Points : 3 357
Citation:
Envoyé par melisse
desole, je dois tester tous les cas possible.
- dossier = "" & domaine = "" & type =""
- dossier = "xxxx" & domaine = "" & type =""
- dossier = "xxxx" & domaine = "" & type ="xxxxx"
- dossier = "" & domaine = "xxx" & type = ""
- dossier = "" & domaine = "xxx" & type = "xxxx"
- dossier = "xxx" & domaine = "xxx" & type = "xxx"
- etc.....

J'aimerais savoir s'il n'y a pas autre chose que le if pour vérifier car sinon ca me fait un code monstrueux car il existe plein cas possible.
Je ne vois pas en quoi cela pose problème.
La prog, c'est pas toujours du sexy coding avec des problèmes hyper compliqués à base d'objets hérités et de fermetures obscures.
Et non, quelque fois c'est un travail de fourmi décérébrée, et il faut sortir les doigts de fée pour aligner les lignes de code nécessaires et suffisantes.
C'est très chiant à faire, mais ça ne se fais quand même qu'une fois.
Aucune fonction ne viendra à ton aide, mais si tu organises bien ton algoritme de tests, peut-être arriveras-tu à en éliminer quelques uns...

En tous les cas, bon courage !
s.n.a.f.u est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2007, 17h57   #6
Membre chevronné
 
Inscription : janvier 2006
Messages : 918
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 918
Points : 735
Points : 735
Pour limiter le volume de ton code, tu peux toujours utiliser les syntaxes alternatives. Exemple :
Code :
1
2
3
echo $a == 1 ? $toto : $titi;
remplace
if($a == 1) echo $toto else echo $titi;
guidav est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2007, 18h41   #7
Modérateur
 
Avatar de Rakken
 
Inscription : août 2006
Messages : 1 207
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 1 207
Points : 1 137
Points : 1 137
Le mieux que tu ais a faire, c'est de hierarchiser tes tests.
Genre, tu testes une valeurs pour "dossier", puis, dans ce bloc if la (ou tu sais que dossier est nécessairement celle que tu as testé) tu fait ton tests pour la variable suivante, etc...
Ca te permetra de factoriser certains tests. Par contre, il n'existe pas de fonction magique...

A la rigueur, si tes tests s'y prettent (ce n'est pas toujours le cas, surtout si tu testes avec plusieurs variables) tu peux voir tu coté de "switch", mais ici, je pense que tu vas devoir te taper tous tes ifs.
__________________
Rakken

Oneira, un monde imaginaire d'Heroic Fantasy.

Parce que la présomption d'innocence est un des fondements de notre pays et qu'elle doit le rester, dans tous les domaines : http://www.laquadrature.net/
Rakken est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2007, 08h23   #8
Nouveau Membre du Club
 
Étudiant
Inscription : janvier 2007
Messages : 78
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Morbihan (Bretagne)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2007
Messages : 78
Points : 29
Points : 29
Merci à tous de m'avoir donné vos avis. Je crois que j'ai pas le choix je vais me taper tous les if. Tanpis pour moi.

Encore merci.
Bonne journée.
melisse 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 13h08.


 
 
 
 
Partenaires

Hébergement Web