Вниз  PHP и мелкие вопросы
- 3.05.2012 / 15:48
Dinisimys1
  Пользователь

Dinisimys1 
Сейчас: Offline
Я не пойму работу GET-метода.
Тоесть можно сделать просто так?
  1. $id=123;
  2. echo '<a href="http://sait.ru/index.php/?id=$id">Имя пользователя</a>';
И в файле index.php можно прописать следующее:
  1. $id=$_GET['id']

- 3.05.2012 / 16:10
mrEDitor
  Пользователь

mrEDitor 
Сейчас: Offline
Dinisimys1, правильно. И тогда $id = 123
- 3.05.2012 / 17:58
Serzhant
  Пользователь

Serzhant 
Сейчас: Offline
дана таблица
  1. |_id|q|login|text|time|
  2. |110|1|Serzhant|текст|время |
  3. |111|1|nik|текст|время |
  1. $query = mysql_query("SELECT * FROM `posts` WHERE `time` = "время"");
помогите сделать, чтобы переменная получила данные из таблицы со значением времени, но при совпадении одинаковых столбцов q, выбирала строку с большим значение _id.
- 3.05.2012 / 18:16
Screamer
  Пользователь

Screamer 
Сейчас: Offline
Serzhant, ORDER BY `id`, `q` DESC попробуй в запрос дописать
__________________
 საქარტველოს გაუმარჯოს
- 3.05.2012 / 18:29
Serzhant
  Пользователь

Serzhant 
Сейчас: Offline
у меня тут вот какая ситуация
  1. <?php
  2.  $query = mysql_query("SELECT * FROM `posts` WHERE `time` > ".(time()-86400)." order by `id` desc limit ".$page.",".$set['str']."");
  3. while ($row = mysql_fetch_assoc($query))
  4.     {
  5.         $f = mysql_fetch_array(mysql_query("SELECT `id`,`title` FROM `uselection` WHERE `id` = ".$row['id_forum'].""));
  6.         $t = mysql_fetch_array(mysql_query("SELECT `id`,`title` FROM `topics` WHERE `id` = ".$row['id_topic'].""));
  7.         $p = mysql_fetch_array(mysql_query("SELECT `id`,`login` FROM `posts` WHERE `id_topic` = ".$t['id']." ORDER BY `id` DESC LIMIT 1"));
  8.         $i++;
  9.         echo '<a href="/forum.php?id='.$f['id'].'">'.$f['title'].'</a> <br />
  10.        В теме: <a href="topic.php?id='.$t['id'].'&amp;end">'.$t['title'].'</a>, от '.$p['login'].'';
  11.     }
  12. ?>
этот код выводит все посты, которые были добавлены за последние сутки, показывает подфорум, тему и ник юзера, который ПОСЛЕДНИЙ написал в теме. мне нужно сделать чтобы из темы выводилось только последнее сообщение ( ну то есть при совпадении промежутка времени и топика, выбирался пост с большим значением id (поста)). а то мне этот код выводит несколько ссылок на одни и те же темы.
p.s. может быть это можно как то по-другому сделать?

Изменено Serzhant (3.05 / 18:31) (всего 1 раз)
- 3.05.2012 / 18:41
Screamer
  Пользователь

Screamer 
Сейчас: Offline
Serzhant, группировку по id сделать надо, в $query в строке запроса добавь GROUP BY `id`
Да и запросы в циклах лучше бы не делать, попробуй как нибудь переделать таблицы что бы от них избавится,
еще вместо mysql_fetch_array() - mysql_fetch_assoc() юзай если нужны только ассоциативные массивы
__________________
 საქარტველოს გაუმარჯოს
- 3.05.2012 / 18:47
Serzhant
  Пользователь

Serzhant 
Сейчас: Offline
Screamer, спасибо :-D все работает как надо
- 3.05.2012 / 19:10
Dinisimys1
  Пользователь

Dinisimys1 
Сейчас: Offline
А как в списке пользователей вывод кто онлайн/оффлайн сделать? Я знаю как можно через бд, но правильно ли это?
еще:
Таблица
|login| |online|
|Bob | |on|
|ROd | |off|
Мне надо изменить статус онлайн зная логин.
Так или нет?
  1. $login="ROd";
  2. $result=mysql_query("UPDATE user SET login=$login WHERE online='on'");

- 3.05.2012 / 19:15
Screamer
  Пользователь

Screamer 
Сейчас: Offline
Dinisimys1, при каждом посещении пользователя проверяешь прошло ли с момента последнего захода пять минут или нет, если да, то обновляешь время последнего посещения если нет значит он офнулся
далее в списке также сверяешь дату ну и далее уже понятно
Да и каждому пользователю удобнее давать ID чем с логинами таскаться
__________________
 საქარტველოს გაუმარჯოს
- 3.05.2012 / 19:17
Naik
  Пользователь

Naik 
Сейчас: Offline
Dinisimys1, Лучше заптсывай время последнего входа пользователя, и выбирай всех, время которых больше time()-60 например.
Наверх  Всего сообщений: 4740
Фильтровать сообщения
Поиск по теме
Файлы топика (129)