Interface utilisateur Switch Case

Résolu
jeanphilippe37 Messages postés 73 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 21 octobre 2010 - 20 nov. 2009 à 14:07
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 - 20 nov. 2009 à 15:33
Bonjour,

J'ai un pb en php pour réaliser un échange entre l'utilisateur et mon programme. Je m"explique :

J'ai fait un switch case et j"aimerai que lorsque l'utilisateur choisit un numéros (exemple 1) et que cela le revoit dans le programme Create Table qui correspond au choix1. Et ainsi de suite.




<?php
echo "What would you wanna do ?\n";
$i = fgets(STDIN);
switch($i)
{
case 1:
echo "Create Table";
break;

case 2:
echo "Desc";
break;

case 3:
echo "Trunctable";
break;

case 4:
echo "Drop";
break;

case 5:
echo "Delete";
break;

case 6:
echo "Select";
break;

case 7:
echo "Conditions";
break;
}
?>

Merci d"avance pour votre aide


J-Ph

6 réponses

TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
20 nov. 2009 à 14:37
Salut,

Je n'ai pas bien saisi ton problème, mais ce bout de code fait-il ton bonheur ?
<?php

$options = array(0, 'Create Table', 'Trunctable', 'Drop',
                 'Delete', 'Select', 'Conditions');
unset($options[0]);
$stdin = fopen('php://stdin', 'r');
if ($stdin === false)
  die(42);
do
  {
    echo 'What would you wanna do ?', "\n";
    $input = intval(fgets($stdin));
  }
 while (!isset($options[$input]));
fclose($stdin);
echo $options[$input], "\n";

?>
3
jeanphilippe37 Messages postés 73 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 21 octobre 2010
20 nov. 2009 à 14:46
merci de ta reponse. Je v essayer ce code!!!! te dirais si cela marche.



J-Ph
3
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
20 nov. 2009 à 15:12
Ok je vois un peu mieux. Tu peux te baser sur le code suivant, après à toi de définir toutes les fonctions et d'afficher ce que tu veux pour le menu, les fonctions create_table() etc sont appelées si l'utilisateur fait le numéro correspondant à ce choix.

<?php

function        create_table()
{
  echo 'Create Table', "\n";
}

function        truncable()
{
  echo 'Trunctable', "\n";
}

function        drop()
{
  echo 'Drop', "\n";
}

$options = array(0, 'create_table', 'truncable', 'drop',
                 'delete', 'select', 'conditions');
unset($options[0]);
$stdin = fopen('php://stdin', 'r');
if ($stdin === false)
  die(42);
do
  {
    echo 'What would you wanna do ?', "\n";
    $input = intval(fgets($stdin));
  }
 while (!isset($options[$input]));
fclose($stdin);
if (!is_callable($options[$input]))
  die(21);
call_user_func($options[$input]);

?>
3
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
20 nov. 2009 à 15:33
Et bien tu fait un simple echo avant la boucle do while, je ne vois pas où est le problème.
3

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

Posez votre question
jeanphilippe37 Messages postés 73 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 21 octobre 2010
20 nov. 2009 à 14:54
en fait, c la meme chose que moi mais en plus propre. Ce que je voulais faire c'est ca :




<?php
function presentation()
{
echo "|-------------------------------------|\n";
echo "| BIENVENUE DANS LE PROGRAMME BDPHP |\n";
echo "| PRESENTE PAR RAFFIK ET JEAN-PHILIPPE|\n";
echo "|-------------------------------------|\n";
echo "| BUT: |\n";
echo "|-------------------------------------|\n";
echo "| Comprendre le mecanisme du SQL |\n";
echo "| Et l'application du PHP |\n";
echo "|-------------------------------------|\n";
echo "| Bon courage!! |\n";
echo "|-------------------------------------|\n";

}
presentation();

1 . Create Table
2 . Trunc Table
3 . Drop etc...

ET LA aue l"utilisateur voit ce qu il doit choisir et qund il a selectionne ce qu"il veux, le programme va chercher la partie du programme. En gros, si je choisis 1 ( le gars,tombe sur la partie du programme Create Table.

merci

J-Ph
0
jeanphilippe37 Messages postés 73 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 21 octobre 2010
20 nov. 2009 à 15:22
ui merci mais, je voudrai comme je t l ai dit, avoir la liste

1. create table
2. drop
3.
4.
5.

et quand l utilisateur tape 1 il est redirige vers le programme Create Table



J-Ph
0
Rejoignez-nous