|
|
|
| Народ есть страница, где преведены порядка 10 наименований, у них опция показывать/не показывать, там можно ставить галку, как сделать так, чтобы их можно было менять по несколько сразу. Внизу есть кнопка сохранить. | |
|
|
|
|
|
|
|
для: Hin
(23.06.2006 в 16:24)
| | В чём затруднение (вопрос)? | |
|
|
|
|
|
|
|
для: cheops
(23.06.2006 в 18:08)
| | У каждого наменования есть свой id, как передовать id и значения(скрывать/не скрывать), когда их много?? | |
|
|
|
|
|
|
|
для: Hin
(23.06.2006 в 18:27)
| | передавать через массивы входных параметров.
изменяемые параметры индексировать id'ами.
Давайте короткий пример - разберем. | |
|
|
|
|
|
|
|
для: Trianon
(23.06.2006 в 18:33)
| | Таблица для пользователя
| ID | Описание | Скрыть | Удалить |
| 16 | Купи его | checkbox | Del |
| 17 | Купи его 2 | checkbox | Del |
Если я поставлю галочку в двуж checkbox'ах и нажму на кнопку сохранить, то они передают скрипту данные, а скрипт должен для кажного id в БД записать данные (1показывать, 0 нет). Как забрать данные для каждого id? | |
|
|
|
|
|
|
|
для: Hin
(27.06.2006 в 16:49)
| | как вывдится строка таблицы?
while($row = mysql_fetch_array($res))
{
echo ???
}
|
| |
|
|
|
|
|
|
|
для: Trianon
(27.06.2006 в 18:28)
| | Да | |
|
|
|
|
|
|
|
для: Hin
(27.06.2006 в 18:49)
| | не "Да", а продолжите оператор echo.
Сформируйте им эти поля.
А потом мы вместе поправим. | |
|
|
|
|
|
|
|
для: Trianon
(27.06.2006 в 18:52)
| |
while($object=@mysql_fetch_array($query_view))
{
if($cur_class == "r1"){
$cur_class="r2";
}else{
$cur_class="r1";
}
echo "<TR class=".$cur_class.">
<TD><STRONG>".$object['id_ob']."</STRONG></TD>
<TD>".$object['date']."</TD>
<TD><A title='".$object['comment']."' href='index.php?edit=".$object['id_ob']."'>".$object['comment']."</A></TD>
<TD><div align='center'><input name=hide type='checkbox' value='".$object['hide']."'></div></TD>
<TD><A href='index.php?delete=".$object['id_ob']."'><IMG src='del.png'></A></TD></TR>";
}
|
Вот, как быть?? | |
|
|
|
|
|
|
|
для: Hin
(30.06.2006 в 14:46)
| | Как-то так...
while($object=@mysql_fetch_array($query_view))
{
if($cur_class == "r1"){
$cur_class="r2";
}else{
$cur_class="r1";
}
echo "<TR class=".$cur_class.">
<TD><STRONG>".$object['id_ob']."</STRONG></TD>
<TD>".$object['date']."</TD>
<TD><A title='".$object['comment']."' href='index.php?edit=".$object['id_ob']."'>".$object['comment']."</A></TD>
<TD><div align='center'><input name=hide type='checkbox[".$object['id_ob']."]' value='".$object['hide']."'></div></TD>
<TD><A href='index.php?delete=".$object['id_ob']."'><IMG src='del.png'></A></TD></TR>";
}
|
На входе скрипта окажется $_POST['checkbox'] , являющийся массивом, проиндексированным значениями столбца id_ob Вашей таблицы | |
|
|
|
|
|
|
|
для: Trianon
(30.06.2006 в 15:22)
| | А так можно??
<TD><div align='center'><input name='hide[".$object['id_ob']."] ' type='checkbox' value='".$object['hide']."'></div></TD>
|
А разве он будет кидать в массив данные об id_ob?
То тогда чтобы мне обновить данные для каждого этемента надо будет сделать такой запрос
for(i=0;$i<count($_POST['hide']);$i++){ mysql_query("UPDATE table SET hide="1" WHERE id_ob=".$_POST['hide'][$i].";");}
|
| |
|
|
|
|
|
|
|
для: Hin
(30.06.2006 в 16:00)
| | Да, конечно, я ошибся с атрибутом тега. )
можно и одним запросом, что-то вроде:
$list = implode(',',$_POST['hide']);
mysql_query("UPDATE table SET hide=1 WHERE id_ob IN($list)");
|
| |
|
|
|
|
|
|
|
для: Trianon
(30.06.2006 в 17:31)
| | Не работает, в строке пишет какуюто чушь
index.php?hide%5B11%5D=1&hide%5B35%5D=1
И еще у меня вот такой вопрос, проверка на наличие галки осуществляется так
if($object['hide'] == "1"){
echo "<TD class='np'><div align='center'><input name='hide[".$object['id_ob']."]' type='checkbox' value=".$object['hide']."></div></TD>";
}else{
echo "<TD class='np'><div align='center'><input name='hide[".$object['id_ob']."]' CHECKED type='checkbox' value='1'></div></TD>";
}
|
Помойму я немного намудрил, когда checkbox выделен (CHECKED), то когда галку снимаешь, hide'y значение 1 будет присваеваться?? | |
|
|
|
|
|
|
|
для: Hin
(03.07.2006 в 12:09)
| | Вы пытаетесь данные передавать методом GET, поэтому в строке адреса появляются параметры. Обычно данные формы передают методом POST: <form method=post action=.... >
Если галку снять, этот чекбокс вообще передан не будет.
Так что чекбоксы можно оличать просто по наличию их в списке.
Соответственно, каких-то конкретных значений им присваивать необязательно и уж коль скоро name = hide[$id] задано, то value='1' равно как и value=".$object['hide']." писать смысла нет. | |
|
|
|
|
|
|
|
для: Trianon
(30.06.2006 в 17:31)
| | А выборку из базы можно делать по томуже принцыпу. Тоесть есть данные в виде массива, его пропускаю через implode, а дальше сравниваю с значениями в колонке базы и как вывести все совпадения??
$list = implode(',',$_POST['hide']);
mysql_query("SELET * from table WHERE id_ob IN($list)");
|
| |
|
|
|