Rechercher : dans
Par :

[PHP][switch]

Dernière réponse le 27 fév 2006 à 13:23:49 defi, le 27 fév 2006 à 10:51:06 
 Signaler ce message aux modérateurs

Quand j'appelle une fonction choix()
par php dans un switch quelque soit la valeur retournée par cette fonction c'est le case 0 qui se déclanche. Quelqu'un peut-il m'aider?

La fonction : function choix()
{
if (nonvide()== 0) return 0;// mettre en alert de remplir
else
{
if (age(tableau[10])>=18) return 1;// afficher le recap adulte
else
{
if ((tableaup1[4]== 0)&& (tableaup2[4] == 0)) return 2 ; // mettre en alert de remplir un parent
else if ((tableaup1[4] == 0) && (tableaup2[4] == 1))
{
if (nonvidep2() == 0) return 3 ; // mettre en alerte de remplir un parent
else
{ return 4 ; // afficher le p2
}
}
else if ((tableaup1[4] == 1) && (tableaup2[4]== 0))
{
if (nonvidep1() == 0) return 5 ;
// mettre en alerte de remplir un parent
else
{ return 6 ; //afficher le p1
}
}
else if ((tableaup1[4] == 1) && (tableaup2[4] == 1))
{
if ((nonvidep1() ==0) && (nonvidep2()==0)) return 7; // mettre en alert de remplir les 2 parents
else if ((nonvidep1() ==1) && (nonvidep2()==0)) return 8; // afficher le parent P1
else if ((nonvidep1() ==0) && (nonvidep2()==1)) return 9; // afficher le parent P2
else if ((nonvidep1() ==1) && (nonvidep2()==1)) return 10; // afficher les 2 parents
}
}
}
}


Le switch sur php :
switch('<script>choix()</script>') {

case '0' :
echo '<script> alert ("cas0") ; </script>';
break;
case '1':
echo '<script> alert ("cas1") ; </script>';
break;
case 2 :
echo '<script> alert ("cas2") ; </script>';
break;
case 3 :
echo '<script> alert ("cas3") ; </script>';
break;
case 4 :
echo '<script> alert ("cas4") ; </script>';
break;
case 5 :
echo '<script> alert ("cas5") ; </script>';
break;
case 6 :
echo '<script> alert ("cas6") ; </script>';
break;
case 7 :
echo '<script> alert ("cas7") ; </script>';
break;
case 8 :
echo '<script> alert ("cas8") ; </script>';
break;
case 9 :
echo '<script> alert ("cas9") ; </script>';
break;
case 10 :
echo '<script> alert ("cas10") ; </script>';
break;
default :
echo '<script> alert ("cas11") ; </script>';
break;
}

Meilleures réponses pour « [PHP][switch] » dans :
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
Installation rapide de LAMP (Apache+MySql+php) sous Linux VoirLAMP = Linux+Apache+MySql+Php. C'est le serveur web par excellence. L'ensemble est facile à installer. Installation rapide sudo aptitude install apache2 php5 mysql-server php5-mysql libapache2-mod-php5 Le mot de passe administrateur mySQL...
[PHP] Notice: Undefined index: VoirSi vous utilisez les tableaux $_POST ou $_GET pour récupérer les variables de vos formulaires ou autres, il se peut que vous tombiez sur cette erreur: Notice: Undefined index 'champs du tableau' in 'chemin du fichier php en cours d'execution' on line...
Télécharger PHP Edit VoirPHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de fonctionnalités permettant de développer plus efficacement : Coloration syntaxique Auto-complétion des fonctions Débuggeur...
Télécharger PHP FTP Synchronizer VoirLa mise à jour de site web est aussi complexe que sa conception. Alors il faut utiliser le bon outil avec les bon paramètres et une bonne connaissance de programmation pour mettre à jour un site. PHP FTP Synchronizer est une application vous...
PHP - Structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non, c'est-à-dire si la valeur de son expression vaut 0 ou 1 (le PHP associe le mot clé true à 1...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...

1

crabs, le 27 fév 2006 à 11:28:44

Salut,
Tu semble mélanger du javascript avec du PHP. Je dits ça car je vois des
balises script et des variables sans $ dans la fonction choix.

Hors cela n'est pas possible à priori :
Lorque le navigateur demande un page : le serveur exécute le PHP pour générer
la page, puis le navigateur exécute le JS si il en rencontre et qu'il sait le faire.

Dans ton cas, il faut surement que tu fasses tout en JS.
En PHP, la condition de ton switch '<script>choix()</script>' sera toujours la
chaine de carectères et non le résultat de l'éxécution de la fonction choix().

A+, crabs ..., I think Slackware sounds better than 'Microsoft,'
-- Patrick Volkerding - founder and maintainer of Slackware

Répondre à crabs

2

defi, le 27 fév 2006 à 11:41:25

En effet choix() est bien une fonction sous javascript mise dans une autre page script.php. Dans mon switch() je l'appelle.

Sinon comment faire pour que le résultat pris en compte par le switch soit le résultat de la fonction?

Répondre à defi

3

defi, le 27 fév 2006 à 12:15:45

Merci de ne pas répondre j'ai la solution. J'ai tout mis en javascript et php appelle une seule fonction selection():

function choixp()
{
if (nonvide()== 0) document.write("0");// mettre en alert de remplir
else
{
if (age(tableau[10])>=18) document.write("1");// afficher le recap adulte
else
{
if ((tableaup1[4]== 0)&& (tableaup2[4] == 0)) document.write("2") ; // mettre en alert de remplir un parent
else if ((tableaup1[4] == 0) && (tableaup2[4] == 1))
{
if (nonvidep2() == 0) document.write("3") ; // mettre en alerte de remplir un parent
else
{ document.write("4") ; // afficher le p2
}
}
else if ((tableaup1[4] == 1) && (tableaup2[4]== 0))
{
if (nonvidep1() == 0) document.write("5") ;
// mettre en alerte de remplir un parent
else
{ document.write("6") ; //afficher le p1
}
}
else if ((tableaup1[4] == 1) && (tableaup2[4] == 1))
{
if ((nonvidep1() ==0) && (nonvidep2()==0)) document.write("7"); // mettre en alert de remplir les 2 parents
else if ((nonvidep1() ==1) && (nonvidep2()==0)) document.write("8"); // afficher le parent P1
else if ((nonvidep1() ==0) && (nonvidep2()==1)) document.write("9"); // afficher le parent P2
else if ((nonvidep1() ==1) && (nonvidep2()==1)) document.write("10"); // afficher les 2 parents
}
}
}
}

var n = document.write(choix());

function selection()
{
switch(choix()) {

case 0 :
alert ("cas0") ;
break;
case 1:
alert ("cas1") ;
break;
case 2 :
alert ("cas2")
break;
case 3 :
alert ("cas3") ;
break;
case 4 :
alert ("cas4")
break;
case 5 :
alert ("cas5") ;
break;
case 6 :
alert ("cas6") ;
break;
case 7 :
alert ("cas7") ;
break;
case 8 :
alert ("cas8") ;
break;
case 9 :
alert ("cas9") ;
break;
case 10 :
alert ("cas10") ;
break;
default :
alert ("cas11") ;
break;
}
}

Répondre à defi

4

 crabs, le 27 fév 2006 à 13:23:49

Salut,
Pour préciser, PHP n'appelle pas de fonction javascript, il insère dans le
html le code qui demande au navigateur d'appeler cette fonction.
A+, crabs ..., I think Slackware sounds better than 'Microsoft,'
-- Patrick Volkerding - founder and maintainer of Slackware

Répondre à crabs
Collection CommentÇaMarche.net