Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблема в input type="checkbox"

3.0K
10 августа 2006 года
NetWork
77 / / 10.08.2006
Собственно я захотел сделать следующие:

В каталоге товаров мы хотим пометить определённый товар как лучший “top”.
Помечать товар я решил с помощью type="checkbox
Всё сделали, но не легко запомнить то какой товар имеет статус “top” и для этого нам нужно сделать так чтобы <input type="checkbox" name="top" value="1"> сохраняла значение, которое ей задали и так чтобы если я, потом поменяю значение оно тоже сохранялось.

Значение берётся из $f[top]

Помогите решить проблему.
8
10 августа 2006 года
mfender
3.5K / / 15.06.2005
А в чём проблема-то? Поточнее можно изложить?
На чём всё это делается? И что должно сохраняться в случае, если потом его значение меняется?
16K
10 августа 2006 года
AD1237
20 / / 07.06.2006
хм... данные в БД хранятся? если да, то оч. просто всё...

добавляешь ещё один параметр... top и всё...

если ты у себя нажал на чекбокс а после на кнопочку "сохранить изменения", то просто в мускуль запрос добавляешь апдейт и всё)
2.8K
10 августа 2006 года
Unglued
119 / / 15.09.2005
Цитата:
но не легко запомнить то какой товар имеет статус “top”

Цитата:
Значение берётся из $f[top]


Либо я чего-то не понимаю, либо я чего-то не понимаю, либо одно из трех...

Цитата:
<input type="checkbox" name="top" value="1"> сохраняла значение, которое ей задали и так чтобы если я, потом поменяю значение оно тоже сохранялось.


В этом случае надо использовать <input type="hidden" name="top" value="1"> т.к. это поле сохранит любое значени не обращая никакого внимания на действия пользователя (кроме перезагрузки страницы)

3.0K
10 августа 2006 года
NetWork
77 / / 10.08.2006
Немного решил проблему.

Делаю вот так.

Но и опять не могу сделать что хочу так как.

Я вывожу это вот так.
 
Код:
$result= mysql_query("SELECT * FROM " . PREFIX . "_hardware");
while ($f = mysql_fetch_array($result))
        {
       
<input type="checkbox" name="top" value="1" <? if($f[top]) echo "checked"; ?> >

        }


Ошибка такая Parse error: parse error, unexpected '<'

как можно исправить это?

если делать через

echo"
<input type=\"checkbox\" name=\"top\" value=\"1\" <? if($f[top]) echo "checked"; ?> >
";
то <? if($f[top]) echo "checked"; ?> не будет работать.

Вот такая беда :)
8
10 августа 2006 года
mfender
3.5K / / 15.06.2005
[QUOTE=NetWork]
если делать через

echo"
<input type=\"checkbox\" name=\"top\" value=\"1\" <? if($f[top]) echo "checked"; ?> >
";
то <? if($f[top]) echo "checked"; ?> не будет работать.
[/QUOTE]
Ты чего, любезный? :) Так в этом вся беда? :D
Зачем ты в тексте php ещё пишешь <? ... ?> ???
 
Код:
$checked = $f[top] ? "checked" : "";
 echo "<input type=\"checkbox\" name=\"top\" value=\"1\" {$checked}>";


Всё, болше там ничего выдумывать не надо.

Можешь даже для таких случаев написать ф-цию и положить её в библиотеку, которую подключаешь всегда:
 
Код:
function GetChecked(&$Value){
    return !is_null($Value) && $Value != 0 ? " checked" : "";
}


Соответственно, в твоём случае всё это может с нею выглядеть так:
 
Код:
echo "<input type=\"checkbox\" name=\"top\" value=\"1\" ". GetChecked($f['top']) .">";
8
10 августа 2006 года
mfender
3.5K / / 15.06.2005
О! Или вообще вот так:
 
Код:
printf ("<input type=\"checkbox\" name=\"top\" value=\"1\"%s>", GetChecked($f['top']));
:) :)

или, если не хочешь ф-ю задействовать, то
 
Код:
printf ("<input type=\"checkbox\" name=\"top\" value=\"1\"%s>", $f['top'] ? " checked" : "");
3.0K
10 августа 2006 года
NetWork
77 / / 10.08.2006
Большое спасибо.:)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог