Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Неврублюсь, апдейт поля timestamp. (php, mysql)
цитата
27/12/07 в 14:03
 Lamagro
толи лыжи не едут толи я ...
Есть таблица в мускуле, в ней некое колличество записей. Одно из полей timestamp. Апдэйчу: ставлю текущую дату:
Код:
$query = ("UPDATE table SET timefield=NOW() WHERE number='$num'");
$result = mysql_query($query);

потом делаю выборку с сортировкой по timestamp:
Код:
$query = "SELECT * FROM table ORDER BY timefield ASC LIMIT 0,10";
$result = mysql_query($query);

и не вижу в этой выборке той записи которую апдэйтил...
Почему ?
Делаешь апдэйт нескольких записей - нет последней...
В общем нид хэлп
цитата
27/12/07 в 14:08
 Sha
А LIMIT не срезает ? У тя по возрастанию выборка. мож DESC нада ?
цитата
27/12/07 в 19:07
 Lamagro
А LIMIT и не должен срезать после апдейта обновленная запись должна стоять на 1-м месте, только ее почему-то нет, не пойму почему ...
Если лимит не указываешь и выводишь все записи, обновленной записи всерно нет ...

я думаю может какой-нить глюк smail31.gif
странно как-то ...

п.с. хотя через пхпадмин и вижу нормально и сортируется нормально, не знаю вобщем, потому прошу совета
цитата
27/12/07 в 19:47
 dDan
Код:
$query = ("UPDATE table SET timefield=(SELECT NOW()) WHERE number='$num'");
цитата
27/12/07 в 19:48
 Sha
Lamagro писал:
А LIMIT и не должен срезать после апдейта обновленная запись должна стоять на 1-м месте, только ее почему-то нет, не пойму почему ...

Так у тебя обновленная запись на последнем месте поскольку сортировка по возрастанию. Я ж писал.
цитата
28/12/07 в 10:48
 Lamagro
Sha писал:
Так у тебя обновленная запись на последнем месте поскольку сортировка по возрастанию. Я ж писал.
я же написал что ее нет не поэтому, даже если без лимита выводишь все записи - ее всеравно нет. Последней апдейченной записи - нет!
цитата
28/12/07 в 11:27
 Lamagro
dDan писал:
Код:
$query = ("UPDATE table SET timefield=(SELECT NOW()) WHERE number='$num'");
ничего не изменилось... точно также выводит на одну запись меньше, не выводит именно ту запись, которую апдэйчу последней
цитата
28/12/07 в 11:30
 Sha
Lamagro писал:
я же написал что ее нет не поэтому, даже если без лимита выводишь все записи - ее всеравно нет. Последней апдейченной записи - нет!

А через пхпадмин ты видишь её с обновленным таймстампом или со старым ?
Что возвращает апдейт в $result ?
Мож у тебя что-то с $num ?
Попробуй сделать сразу после апдейта
Код:

$query = ("SELECT * FROM table WHERE number='$num'");
$result = mysql_query($query);


ЗЫ попробуй
SET AUTOCOMMIT = 1
цитата
28/12/07 в 11:47
 Lamagro
Sha писал:
А через пхпадмин ты видишь её с обновленным таймстампом или со старым ?
с обновленным! и сортируется все нормально! И sql-запросы передаются phpadminom теже самые ...
Sha писал:
Что возвращает апдейт в $result ?
возвращает: 1
Sha писал:
Мож у тебя что-то с $num ?
С $num поидее все впорядке, ведь phpadmin показал что апдэйт нужной записи прошел успешно...
Sha писал:
Попробуй сделать сразу после апдейта
Код:

$query = ("SELECT * FROM table WHERE number='$num'");
$result = mysql_query($query);


ЗЫ попробуй
SET AUTOCOMMIT = 1

счас попробую...

п.с.
кстати если делаешь вывод после апдэйта с сортировкой не по полю timestamp, а по полю num например - выводит все записи как обычно ...
цитата
28/12/07 в 11:59
 Sha
Lamagro писал:
п.с.
кстати если делаешь вывод после апдэйта с сортировкой не по полю timestamp, а по полю num например - выводит все записи как обычно ...

Мож с индексами какай-та хрень ? Можно попробовать модифицировать структуру удалив индекс по таймстампу (если есть) и создать заново.
цитата
28/12/07 в 12:21
 Lamagro
Sha писал:
Мож с индексами какай-та хрень ? Можно попробовать модифицировать структуру удалив индекс по таймстампу (если есть) и создать заново.
удалил уже все - не помогло...

Код:
$query = ("SELECT * FROM table WHERE number='$num'");
$result = mysql_query($query);
сделал - выдало нужную запись как положено... все нормально - должно работать, а нехочет...

причем колличество записей в выдаче 40, а выдает 39
цитата
28/12/07 в 13:34
 Sha
Lamagro писал:
причем колличество записей в выдаче 40, а выдает 39

Это откуда цифры ? Что выдает mysql_num_rows($result)
И как ты $result селекта дальше в пхп обрабатываешь ? Мож проблема у тя дальше в цикле где фетч ?
цитата
28/12/07 в 20:00
 samedi
Новый тип гадания - на строке пхп-кода. icon_smile.gif
цитата
29/12/07 в 09:09
 Lamagro
samedi писал:
Новый тип гадания - на строке пхп-кода. icon_smile.gif
smail101.gif

бля я нашел проблему мать перемать ... icon_smile.gif

Код:
$baseresult=mysql_fetch_row($result);
...
while (($baseresult=mysql_fetch_row($result))==True)
{
     ....
}


спасибо тем кто учавствовал в гадании icon_smile.gif оценил по максимому...
Отдельное Sha спасибо за активное участие! smail04.gif

п.с. всего то надо поспать нормально


Эта страница в полной версии