Syntaxe pour traitement sql et if ....

Résolu
cs_kalif Messages postés 362 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 24 août 2012 - 5 sept. 2010 à 12:59
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 - 5 sept. 2010 à 19:12
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

neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
5 sept. 2010 à 17:48
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à ;)
3
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
5 sept. 2010 à 18:02
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.
3
Raul duke Messages postés 70 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 17 mai 2019 2
5 sept. 2010 à 14:54
un truc du genre :

<?php

($a==$b)?echo 'oui':echo 'non';
?>
0
cs_kalif Messages postés 362 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 24 août 2012
5 sept. 2010 à 17:48
non ce n'est pas correct php me renvoit une erreur...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_kalif Messages postés 362 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 24 août 2012
5 sept. 2010 à 18:49
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 ...
0
cs_kalif Messages postés 362 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 24 août 2012
5 sept. 2010 à 18:51
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 ...
0
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
5 sept. 2010 à 19:12
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à ;)
0
Rejoignez-nous