2017-01-13 9 views
-1

を非表示にするには、文の場合、このボタンは、それがデータの一部を示しているかどう決める:MySQLの - 私はラジオボタンを使用してフォームを持って列

= 0

<input type="radio" name="IncludeData" value="1" />Yes 
<input type="radio" name="IncludeData" value="0" />No 

はい= 1、なし

私は、データを呼び出すために、このクエリを使用しています:

$IncludeData = $_POST['IncludeData']; 
$sql = "SELECT data1, data2, data3, IF($IncludeData='0',Null,data4), data4, data5 FROM Database ORDER BY data1 asc"; 

私はこの質問から答えを、次の試してみた:MYSQL hide field data if value in another field is set

ただし、ラジオボタンで選択した内容に関係なく常にデータを保持しているようです。どんな助けでも大歓迎です。

私はからデータをつかむ場所です:

<td> 
Sort table on = 
<select name="Sort"> 
<option value="data1" selected="selected">Example1</option> 
<option value="data2">Example2</option> 
<option value="data3">Example3</option> 
<option value="data4">Example4</option> 
<option value="data5">Example5</option> 
</select> 
</td> 
+0

についてのあなたにも 'その後のフィールドでdata4'をが何をしています。 'No'を選択すると' data1、data2、data3、NULL、data4、data5'、 'Yes'を選択すると' data1、data2、data3、data4、data4、data5'が得られます。 。 – Barmar

+0

これは、この 'IF'のエイリアスであることを意味しているかもしれませんので、' IF(...)AS data4'にする必要があります。 – Barmar

+0

私は最初はあまりにも@Barmarだと思った。しかし、IF文の後ろから 'data4'を削除しても何も表示されませんでした。はいを選択した場合でも... – Lag

答えて

3

このような何か?:

$IncludeData = $_POST['IncludeData'] ? 'data4, ' : ''; 
$sql = "SELECT data1, data2, data3, $IncludeData data5 FROM Table ORDER BY data1 ASC"; 
+0

あなたはそれに私を打つ – RST

+0

申し訳ありませんが、 '$ IncludeData'はフィールドに関連付けられておらず、0と1にのみ関連付けられています。したがって、データが含まれているかどうか、データは含まれていません。 – Lag

+0

私が知っているのは、$ includeDataが1の場合、data4列がインクルードされ、$ includeDataが0の場合、data4はインクルードされません。 – aperpen

関連する問題