то есть сбоку имя продукции а справа два переключателя (true and false)
и так вывожу все строчки из таблицы. Первый вопрос как посчитать выведенное кол во строк.
Второе после передачи я присваиваю каждой продукции свою переменную (вот из-за чего надо высчитывать количество выведенных строк, так вот как весь этот товар Обновить за раз
Спустя 12 минут, 56 секунд (30.01.2012 - 16:53) Игорь_Vasinsky написал(а):
$sql = "UPDATE 1; UPDATE 2; .... UPDATE 10";
mysql_query($sql);
Спустя 1 минута, 52 секунды (30.01.2012 - 16:55) inpost написал(а):
Игорь_Vasinsky
Не будет же работать Зачем советуешь
Kurenchuks
Ничего непонятно. Особенно содержание отличается от заголовка.
Не будет же работать Зачем советуешь
Kurenchuks
Ничего непонятно. Особенно содержание отличается от заголовка.
Спустя 1 минута, 5 секунд (30.01.2012 - 16:56) Игорь_Vasinsky написал(а):
в PMA работает если запросы ";" разделять - а тут почему нет?
Спустя 2 минуты, 44 секунды (30.01.2012 - 16:59) inpost написал(а):
Игорь_Vasinsky
Потому что mysql не поддерживает множественные запросы
mysqli только поддерживает!
Потому что mysql не поддерживает множественные запросы
mysqli только поддерживает!
Спустя 4 минуты, 3 секунды (30.01.2012 - 17:03) Игорь_Vasinsky написал(а):
ну тады mysql_multi_query() в помощь!
Спустя 47 минут, 10 секунд (30.01.2012 - 17:50) sergeiss написал(а):
Цитата (Игорь_Vasinsky @ 30.01.2012 - 19:03) |
ну тады mysql_multi_query() в помощь! |
...или сразу за PostgreSQL браться... Там можно в одном (множественном) запросе много чего сделать.
Спустя 23 минуты, 35 секунд (30.01.2012 - 18:13) dadli написал(а):
Kurenchuks
прочитаите про CASE WHEN, может пригадится
прочитаите про CASE WHEN, может пригадится
Спустя 15 минут, 19 секунд (30.01.2012 - 18:29) Игорь_Vasinsky написал(а):
ты имеешь ввиду что манипулируя условиями - можно подставить хоть скока запросов?
Спустя 1 месяц, 5 дней, 1 час, 35 минут, 49 секунд (5.03.2012 - 20:05) Pride_St написал(а):
Насколько я понял проблему самая примитивная реализация:
Писал как идею сходу, неисключены ошибки
//Вывод "формы"
echo "<form action='URL скрипта, который будет вносить изменения в базу' method='post'>";
$result=mysql_query("SELECT id, name, on_off FROM prodykciya");
$i=0;
echo '<table>';
while ($row=mysql_fetch_row($result)) {
if ($row[2]) $checked="checked";//проверка on_off===true
else $checked="";
//Выводим очередной товар и переключатель, например табличной версткой
echo "
<tr>
<td>Наименование: ".$row[1]."</td>
<td>
<input type='checkbox' name=''check_box[] ".$checked.">
<input type='hidden' name='id[]' value=".$row[0].">
</td>
</tr>";
$i++;
}
</table>
echo '<input type='hidden' name='summ_of_produkts' value=' ".$i." '>';
echo '</form>';
//Инкрементарное вычисление суммы можно заменить запросом типа
//$summ=mysql_query('SELECT COUNT(produkt_name) FROM produkts');
//В скрипте- обработчике считываем сумму из автоглобального
//массива $_POST['summ_of_produkts'], также как и массив значений переключателей
//Аналогично в цыкле производим построчную запись в базу
for($i=0; $i<$_POST['summ_of_produkts']; $i++) {
if (!mysql_query("UPDATE produkts SET on_off=".$_POST["check_box"][$i]." WHERE id=".$_POST["id"][$i])) {
$error=1;
breack;
}
}
//т.к. скрипт ничего не выводит для красоты можно сделать в
//конце обратный редирект (я бы так и сделал)
header("location: http://фдрес исходного скрпита.php?on_error=".$error);
//В исходном скрипте читаем $_GET['on_error'] и пишем либо "данные внесены" либо "ошибка"
//можно даже пересылать 2 параметра и указывать в какой строке
Писал как идею сходу, неисключены ошибки
Спустя 1 месяц, 16 дней, 18 часов, 6 минут, 13 секунд (22.04.2012 - 14:11) ruzarh написал(а):
INSERT INTO table (a,b,c) VALUES (4,5,6),(4,5,6),(4,5,6),(4,5,6)
ON DUPLICATE KEY UPDATE a=values(a);
Все работает и все существует