begin process at 2012 05 31 20:06:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

switch et if imbriqué


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

switch et if imbriqué

jeudi 2 décembre 2010 à 16:10:22 | switch et if imbriqué

gabyte

Bonjour,

J'ai bien cherché sur le forum avant de vous solliciter
voilà la question :

peut-on mettre un if…elseif… dans un switch

pour fabriquer une référence bibliographique selon la nature (livre revue et mémoire)
tout en imbriquant deux conditions (1 ou 2 noms - ou pas de nom)

----- début ---------
switch ($row_sQl['s_nature'])
{
case 'Livre':
if ($row_sQl['s_nom']!= '')||($row_sQl['s_nom2']!= '') //if ((condition1)||(condition2))
{
$bilio = "$row_sQl['s_nom'].' '.$row_sQl['s_prenom'].' '.$row_sQl['s_nom2'].', '.$row_sQl['s_prenom2'].' ('.$row_sQl['s_annee'].') '.$row_sQl['s_titre'].' '.$row_sQl['s_lieuedit'].' '.$row_sQl['s_editeur'].'.'";
}
elseif ($row_sQl['s_nom']!='')
{
$biblio = "$row_sQl['s_nom'].' '.$row_sQl['s_prenom'].' ('.$row_sQl['s_annee'].') '.$row_sQl['s_titre'].' '.$row_sQl['s_lieuedit'].' '.$row_sQl['s_editeur'].'.'";
}
elseif ($row_sQl['s_nom']='')
{
$biblio ='<i>anonyme </i> '.' ('.$row_sQl['s_annee'].') '.$row_sQl['s_titre'].' '.$row_sQl['s_lieuedit'].' '.$row_sQl['s_editeur'].'.';
}
else
{
$biblio ='---------';


}

break;

case 'Revue':
if ($row_sQl['s_nom']!='') && ($row_sQl['s_nom2']!='')
{
$bilio = $row_sQl['s_nom'].' '.$row_sQl['s_prenom'].' '.$row_sQl['s_nom2'].', '.$row_sQl['s_prenom2'].' ('.$row_sQl['s_annee'].') '.$row_sQl['s_titre'].' '.$row_sQl['s_nomrevue'].' n° '.$row_sQl['s_numrevue'].'.';
}
elseif ($row_sQl['s_nom']!='') && ($row_sQl['s_nom2']='')
{
$biblio = $row_sQl['s_nom'].' '.$row_sQl['s_prenom'].' ('.$row_sQl['s_annee'].') '.$row_sQl['s_titre'].' '.$row_sQl['s_nomrevue'].' n° '.$row_sQl['s_numrevue'].'.';
}
elseif ($row_sQl['s_nom']='')
{
$biblio ='<i>anonyme </i> '.' ('.$row_sQl['s_annee'].') '.$row_sQl['s_titre'].' '.$row_sQl['s_nomrevue'].' n° '.$row_sQl['s_numrevue'].'.';
}
else
{
$biblio ='---------';
}
break;

case 'Mémoire ESA':
if ($row_sQl['s_nom']!='')
{
$biblio = $row_sQl['s_nom'].' '.$row_sQl['s_prenom'].' ('.$row_sQl['s_annee'].') '.$row_sQl['s_titre'].' '.$row_sQl['s_nomrevue'].' n° '.$row_sQl['s_numrevue'].'.';
}
elseif ($row_sQl['s_nom']='')
{
$biblio ='<i>anonyme </i> '.' ('.$row_sQl['s_annee'].') '.$row_sQl['s_titre'].' '.$row_sQl['s_nomrevue'].' n° '.$row_sQl['s_numrevue'].'.';
}
else
{
$biblio ='---------';
}
break;

break;
case 'Mémoire de thèse':
if ($row_sQl['s_nom']!='')
{
$biblio = $row_sQl['s_nom'].' '.$row_sQl['s_prenom'].' Mémoire ESA ('.$row_sQl['s_annee'].') '.$row_sQl['s_titre'].'.';
}
elseif ($row_sQl['s_nom']='')
{
$biblio ='<i>anonyme </i> '.' Mémoire de thèse ('.$row_sQl['s_annee'].') '.$row_sQl['s_titre'].'.';
}
else
{
$biblio ='---------';
}
break;

default :
if ($row_sQl['s_nom']!='')
{
$biblio = $row_sQl['s_nom'].' '.$row_sQl['s_prenom'].' Mémoire ESA ('.$row_sQl['s_annee'].') '.$row_sQl['s_titre'].'.';
}
elseif ($row_sQl['s_nom']='')
{
$biblio ='<i>anonyme </i> '.' Mémoire de thèse ('.$row_sQl['s_annee'].') '.$row_sQl['s_titre'].'.';
}
else
{
$biblio ='---------';
}
break;
}
------ fin ----------

pour tout vous dire ça ne fonctionne pas!

Gabyte - Angers
------------------
jeudi 2 décembre 2010 à 16:41:22 | Re : switch et if imbriqué

cod57

BONJOUR

tu as mis deux break qui se suivent

$biblio ='---------';
}
break;

break;
case 'Mémoire de thèse':

essaie comme ça ...

a++


Code PHP :

<?php
//----- début --------- 
switch ($row_sQl['s_nature']) 
{ 

case 'Livre': 
   
    if ($row_sQl['s_nom']!= '')||($row_sQl['s_nom2']!= '') //if ((condition1)||(condition2)) 
    { 
    $bilio = "$row_sQl['s_nom'].' '.$row_sQl['s_prenom'].' '.$row_sQl['s_nom2'].', '.$row_sQl['s_prenom2'].' ('.$row_sQl['s_annee'].') '.$row_sQl['s_titre'].' '.$row_sQl['s_lieuedit'].' '.$row_sQl['s_editeur'].'.'"; 
    } 
    elseif ($row_sQl['s_nom']!='') 
    { 
    $biblio = "$row_sQl['s_nom'].' '.$row_sQl['s_prenom'].' ('.$row_sQl['s_annee'].') '.$row_sQl['s_titre'].' '.$row_sQl['s_lieuedit'].' '.$row_sQl['s_editeur'].'.'"; 
    } 
    elseif ($row_sQl['s_nom']='') 
    { 
    $biblio ='<i>anonyme </i> '.' ('.$row_sQl['s_annee'].') '.$row_sQl['s_titre'].' '.$row_sQl['s_lieuedit'].' '.$row_sQl['s_editeur'].'.'; 
    } 
    else 
    { 
    $biblio ='---------'; 


} 

break; 

case 'Revue': 

    if ($row_sQl['s_nom']!='') && ($row_sQl['s_nom2']!='') 
    { 
    $bilio = $row_sQl['s_nom'].' '.$row_sQl['s_prenom'].' '.$row_sQl['s_nom2'].', '.$row_sQl['s_prenom2'].' ('.$row_sQl['s_annee'].') '.$row_sQl['s_titre'].' '.$row_sQl['s_nomrevue'].''.$row_sQl['s_numrevue'].'.'; 
    } 
    elseif ($row_sQl['s_nom']!='') && ($row_sQl['s_nom2']='') 
    { 
    $biblio = $row_sQl['s_nom'].' '.$row_sQl['s_prenom'].' ('.$row_sQl['s_annee'].') '.$row_sQl['s_titre'].' '.$row_sQl['s_nomrevue'].''.$row_sQl['s_numrevue'].'.'; 
    } 
    elseif ($row_sQl['s_nom']='') 
    { 
    $biblio ='<i>anonyme </i> '.' ('.$row_sQl['s_annee'].') '.$row_sQl['s_titre'].' '.$row_sQl['s_nomrevue'].''.$row_sQl['s_numrevue'].'.'; 
    } 
    else 
    { 
    $biblio ='---------'; 
    } 

break; 

    case 'Mémoire ESA': 
    
    if ($row_sQl['s_nom']!='') 
    { 
    $biblio = $row_sQl['s_nom'].' '.$row_sQl['s_prenom'].' ('.$row_sQl['s_annee'].') '.$row_sQl['s_titre'].' '.$row_sQl['s_nomrevue'].''.$row_sQl['s_numrevue'].'.'; 
    } 
    elseif ($row_sQl['s_nom']='') 
    { 
    $biblio ='<i>anonyme </i> '.' ('.$row_sQl['s_annee'].') '.$row_sQl['s_titre'].' '.$row_sQl['s_nomrevue'].''.$row_sQl['s_numrevue'].'.'; 
    } 
    else 
    { 
    $biblio ='---------'; 
    }
     
    break; 

 
case 'Mémoire de thèse': 

    if ($row_sQl['s_nom']!='') 
    { 
    $biblio = $row_sQl['s_nom'].' '.$row_sQl['s_prenom'].' Mémoire ESA ('.$row_sQl['s_annee'].') '.$row_sQl['s_titre'].'.'; 
    } 
    elseif ($row_sQl['s_nom']='') 
    { 
    $biblio ='<i>anonyme </i> '.' Mémoire de thèse ('.$row_sQl['s_annee'].') '.$row_sQl['s_titre'].'.'; 
    } 
    else 
    { 
    $biblio ='---------'; 
    } 

break; 

default : 

    if ($row_sQl['s_nom']!='') 
    { 
    $biblio = $row_sQl['s_nom'].' '.$row_sQl['s_prenom'].' Mémoire ESA ('.$row_sQl['s_annee'].') '.$row_sQl['s_titre'].'.'; 
    } 
    elseif ($row_sQl['s_nom']='') 
    { 
    $biblio ='<i>anonyme </i> '.' Mémoire de thèse ('.$row_sQl['s_annee'].') '.$row_sQl['s_titre'].'.'; 
    } 
    else 
    { 
    $biblio ='---------'; 
    } 

break; 

} 
?>
jeudi 2 décembre 2010 à 16:56:55 | Re : switch et if imbriqué

gabyte

en fait ce qu'il n'aime pas c'est la double condition (excepté le double break)
----- début ----
if ($row_sQl['s_nom']!= '')||($row_sQl['s_nom2']!= '')
----- fin ----

puisque lorsque je n'en mets qu'un, ça fonctionne

Gabyte - Angers
------------------
jeudi 2 décembre 2010 à 17:07:37 | Re : switch et if imbriqué

cod57

j avais pas fait gaffe

if ($row_sQl['s_nom']!= '')||($row_sQl['s_nom2']!= '')
----- fin ----

pourquoi tu ecris pas

if ( $row_sQl['s_nom']!= '' || ($row_sQl['s_nom2']!= '' ) ...

a++

jeudi 2 décembre 2010 à 17:09:27 | Re : switch et if imbriqué

cod57

Code PHP :

if ( $row_sQl['s_nom']!= '' || $row_sQl['s_nom2']!= '' ) 


excuses une erreur de frappe au dessus

...

a++

jeudi 2 décembre 2010 à 17:27:38 | Re : switch et if imbriqué

gabyte

et bien c'est parfait
merci

si je résume (en dehors d'autres erreurs de syntaxe) il est possible d'imbriquer

des if, elseif, else dans des switch - et inversement


Gabyte - Angers
------------------


Cette discussion est classée dans : sql, annee, titre, row, biblio


Répondre à ce message

Sujets en rapport avec ce message

Requete SQL dans un array pour Smarty [ par nzangel ] Bonjour,J'essais de me mettre au PHP et à Smarty mais voila mon problème.Pour mon menu j'ai fait une requête SQL :$sql = mysql_query ('SELECT titre,li Création d'un tableau avec SQL ( je suis bloqué :( ) [ par alexlet ] Bonsoir à tous,Voila, je débute et je suis bloquer:Je veus afficher une requette mysql dans un tableau ( j'ai pas trouvé de sources pouvant m'aider su downloader en php [ par aamsa ] Bonjour, j'ai créé une base de données qui stock les in formations de fichier uploader, j'aimerais que l'utilisateur download ces fichier et je ne sai Affichage resultat sql html [ par djbabou ] Bonjour a tous.... J'ai une requête sql qui me retourne un certain nombre de ligne d'une table de données. Mais il y a une petite chose que j'aimerai Débutant en formulaire : cases à cocher [ par brofa ] BrofBonjourJe dois développer un formulaire comportant des cases à cocher. Faut il le développer avec du javascript?Merci de bien vouloir me répondreS Requete moteur de recherche [ par vince1415 ] Salut, Voila en fait j'ai un petit probléme avec ma requéte pour un moteur de recherche tout simple. Voici le code:     function Search ($search, &$_ pb pour croiser le résultat souhaité [ par fredo35m ] Bonjour,je reviens avec un nouveau tableau à mettre en forme car là j'y arrive vraiment pas et je ne comprends pas comment le faire si quelqu'un pouva adaptation code..rrrrr [ par fersayn ] Bonsoir,J'ai deux formulaire avec des name produits et mots, et je souhaite faire une recherche dans deux champs d'une db sql qui portent les memes no Affichagebouton dans tableau [ par flopad ] Bonjour tout le monde!!Je crée un tableau en récupérant les infos ds une bdd.Je voudrais afficher en bout de chaque ligne un bouton qui permet de télé SQL [ par dudu134 ] Dudu134Bonjour à tous le forum,Voici mon code :$query = mysql_query('SHOW COLUMNS FROM nom_logiciels') or die(mysql_error());while ($row = mysql_fetch


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,201 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales