2012-05-06 18 views
1

INSERTクエリの時点で$variableが異なる値を取ることは可能ですか?私の声明が偽である場合、どうすればこれを達成できますか? ありがとうございます。IFステートメントで2つの異なる値を取る変数

if(isset($_GET['id'])) { 
    $variable = "Foo" ; 
    } 

    elseif (!isset($_GET['id'])) { 
    $variable = "Bar" ; 
    } 

$sql = mysql_query("INSERT INTO tbl 
      tbl_id, variable 
       VALUES('$id', '$variable'"); 
+0

を使用しています。あなたの現在のコードがうまくいくので、そこに問題はありません。私がお勧めするのは、あなたの現在の 'elseif()'の代わりに 'else {...}'を使うことだけです。 – Bojangles

+0

IDが設定されているかどうかに応じて、データベースに値を挿入しようとしています。私は変数名を変更する場合、2つの値のいずれかをデータベースに入力する必要があります、私は2つの挿入ステートメントを記述する必要がありますか? –

+0

何が起こるか試してみませんか? – ZeroOne

答えて

0

1つの変数は、一度に1つの値しか保持できず、コード内で有効です。 idが利用可能な場合には、Fooがあるでしょうそれ以外の場合は、Barがあるでしょうし、次のように別の方法としては、1行でそれを書くことができます。

$variable=isset($_GET['id']) ? 'Foo' : 'Bar'; 

は、次に、あなたのスクリプトで後で $variable変数を使用することができます。少なくとも1つの値 Fooまたは Barが含まれます。

+0

後者は私がデータベースに入っているものです。問題がどこにありますか? –

+0

'$ variable'が少なくともonの値を持つため、' Foo'または 'Bar'がデータベースに挿入されます。 –

+0

私はまだ問題を本当に得ていませんが、この回答が@ user1378680の問題を解決してうれしいです。 :P – ZeroOne

0

いいえANY言語の変数は、任意の時点で1つの値しか持つことができません。 2つの異なる値を使用する場合は、2つの異なる変数が必要です。

+0

IDが設定されているかどうかに応じて、データベースに値を挿入しようとしています。私は変数名を変更する場合、2つの値のいずれかをデータベースに入力する必要があります、私は2つの挿入ステートメントを記述する必要がありますか? –

+0

あなたの質問はナンセンスです。 'insert into tbl(tbl_id、foo)の値(?、 'foo')'は意味がありません。なぜdynmaicallyフィールド名を指定し、次にそのフィールドの値をフィールド名に設定しますか? –

+0

それはタイプミスでした。私は更新しました。 –

0

これは$ variableがFOOまたはBARに割り当てられ、データベースに挿入されるため有効です。ただし、変数$ variableは条件文に応じて1つの値しか含みません。

+0

IDが設定されているかどうかに応じて、データベースに値を挿入しようとしています。私は変数名を変更する場合、2つの値のいずれかをデータベースに入力する必要があります、私は2つの挿入ステートメントを記述する必要がありますか? –

+0

あなたがプログラムしたものは正しいものであり、これを達成します。 2つのINSERT文は不要です。 – user1378687

0

もっと明確なステートメントは次のとおりです。

if(isset($_GET['id'])) { 
     $my_variable = "Foo" ; 
     } 
    else{ 
     $my_variable = "Bar" ; 
     } 

このコードを実行した後、あなたが値を持っている$ my_variableがあるでしょう:

Foo(idがGETメソッドで送信された場合)OR

Bar (IDがGETメソッドで送信されなかった場合)

だから、後でどこでも変数を使うことができます。

あなたは変数の値をcheackしたい場合は、それはあなたが実際に求めているものは不明だ

echo $my_variable; 
+0

ありがとう... elseで$ my_variableのために動的に生成されたコンテンツを持っていたい場合はどうすればいいですか? –

+0

問題なく、希望通りに生成してください。もしunswerが役に立ったらplsが投票します。 – DaneSoul

関連する問題