Вопрос по php, variables, sql, switch-statement – Как объединить список вариантов, чтобы определить, какой оператор выбора

1

У меня есть MySQL DB и использую PHP 5.2

То, что я пытаюсь сделать, это предложить список вариантов для человека на выбор (только 1). Выбранный параметр приведет к выполнению оператора выбора, обновления или удаления.

Результаты утверждения не нужно показывать, хотя показывать старое, а затем новое было бы неплохо (никаких проблем с этой частью.).

Псевдо-код:

Assign $choice = 0
Check the value of $choice  //  This way, if it = 100, we do a break
Select a Choice:<br>
  1.  Adjust Status Value (+60) // $choice = 1<br>
  2.  Show all Ships <br> // $choice = 2
  3.  Show Ships in Port <br> // $choice = 3
  ...  
  0.  $choice="100"  // if the value =100, quit this part

Используйте операторы case (switch) или if / else для запуска выбора пользователя1

If the choice is 1, then run the "Select" statement with the variable of $sql1
    --  "SELECT ....
If the choice is 2, then run the "Select" statement with the variable of $sql2
    --- SELECT * FROM Ships
If the choice is 3, then run the "Select" statement with the variable of $sql3  <br>
    ....
If the choice is 0, then we are done.

Я полагал, что (3) заявления будут назначаться в PHP как:

$sql1="...".
$sql2="SELECT * FROM Ships"
$sql3="SELECT * FROM Ships WHERE nPort="1"

Моя идея состояла в том, чтобы использовать оператор switch, но затерялся на нем. :(

Я хотел бы, чтобы опции были доступны снова и снова, пока не будет выбрана переменная ($ choice). В этом случае эта конкретная страница готова и возвращается к "Главное меню"?

Кодирование и отображение, если я его использую, я могу сделать. Просто не уверен, как написать способ выбрать тот, который я хочу. Вполне возможно, что я выполняю все запросы, а иногда и только один, поэтому я хотел бы выбрать. Область, в которой я запутался, это правильные формы, такие как ... ' " " а также ...??

Не уверен, что количество вариантов, которые я в конечном итоге, но будет больше 5, но меньше 20 / страницу. Так что, если я отключу систему на 2-3 варианта, я смогу воспроизвести ее столько, сколько потребуется. И, как всегда, если есть лучший способ, я готов попробовать.

Еще раз спасибо...

Larry

Ваш Ответ

1   ответ
0

переключатель хороший способ пойтиif-then тоже хорошо, в зависимости от потребностей.

Для вашего примера выговорить о чем-то вроде этого:

switch($choice) {
    case 1:
        $sql = $sql1="...".
        break;
    case 2:
        $sql2="SELECT * FROM Ships"
        break;
    case 3:
        $sql3="SELECT * FROM Ships WHERE nPort="1"
        break;
    default:
        // Do some default behavior - as you mentioned
}

Если ты'я хотел бы, чтобы это можно было повторно использовать, вы можете поместить его в функцию:

function getSQL($choice) {

    switch($choice) {
        case 1:
            $sql = $sql1="...".
            break;
        case 2:
            $sql="SELECT * FROM Ships"
            break;
        case 3:
            $sql="SELECT * FROM Ships WHERE nPort="1"
            break;
        default:
            // Do some default behavior - as you mentioned
    }
    return $sql;
}

Тогда вы можете просто назвать это так:

$mysql = getSQL($choice);

Похожие вопросы