Здравствуйте уважаемые форумчане.
Делаю автокомплит для веб приложения и столкнулся с проблемой.
Мне не удалось найти ни одного готового примера для моей задачи. Суть в том, что в большинстве автокомплитов не работают стрелки вверх и вниз, а даже если они работают то клавиша enter помещает содерживое из выпадающего списка в INPUT, а мне нужно, чтобы совершался переход по ссылке из которых у меня и состоит выпадающий список.
Я с JS дружу очень плохо, потому и прошу вашей помощи.
Самый удачный пример который мне удалось найти привожу тут.
$result = dbquery("SELECT personal_id, surname, first_name, middle_name FROM ".$db_prefix."personal WHERE surname like '".$query."%' ORDER BY surname LIMIT 0,6");
Вот и я свой пытаюсь изобрести. Просто пытаюсь учесть как можно больше вариантов и произвести оптимизацию. Делаю портал, там много всего и боюсь в 10 запросов уложиться ну никак не получится. Пытаюсь оптимизировать все что возможно. Потом еще прикручу кэширование, но двиг должен хорошо работать и без кэширования. Ушел спать, вернусь завтра.
На страницу может и не страшно, но у меня на странице уже 28 запросов, вот и пытаюсь оптимизировать. Это целых 4 запроса всего на одну панель, а если панелей больше, две, три, а если десять. По 4 запроса на панель уже 40 запросов только от панелей, а выборка новостей, рейтингов, структуры меню, настроек движка. Сервер то не резиновый, а если и резиновый (мощный) его возможности все равно не безграничны.
Дело в том что при использовании выборки типа
SELECT *
FROM A, B
WHERE a = c;
Можно указывать только общий WHERE для всей выборки и когда я указываю все нужные мне условия запрос ничего не возвращает, а сравнивать поля в таблицах мне и не нужно. Мне бы подошел UNION но тогда у меня вываливается из запроса submit_id потому что с помощью UNION можно выбирать только одинаковое количество столбцов, но и на этом проблемы не заканчиваются. Дело в том, что все данные помещаются в столбцы с названиями столбцов первой таблицы и как идентифицировать где новости, где блог, а где сообщения не понятно.
Про JOIN я тоже знаю и попробовал много разных вариантов, сейчас и не вспомню все, но нужного результат не добился.
Доброго времени суток.
Задача у меня до смешного простая, но как выяснилось решить ее не просто.
В панели пользователя нужно показать сколько у него непрочитанных сообщений, сколько черновиков новостей, сколько черновиков записей в блог и если админ, то сколько материалов на утверждение.
С php частью вроде все просто, берем массив полученный из базы и перебором массива смотрим чего нам надо показывать а чего нет.
Проблема как раз в массиве. Можно сделать 4 запроса и дело с концом, но хочется более быстрое решение и одним запросом. Выбрать все данные из базы без условий не проблема, но массив получается уж очень увесистый, потому нужно добавить условия выборки, вот тут и начинаются проблемы.
Вот что мы имеем.
Таблица с сообщениями ( Столбцы указываю только те которые нужно выбирать )
message_id | message_to | message_read
Таблица с новостями
news_id | news_user_id | news_publish
Таблица утверждений, нужно просто узнать есть они или нет.
submit_id
Так вот, можно ли выбрать данные из всех этих таблиц с условием что message_to=$user_id, news_user_id=$user_id, blog_user_id=$user_id и message_read=0, news_publish=0, blog_publish=0 и собственно есть ли вообще submit_id
Есть таблица с комментариями, в которой есть id, parent_id, child_id и level
Возникла задача вывести комментарии в виде дерева. Рекурсивную выборку из БД по понятным причинам использовать не хочу. Возникла мысль рекурсивно отсортировать массив с уже выбранными в него комментариями. массив выглядит так:
Нужно отсортировать массив так, чтобы элементы приняли правильный порядок, для смещения комментария в дереве, я использую level это можно опустить. По умолчанию масив сортируется как есть, то есть в той последовательности в которой запись добавлялась в БД. Понятно, что ответ может быть добавлен когда угодно и окажется в конце. Для сортировки массива как мне кажется больше всего подходит uasort , но я не могу составить cmp функцию для сортировки.
Если нужно что-то уточнить говорите. Возможно забыл чего.
В java-script я не силен. Как я понял тот алерт который у меня в самом php работать и не будет, нужно чтобы алерт возвращала функция VoteUp или VoteDown.
Задача очень простая. Нужно сделать обновление рейтинга через ajax. На странице есть две кнопки, плюс и минус. Через Ajax GET запросом это передается php скрипту. Все отлично работает, рейтинг пишется в базу и обновляется на странице с которой голосовали, но если попробовать проголосовать еще раз должен вылететь алерт с надписью "Вы уже голосовали.". Алерт написан в php скрипте который пишет рейтинг в базу. При попытке голосовать второй раз просто ничего не происходит, рейтинг не увеличивается, но и алерт не выдается.
Ну и такая же функция VoteDown только с другим GET запросом.
C php думаю и так все понятно. Идет проверка голосовал или нет и если не голосовал то пишем в базу, а если голосовал выдаем алерт.
Java-script функция VoteUp(id) вызывается с параметром.
Суть вопроса собственно в том, почему не выдается алерт и еще меня смущает, почему при нажатии на ссылку голосовать страница перескакивает наверх, будто обновляется не только рейтинг а вся страница. Подгрузку страницы заметить не могу ибо локалхост. ))
Забыл дописать что при прямом обращении к php файлу все работает и alert выдается.
Так или иначе не все знают и не все будут перетягивать картинку в браузер. Все в первую очередь ищут кнопку для этих целей. Можно конечно и пояснения написать, но опять таки не всем это будет удобно, особенно тем у кого монитор маленький или еще веселее нетбук.
Да и пояснения не все читают и ничего тут не поделаешь ))
Я с javascript не очень дружу. Если бы все знал не пришел бы задавать вопросы. Так что если не трудно сейчас задача отключить перетягивание.
Я отвлекаюсь и пока не решил задачу с локализацией phpimage и пока он ничего у меня не закачал, но это потом, сначала надо научить его отображать локализацию. Там лежит файл en_dlg.js и еще один class.upload.en_EN.php
Если переименовать эти файлы в ru_dlg.js и class.upload.ru.RU.php то редактор не грузится. А если переименовать первый файл в просто ru.js то редактор отображается, но в диалоге загрузки локаль не показывает, хотя сам диалог отображается.
Кажется я уже начал терять ход ваших мыслей ))
Я писал что остановился на phpimage для TinyMCE.
А вот про запрет на вставку изображения можно и подробнее описать.
Задача все сделать очень просто и с минимальным набором костылей )))