1

私はmysql dbを持っていて、php 5.2を使用しています

私がやろうとしているのは、人が選択できるオプションのリストを提供することです (1 つだけ)。選択したオプションにより、select、update、または delete ステートメントが実行されます。

ステートメントの結果を表示する必要はありませんが、古いものを表示してから新しいものを表示するとよいでしょう (その部分に問題はありません)。

擬似コード:

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) が選択されるまで、何度でもオプションを利用できるようにしたいと思います。どの場合、この特定のページは完了し、「メイン メニュー」に戻りますか?

コーディングと表示は、私が使えばできます。私が欲しいものを選択する方法を書く方法がわからないだけです。すべてのクエリを実行することもあれば、1 つだけを実行することもあります。そのため、選択したいと思います。私が混乱する領域は、 -- ' ' " " や ...?? などの使用する適切な形式です

最終的なオプションの数はわかりませんが、1 ページあたり 5 を超えて 20 未満になります。したがって、システムを停止して 2 ~ 3 の選択肢を選択した場合、必要なだけ複製することができます。そして、いつものように、より良い方法があれば、喜んで試してみたいと思います。

再度、感謝します...

ラリー

4

1 に答える 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);
于 2012-11-14T22:57:49.417 に答える