2013-05-29 2 views
0

Что я хочу сделать следующее:Вставить в mysql, но выбрать, когда показывать ...?

человек делает новое сообщение, скажем, это сообщение для последних новостей. После заполнения формы он/она имеет переключатель или флажок, чтобы сразу отображать последние новости или ждать утверждения. Я попытался сделать столбец «видимым» с тином tinyint ... но не повезло, потому что сообщение отображается независимо от того, имеет ли значение tinyint значение «0» или «1». Я делаю это неправильно? '0' = false, '1' = true, правильно?

Пример:

$headline = $_POST['headline']; 
$news = $_POST['news_text']; 
$visible = $_POST['visible']; 

$query = "INSERT INTO news (headline, news_text, visible) VALUES ($headline,  $news_text, $visible"); 

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

Казаться немного скучно ... Помощь ценится ...

+0

Что касается синтаксиса, вы должны изменить свой VALUES to: VALUES ($ headline, $ news, $ visible) ". Кроме того, вашим входным значениям требуется конечная двойная кавычка. – StaticVoid

+1

' value = "0' и' value = "1 'отсутствуют закрывающие кавычки. уязвим для [SQL-инъекций] (http://bobby-tables.com). Не используйте этот код как есть до тех пор, пока вы не узнаете об этом и не найдете у меня проблема –

+0

ОК, благодарю за то, что вы сказали, что это просто опечатка, это просто пример, чтобы понять, в чем моя проблема ... с правильным синтаксисом, tiniyint со значением строки 0 show show от mysql. Поэтому мой вопрос: я делаю это неправильно ... Спасибо – milos

ответ

1

Убедитесь, что visible поле имеет тип INT поля (или TINYINT), и только убедитесь, что вы используйте значение 0 или 1 для значения этого поля.

Так что ваш стол должен выглядеть следующим образом:

+----------+-----------+---------+ 
| headline | text  | visible | 
+----------+-----------+---------+ 
| Test 1 | Text One | 0  | 
| Test 2 | Text Two | 1  | 
+----------+-----------+---------+ 

Затем, когда вы идете, чтобы отобразить статьи (только если видимость 1):

SELECT headline, text 
FROM tableName 
WHERE visible = 1 
+0

ГДЕ чего не хватает .. все хорошо сейчас ... спасибо – milos

Смежные вопросы