[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: запрос к базе циклом
E-SPAR
Можно ли вот это:
Свернутый текст
    foreach($_POST["num"] as $id => $num) {
if($num != "") {
$num = intval($num);
$id = intval($id);
mysql_query("UPDATE `table` SET `num` = '{$num}' WHERE id = '{$id}'");
}
}


foreach($_POST["name"] as $id => $name) {
if($name != "") {
$id = intval($id);
mysql_query("UPDATE `table` SET `name` = '{$name}' WHERE `id` = '{$id}'");
}
}


foreach($_POST["action"] as $id => $action) {
if($action != "") {
$id = intval($id);
mysql_query("UPDATE `table` SET `action` = '{$action}' WHERE `id` = '{$id}'");
}
}


foreach($_POST["icon"] as $id => $icon) {
if($icon != "") {
$id = intval($id);
mysql_query("UPDATE `table` SET `icon` = '{$icon}' WHERE `id` = '{$id}'");
}
}

записать более рационально? чтобы не делать n-ое количество запросов к базе



Спустя 24 минуты, 41 секунда (9.08.2010 - 16:05) FatCat написал(а):
Как-то так можно попробовать:
$valid_input = array("num", "name", "action", "icon");
foreach($_POST as $k=>$v)
{
if( in_array($k,$valid_input) )
{
foreach($v as $id=>$num)
{
if($k == "num")$num = intval($num);
if($num)mysql_query("UPDATE `table` SET `".$k."` = '".addslashes($num)."' WHERE id = '".intval($id)."'");
}
}
}

Спустя 15 минут, 23 секунды (9.08.2010 - 16:21) E-SPAR написал(а):
сенкс, отлично работает ))

а не подскажете почему вот это не хочет работать?

//HTML:
<input type=\"checkbox\" name=\"sep[{$id}]\" />

//PHP:
foreach(
$_POST["sep"] as $id => $sep) {

if(
$_REQUEST['sep'] == 'on') {
$sep = 1;
} else {

$sep = 0;
}


$id = intval($id);
mysql_query("
UPDATE `table` SET `sep` = '{$sep}' WHERE `id` = '{$id}'");
}

Спустя 3 минуты, 30 секунд (9.08.2010 - 16:24) Basili4 написал(а):
<input type=\"checkbox\" name=\"sep[{$id}]\" />
\" замени на "

Спустя 6 минут, 37 секунд (9.08.2010 - 16:31) E-SPAR написал(а):
боюсь, что дело не в этом
print("<input type=\"checkbox\" name=\"separator[{$id}]\" />");
тут вроде все правильно

Спустя 40 минут (9.08.2010 - 17:11) Michael написал(а):
Может вместо $_REQUEST все таки использовать что то поконкретнее типа $_GET или $_COOKIE ?

И ... раз в цикле проверка, то возможно:
$_REQUEST[$sep]

Спустя 1 час, 20 минут, 33 секунды (9.08.2010 - 18:31) Ice написал(а):
не
$_REQUEST[$sep]
а
$_REQUEST[$id]
скорее всего.

Спустя 14 минут, 12 секунд (9.08.2010 - 18:46) E-SPAR написал(а):
решил проблему по-другому
что к сожалению, отрицательно сказалось на юзабилити
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.