Syntaxe pour traitement sql et if .... [Résolu]

Signaler
Messages postés
362
Date d'inscription
mardi 18 décembre 2001
Statut
Membre
Dernière intervention
24 août 2012
-
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
-
Bonjour,

J'ai deux petites question que je me pose à propos...

1) ici j'execute une requete où je sais qu'il n'y aura qu'une seule réponse. Es t il vraiment nécessaire d'introduire un while ?

$sql = 'marequete';
$req = mysql_query($sql) or die('Erreur');

while($donnee = mysql_fetch_assoc($req))
{
//routine
}


2) quelle est la syntaxe pour introduire ceci sur une seule linge ?

if (a==b) {
//routine
}
else
{
//routine
}


merci pour vos réponses

7 réponses

Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
16
Salut,

1/ Non

2/ Version correcte :
echo ($a == $b) ? 'oui' : 'non';


--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
Messages postés
2381
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
16
A mon sens:
1. Si tu es SUR qu'il y a bien UNE réponse (et non aucune) tu peux taper: $donnee =mysql_fetch_assoc($req) (même si mysql_fetch_* ne me convient pas)
2. Si ta 'routine' fait plus d'une ligne, la réponse est non.. sauf si chaque ligne renvoie un booléen et là tu peux séparer par && et tu stoppes à la première ligne qui renvoie false.. Donc pour faire simple si tu as plusieurs lignes tu ne peux pas.. et d'ailleurs pourquoi ?? La lisibilité d'un code est avant tout verticale !!
S.
Messages postés
70
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
17 mai 2019
2
un truc du genre :

<?php

($a==$b)?echo 'oui':echo 'non';
?>
Messages postés
362
Date d'inscription
mardi 18 décembre 2001
Statut
Membre
Dernière intervention
24 août 2012

non ce n'est pas correct php me renvoit une erreur...
Messages postés
362
Date d'inscription
mardi 18 décembre 2001
Statut
Membre
Dernière intervention
24 août 2012

bonjour,

pour le problème de db c'est ok

pare contre pour le if c'est aussi ok , mais on peut comparer ca à un "iif" en vb6...

en vb6 il y a 3 sorte de if:
1-msgbox iif(expression,returntrue,returnfalse)

2-if expression = true then msgbox returntrue else returnfalse

3-if expression = true then
msgbox returntrue
'autre chose si on veut...
else
msgbox return false
end if


je souhaiterai l'équivalent du choix numéro 2 mais en php et ca je ne pense pas que ca existe ? Car la solution que vous m'avez donnée est comparable à la n°1 ...
Messages postés
362
Date d'inscription
mardi 18 décembre 2001
Statut
Membre
Dernière intervention
24 août 2012

bonjour,

pour le problème de db c'est ok

pare contre pour le if c'est aussi ok , mais on peut comparer ca à un "iif" en vb6...

en vb6 il y a 3 sorte de if:
dim returntrue as string, returnfalse as string

1-msgbox iif(expression,returntrue,returnfalse)

2-if expression = true then msgbox returntrue else msgbox returnfalse

3-if expression = true then
msgbox returntrue
'autre chose si on veut...
else
msgbox returnfalse
end if


je souhaiterai l'équivalent du choix numéro 2 mais en php et ca je ne pense pas que ca existe ? Car la solution que vous m'avez donnée est comparable à la n°1 ...
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
16
La solution que j'ai donnée est comparable à la première qui a été donnée, sauf qu'elle est correcte.
Cf à ce sujet la doc qui explique comment ça fonctionne : http://php.net/manual/fr/language.operators.comparison.php#language.operators.comparison.ternary

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)