Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: checkbox

Сообщения:  [1-4] 

 
 автор: fiper   (22.10.2007 в 15:42)   письмо автору
 
   для: EXP   (20.10.2007 в 14:07)
 

Спасибо!

   
 
 автор: EXP   (20.10.2007 в 14:07)   письмо автору
 
   для: EXP   (20.10.2007 в 12:47)
 

понял как одним запросом делается
<? 
$list 
implode(', '$pub); 

$sql "UPDATE cat  SET pub=CASE WHEN 
id IN (" 
$list ")  
THEN  '1'  
ELSE  '0'
END  ;"
;
# или так
$sql "UPDATE cat  SET pub = IF( id IN(" $list "),  
'1',  
'0' );"
;

   
 
 автор: EXP   (20.10.2007 в 12:47)   письмо автору
 
   для: fiper   (19.10.2007 в 22:09)
 

непонятно , все ряды таблицы меняются за один раз ?
вместо двух циклов можно сделать тогда два запроса так
<?
$list 
implode(', '$pub);
$sql1 "UPDATE cat 
SET pub= '0'
WHERE id NOT IN(" 
$list ");";

$sql2 "UPDATE cat 
SET pub= '1'
WHERE id IN(" 
$list ");";


одним запросом незнаю можно-ли сделать

   
 
 автор: fiper   (19.10.2007 в 22:09)   письмо автору
 
 

форма



<form action='' method=post>
<input name=pub[] type=checkbox value='$row[id]' >
<input type=submit value='Сохранить' name=save_set_cat>
</form>


Код



if(isset($_POST['save_set_cat'])){

$sql_count=mysql_query("SELECT count(id) FROM `cat`");

$con=mysql_fetch_row($sql_count);

$sql=mysql_query("SELECT * FROM `cat`");

$row=mysql_fetch_array($sql);



for($i=0;$i<=$con[0];$i++) $sql=mysql_query("UPDATE `cat` set `pub`='0'  where id='$i' ") or die('Ошибка'.mysql_error());


$d=count($pub);

for($i=0;$i<=$d;$i++){
if(isset($pub[$i])){
$sql=mysql_query("UPDATE `cat` set `pub`='1'  where id='$pub[$i]' ") or die('Ошибка'.mysql_error());
}
}


}

Еси поставлена галочка добаляется 1 иначе 0. Знаю, что можно сделать по другому

Помогите упростить.

   

Сообщения:  [1-4] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования