| Учим PHPАВТОР | СООБЩЕНИЕ |
---|
Сейчас нет на сайте Репутация: 0 Регистрация: 5.03.2009 Всего сообщений: 479 |
| о емае... Расскажи мне логику запроса, я по человечески составлю. Что тебе нужно там получить. Юзаи mysqli. | |
| | Сейчас нет на сайте Репутация: 0 Регистрация: 5.03.2009 Всего сообщений: 479 |
| вместо f o r ( $ i = 0 ; $ i < m y s q l _ n u m _ r o w s ( $ r e s ) ; $ i + + ) { $ a = m y s q l _ f e t c h _ a r r a y ( $ r e s ) ;
это while($mas = mysql_fetch_array($res)) { print_r($mas); } | |
| | Имя: Руслан Сейчас нет на сайте Репутация: 4 Регистрация: 23.12.2008 Всего сообщений: 623 Откуда: Северо-Запад |
| code9, так это одно и то же, что с for , что с while да и к базе они не имеют никакого отношения в таблице поиск ведётся От кого и Кому по логинам.
<?php $res=mysql_query("SELECT *,DATE_FORMAT(date, '%d.%m.%y %H:%i') AS date FROM messages WHERE (ot='$l' AND komu='$login') OR (ot='$login' AND komu='$l') ORDER BY id DESC LIMIT $n,$mesonpage");
Довольно долго ищет таким обрзом сообщения.Если найти сообщение просто по id ,скорость выше в десятки раз. Вот я и хочу придумать, чтобы сообщения искались по id | |
| | Репутация: 126 Регистрация: 25.04.2006 Всего сообщений: 10175 Откуда: Уфа РБ |
| (ot='$l' AND komu='$login') OR (ot='$login' AND komu='$l') эта конструкция убивавает всю скорость. Нужно думать над логикой. И проверь есть ли индексы на ot и komu. Без индексов должна быть полная опа. | |
| | Имя: Руслан Сейчас нет на сайте Репутация: 4 Регистрация: 23.12.2008 Всего сообщений: 623 Откуда: Северо-Запад |
| Profi, сделал чтобы id сообщений первой страницы записывался в таблицу контактов. почти всё готово, только вопрос
<?php mysql_query("INSERT INTO messages(komu, ot, body, new, date) VALUES('$l', '$login', '$body', '1', CURRENT_TIMESTAMP())");
как узнать id этой новой строки? | |
| | Репутация: 126 Регистрация: 25.04.2006 Всего сообщений: 10175 Откуда: Уфа РБ |
| А нужно узнавать? Если нужно узнавать, то делай селект по самому уникальному параметру (-ам). Или записывай свой id и убери autoincrement. | |
| | Имя: Руслан Сейчас нет на сайте Репутация: 4 Регистрация: 23.12.2008 Всего сообщений: 623 Откуда: Северо-Запад |
| mysql_insert_id(); показывает последний id блин, сделал всё-таки , но оно того стоило, проверил, старым способом страница генерировалась 2,4 , сейчас 0,42 , оно того стоило | |
| | Репутация: 126 Регистрация: 25.04.2006 Всего сообщений: 10175 Откуда: Уфа РБ |
| shpien, может и так, но всегда сомневался в надёжности mysql_insert_id. Предпочитаю в таких случаях задавать id самостоятельно. | |
| | Имя: Руслан Сейчас нет на сайте Репутация: 4 Регистрация: 23.12.2008 Всего сообщений: 623 Откуда: Северо-Запад |
| загвоздка получилась.Сообщения накапливаются на одной странице. стока id=223 OR id=223 OR id=222 OR id=221 OR id=220 OR id=219 OR id=218 как из неё убрать последнее OR id=218 ? мне кажется, что с помощью preg_match , но в нём я так и не разобрался | |
| | Репутация: 126 Регистрация: 25.04.2006 Всего сообщений: 10175 Откуда: Уфа РБ |
| shpien, я вообще не понимаю для чего нужен этот перебор значений и это явно не оптимальный метод. Определись какой параметр тебе нужен и не мучий базу. И смысл формировать запрос, а потом вырезать из него последний параметр? Формируй сразу нужный запрос. | |
|
|
|