[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Почему обработчик запаздывает на шаг?
Олька87
Помогите пожалуйста разобраться. Имеется таблица MySQL (поля id, number и т.д.) в конце каждой строки радиокнопка:

echo '<th><input name="id" type="radio" value='.$r['id'].'></th>';


Отмечаю нужную строку, в поле ввода ввожу цыферку, и она отправляется в поле `number` в соответствующей строке:


$id = $_POST['id'] ;
$v = $_POST['number'];
if ($v and $id){

$upd = "UPDATE $table SET number = $v where id=$id ";
$result = mysql_query($upd) or die(mysql_error());
}


В итоге обновляется, но с запозданием на шаг. То есть я отмечаю, ввожу - ничего не происходит, делаю то же самое с другой строкой - выполняется предыдущий запрос.



Спустя 30 минут, 46 секунд (13.02.2010 - 22:16) sergeiss написал(а):
По-моему, ты просто не до конца понимаешь логику работы ПХП...

Объясняю. Это в других языках (например, в Си) ты можешь что-то выбрать в форме, и тут же выполнить какие-то действия. При использовании ПХП ты выбираешь параметры, и затем обязательно отправляешь их на сервер! Там они будут обработаны в скрипте, и будут сделаны заложенные тобой действия.

Если же ты хочешь выполнения действий без перезагрузки страницы, то тогда тебе нужен AJAX. Но это уже не ПХП, ПХП + асинхронный JavaScript.

Спустя 1 час, 57 минут, 41 секунда (14.02.2010 - 00:13) Олька87 написал(а):
Это вы намекаете, что у меня кнопки нету? так она у меня есть...

<form method=post action="<?php echo $_SERVER['PHP_SELF']."?db=$db&t=$table"?>"> 
<?php
echo "<td><input type=text name='number'></td></tr></table><br>";

$sql = mysql_query("SELECT * FROM $table") or die();

echo "<table">;

-------
Вывод таблицы------

echo '<th><input name="id" type="radio" value='.$r['id'].'></th>';

echo "</table>";

?>

<td><input type=submit name='add' value='Admit'></td>
</
form>

<?php

$id = $_POST['id'] ;
$v = $_POST['number'];
if ($v and $id){

$upd = "UPDATE $table SET number = $v where id=$id ";
$result = mysql_query($upd) or die(mysql_error());
}


Спустя 8 часов, 14 минут, 25 секунд (14.02.2010 - 08:28) twin написал(а):
У тебя обновление ниже вывода. Ты сначала читаешь старую запись из базы, потом только вносишь изменения. Поменяй их местами. И еще лучше сделать редирект, за одно убъёшь отработанный POST.

Спустя 3 часа, 15 минут, 19 секунд (14.02.2010 - 11:43) Олька87 написал(а):
Все, исправила biggrin.gif Спасибо!
Быстрый ответ:

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