$result2 = mysql_query("SELECT * FROM Szap where numj='$buff22'");-------------- Это чтение
$myrow2 = mysql_fetch_array($result2);
do
{
printf ("<p><input name='id' type ='checkbox' value='%s'><label> %s</label></p>",$myrow2["idD"],$myrow2["famzap"]);
}
while ($myrow2 = mysql_fetch_array($result2));
?>
<input name="add2" type="submit" value="Добавить" />
------------ Это запись
<? if (@$_REQUEST['add2']) {
$query55 = "UPDATE Szap SET BrakSotr = '1' WHERE idD ='".$myrow2['idD']."'";
$result55 = mysql_query($query55) or die("Query failed");
?>
Спустя 13 минут, 8 секунд (11.05.2012 - 22:07) rooor написал(а):
$result55 = mysql_query($query55) or die(mysql_error());
Спустя 4 минуты, 36 секунд (11.05.2012 - 22:11) Liancourt написал(а):
Посмотрел, исправил, мне надо было не idD поле брать idszap, но, к сожалению, все равно не записывает мою единичку..
Спустя 5 минут, 4 секунды (11.05.2012 - 22:16) rooor написал(а):
ошибку какую пишет?
Спустя 1 минута, 55 секунд (11.05.2012 - 22:18) Liancourt написал(а):
не пишет ошибок теперь, но единичку не записывает
Спустя 15 минут, 54 секунды (11.05.2012 - 22:34) bodja написал(а):
if (isset($_REQUEST['add2']))
Спустя 5 минут, 32 секунды (11.05.2012 - 22:40) Liancourt написал(а):
Не помогло...
Спустя 2 минуты, 24 секунды (11.05.2012 - 22:42) sergeiss написал(а):
Майн гот... Ну до каких пор будем с "поповщиной" бороться? Я это о том, что надо использовать цикл while(){} для чтения данных! Никаких do-while() тут не должно быть!!! С этого начни.
Спустя 2 минуты, 2 секунды (11.05.2012 - 22:44) Liancourt написал(а):
Да какая разница в принципе, блок мой с чтением работает, а с записью нет.
Спустя 3 минуты, 4 секунды (11.05.2012 - 22:47) bodja написал(а):
Liancourt
покажите ,что у вас в ХТМЛ вышло.
покажите ,что у вас в ХТМЛ вышло.
Спустя 9 секунд (11.05.2012 - 22:47) rooor написал(а):
sergeiss
да там всё переписывать надо))
Liancourt
а вот так?
да там всё переписывать надо))
Liancourt
а вот так?
if (isset($_REQUEST['add2']))
{
echo 1;
$query55 = "UPDATE `Szap` SET `BrakSotr` = 1 WHERE `idD` ='".$myrow2['idD']."'";
$result55 = mysql_query($query55) or die(mysql_error());
}
Спустя 16 секунд (11.05.2012 - 22:48) inpost написал(а):
if (@$_REQUEST['add2']) {
*facepalm* , и не ты виноват, а кто тебя учил такому.
Ты проверяешь, а точно ли переменная == TRUE, не существует (для существования есть isset, а именно true\false, при этом не доволен из-за того, что её может не быть и поэтому собаку влепил... Это ужасно! Для этого есть иссет
*facepalm* , и не ты виноват, а кто тебя учил такому.
Ты проверяешь, а точно ли переменная == TRUE, не существует (для существования есть isset, а именно true\false, при этом не доволен из-за того, что её может не быть и поэтому собаку влепил... Это ужасно! Для этого есть иссет
Спустя 2 минуты, 29 секунд (11.05.2012 - 22:50) sergeiss написал(а):
Цитата (Liancourt @ 11.05.2012 - 22:44) |
Да какая разница в принципе |
Разница в том, что при виде такого кода у меня "состояние полного нестояния" А именно, я даже думать не могу над какими-то проблемами, пока такие ляпы в коде.
И еще разница в том, что изначально надо привыкать к "правильному" кодированию. Чтобы потом не было мучительно больно за ошибки.
Плюс ко всему (это к вопросу "правильных привычек"), переменным лучше давать осмысленные имена, а не $query55, $query666 и им подобные.
Спустя 2 минуты, 44 секунды (11.05.2012 - 22:53) Liancourt написал(а):
sergeiss, Вывел единичку мне, а в табличку так и не записал
Спустя 2 минуты, 7 секунд (11.05.2012 - 22:55) Liancourt написал(а):
Сделал как roor сказал, вывел единичку, а в таблицу не записывает
Спустя 2 минуты, 45 секунд (11.05.2012 - 22:58) inpost написал(а):
А запись тут при чём? У тебя обновление записи.
И я уверен, что обновление прошло успешно, но так как у тебя записей с `idD` ='".$myrow2['idD']."', то и 0 записей обновилось успешно!
И я уверен, что обновление прошло успешно, но так как у тебя записей с `idD` ='".$myrow2['idD']."', то и 0 записей обновилось успешно!
Спустя 57 секунд (11.05.2012 - 22:59) rooor написал(а):
да... а где $myrow2['idD'] ? откуда она должна появиться?
Спустя 6 минут, 41 секунда (11.05.2012 - 23:05) Liancourt написал(а):
ну в этом и дело, не знаю как записать данные в мою таблицу. мне нужно, чтобы в БД обновилась информация, а именно записалась единица напротив чека, который я поставил
Спустя 5 минут, 6 секунд (11.05.2012 - 23:11) rooor написал(а):
if (isset($_REQUEST['add2']) && !empty($_REQUEST['id']))
{
$query55 = "UPDATE `Szap` SET `BrakSotr` = 1 WHERE `idD` ='".(int)$_REQUEST['id']."'";
$result55 = mysql_query($query55) or die(mysql_error());
}
Спустя 12 секунд (11.05.2012 - 23:11) inpost написал(а):
ты бы хоть сказал, что это за переменная, откуда она берётся.
Спустя 6 минут, 19 секунд (11.05.2012 - 23:17) Liancourt написал(а):
Roor, все равно не записывает
Спустя 2 минуты, 56 секунд (11.05.2012 - 23:20) Liancourt написал(а):
Переменная $myrow2['idD'] - это поля моей таблички цифровые, как раз по ним я и отбираю то, что мне нужно из всех записей
Спустя 3 минуты, 44 секунды (11.05.2012 - 23:24) rooor написал(а):
тогда поехали с самого начала))
чтобы отправить данные из формы обработчику, нужна сама форма
у тебя я её не увидел.
При выводе данных из базы, каждую запись вставляй между тегами <form></form>, ну и ещё надо добавить в какой файл отправлять запрос и каким способом.
Вобщем, если учишься - читай про <form></form>, $_GET, $_POST
чтобы отправить данные из формы обработчику, нужна сама форма
у тебя я её не увидел.
При выводе данных из базы, каждую запись вставляй между тегами <form></form>, ну и ещё надо добавить в какой файл отправлять запрос и каким способом.
Вобщем, если учишься - читай про <form></form>, $_GET, $_POST
Спустя 3 минуты, 33 секунды (11.05.2012 - 23:27) Liancourt написал(а):
Это я вставил
<form name="form1" method="post" >но ничего не выходит
<input name="add2" type="submit" value="Добавить" />
</form>
Спустя 6 минут, 34 секунды (11.05.2012 - 23:34) rooor написал(а):
вот) начало есть.
всё, что есть в этой форме - отправляется обработчику. в данном случае отправляется только поле add2, т.е. обработчик получает данные в виде $_POST['add2'] и больше ничего, значит в эту форму надо ещё добавлять чекбокс с id
всё, что есть в этой форме - отправляется обработчику. в данном случае отправляется только поле add2, т.е. обработчик получает данные в виде $_POST['add2'] и больше ничего, значит в эту форму надо ещё добавлять чекбокс с id
Спустя 10 минут, 35 секунд (11.05.2012 - 23:44) Liancourt написал(а):
Ну смотри что получилось
<form id="form111" name="form1111" method="post" >
<?
$result2 = mysql_query("SELECT * FROM Szap where numj='$buff22'");
$myrow2 = mysql_fetch_array($result2);
do
{
printf ("<p><input name='id' type ='checkbox' value='%s'><label> %s</label></p>",$myrow2["idszap"],$myrow2["famzap"]);
}
while ($myrow2 = mysql_fetch_array($result2));
?>
<input name="add2" type="submit" value="Добавить" />
</form>
<? if (isset($_REQUEST['add2'])) {
$bom=1;
$query55 = "UPDATE Szap SET BrakSotr = '$bom' WHERE idszap ='".$myrow2['idszap']."'";
$result55 = mysql_query($query55) or die(mysql_error());
echo $myrow2["idszap"];
}?>
Спустя 1 минута, 5 секунд (11.05.2012 - 23:46) Liancourt написал(а):
и все равно безрезультатно
Спустя 5 минут, 5 секунд (11.05.2012 - 23:51) rooor написал(а):
опять... вот где у тебя $myrow2['idszap']? откуда это должно появиться?
давай так...
пропиши этот код, и смотри что там есть, только внимательно смотри) если ничего не увидишь, напишу ответ)
давай так...
пропиши этот код, и смотри что там есть, только внимательно смотри) если ничего не увидишь, напишу ответ)
<?php
if (isset($_REQUEST['add2'])) {
echo "<pre>";
print_r($_POST);
echo "</pre>";
$bom=1;
$query55 = "UPDATE Szap SET BrakSotr = '$bom' WHERE idszap ='".$myrow2['idszap']."'";
$result55 = mysql_query($query55) or die(mysql_error());
echo $myrow2["idszap"];
}?>
Спустя 3 минуты, 43 секунды (11.05.2012 - 23:54) Liancourt написал(а):
Вывел
Array
(
[id] => 5
[add2] => Добавить
)
Array
(
[id] => 5
[add2] => Добавить
)
Спустя 4 минуты, 45 секунд (11.05.2012 - 23:59) rooor написал(а):
это всё, что тебе из формы прилетело.
в форме ты указал метод POST, значит и данные у тебя лежат в массиве $_POST.
соответственно sql-запрос у тебя должен выглядеть так:
в форме ты указал метод POST, значит и данные у тебя лежат в массиве $_POST.
соответственно sql-запрос у тебя должен выглядеть так:
$query55 = "UPDATE `Szap` SET `BrakSotr` = 1 WHERE `idszap` =".(int)$_POST['id'];
Спустя 2 минуты, 51 секунда (12.05.2012 - 00:02) Liancourt написал(а):
Получается, но только последнюю мою отметку, тут цикл наверно нужен, поможешь с этим?
Спустя 8 минут, 14 секунд (12.05.2012 - 00:10) rooor написал(а):
ну так какой id, в такой записи и обновление проходит