такие кракозябры также бывают с Apple Webkit и Safari, если моя память не ходит «налево».
т.е., как я понимаю Опера мини (и etc.) НЕ работает с кириллическими URL.
подскажите как че быть, где посмотреть как конвертить ссылки перед отдачей, типа %20%10 ... ?
Да, то, что нужно. Мне получается нужно выбрать 10 материалов, ID у которых меньше 400 (например) и принадлежащие к категории 1, после чего записать все эти 10 ID полученных материалов в переменные и из них выгрести то, что требуется... Но как это сделать? Оо
Смотрю по нажатию на кнопку Показать еще. Динамическая подгрузка материалов через AJAX.
Да, выводит все записи, когда добавил Ваш код. Почему тогда через AJAX этого не видно и выходит только 1 Оо.
Сделал порядок DESC и LIMIT 1, так как пока только по одному все-равно выводит...
____
UPD:
Логика:
я получаю через AJAX - ID последнего материала на странице.
Нажимаю на кнопку Показать еще и мне должны выводится материалы с ID меньшим чем последний на странице и принадлежащий к конкретной категории..
Да, как Вы указываете работает все четко. Материал выводится только один - вот в чем беда.
В том то и дело, что мне нужно сразу подгружать ну хотя бы 3-10...
Т.е. тут без цикла никак... А если цикл, то уменьшая ID на 1 я ничего не добиваюсь... Вот и головоломка как узнать 10 ID предыдущих от 400-того, у которых категория == 1. Жумла, конечно, хорошая CMS, но с ней сложно работать...
Мне нужно переделать саму логику цикла, но я не понимаю как, к сож. в PHP не ас, поэтому сюда и написал.
Попробую... (Добавление)
Дело в том, что эффект тот же, что и при проверке принадлежания к конкретной категории. Получается у меня само условие цикла не правильно.
$i = 0;
while ($i <= 10){
...
$i++;
}
в этом случае, как ни крути, цикл делается только 10 раз и если категория не 1, то ничего не выводится.
Т.е. если ID 399 не принадлежит категории 1, то цикл пропускает его, переходит к следующему ID 398, который принадлежит, например 1, выводит её, затем снова $i увеличивается, а $id уменьшается на 1..
Попробую сделать проверку для цикла Оо. пц эта логика жестокая штука)))
Попробовал - фигня...
Попробовал - не помогло.
У меня получается так.
Например ID последнего материала 400. Мне нужно вывести материалы, у которых ID меньше 400, но принадлежат они к категории (catid) 1, например.
Т.е. получается у меня как-то не так написан сам цикл.
По логике, если последний ID 400, то предыдущий ID этой категории должен быть 399, но у этого 399 может быть другая категория, поэтому мне выводит содержимое с ID 400.
Т.е. мне надо как-то иначе узнавать, например, предыдущие 10 ID из категории 1, но как это сделать я не знаю.
Например, у последнего ID 400, а мне нужно вывести 10 предыдущих, а ID у них могут быть 397, 390, 350 и т.п.
Короче уже запутано получается. Подскажите как узнать сколько записей (и как их записать в цикле) в базе есть с категорией 1, ID которых меньше 400?
___
Я частично решил проблему, но криво. Поставил проверку на принадлежность категории 1, но если материалы имеют ID 250, а последний - 400, то мне выведется только 1 материал и то не факт, в зависимости от того, сколько итераций цикла выставил *(
Здравствуйте.
Делаю выборку из БД с несколькими значениями.
Есть материал в Joomla, например его ID = 400. Мне нужно выбрать все материалы, которые ниже 400 (т.е. 399, 398...) и лежат в catid с несколькими значениями, а также показать их как мне нужно... catid у каждого материала свой и не дублируется.
т.е. например, материал с id 400 имеет catid 1, но нет его в 2 или 3...
$query='SELECT * FROM #__content WHERE state=1 AND id = "'.$id.'" AND catid IN (1, 2, 3) ORDER BY id ASC';
$db->setQuery($query);
$rows=$db->loadObjectList();
//тут выводим инфу...
$i++;//увеличивает счетчик на 1
$id--;//уменьшаем ID на 1
}
//OFF while
У меня все работает, но выборка идет не так как хочется, а именно выводятся материалы с одним и тем же ID несколько раз, хотя в БД все прописано правильно и запрос тоже правильный.
Так вот. как проверить цикл, чтобы он не выводил повторяющиеся ID несколько раз?
Да, еще хотелось бы добавить, что ID, принадлежащие конкретной catid могут идти не подряд, например id материала 400, а предыдущий - 387...