Нужно написать интерактивный поиск с выводом данных из базы, допустим есть поле для ввода слова или чисел, человек вводит букву, а в это время в таблице выводится все найденные записи в таблице БД на эту букву или цифру, помогите пожалуйста, очень нужно это написать(
Спустя 16 минут, 19 секунд (10.04.2010 - 14:40) ApuktaChehov написал(а):
А какими знаниями вы обладаете? нужно знать, как минимум PHP и JavaScript.
Спустя 15 минут, 14 секунд (10.04.2010 - 14:56) DeadMan89 написал(а):
html и php знаю, а вот яваскрипт вообще нет(
Спустя 1 час, 13 минут, 55 секунд (10.04.2010 - 16:09) vagrand написал(а):
Спустя 10 минут, 46 секунд (10.04.2010 - 16:20) DeadMan89 написал(а):
vagrand спасибо, но это не совсем то, мне нужно что бы в поле ввода допустим ввели букву В, а в другой таблице вывелись все данные из базы которые начинаются на букву В, потом ввел Ва и данные вывелись которые начинаются на Ва а тот список стерся
Спустя 2 часа, 10 минут, 30 секунд (10.04.2010 - 18:31) FatCat написал(а):
Цитата (DeadMan89 @ 10.04.2010 - 17:20) |
в поле ввода допустим ввели букву В, а в другой таблице вывелись |
Считываем из тексинпута по "ончейнжу" - берем value.
Данные в другую таблицу перезаписываем методом innerHTML. Всё довольно просто.
Спустя 47 минут, 13 секунд (10.04.2010 - 19:18) ApuktaChehov написал(а):
Цитата (FatCat @ 10.04.2010 - 18:31) |
Всё довольно просто. |
Не сказал бы. Если человеку нужно что бы все данные грузились в select. То тут сложно. Потому как innerHTML - ом не вставить select. Под IE это работать не будет. Придется юзать DOM и на лету формировать список. Сам уже напоролся.
P.S. Я бы дал товарищу код, да боюсь он не разберется без знаний JS, там довольно сложно.
Спустя 44 минуты, 46 секунд (10.04.2010 - 20:03) DeadMan89 написал(а):
ну дайте код, попробую разобраться
Спустя 49 минут, 41 секунда (10.04.2010 - 20:52) FatCat написал(а):
Цитата (ApuktaChehov @ 10.04.2010 - 20:18) |
innerHTML - ом не вставить select |
Правда что ли?
А что мешает?
Вот простенький конструктор, делающий селект по словам, только что написал:
<html>
<head>
<title>Динамическое создание селекта</title>
</head>
<body>
<script type="text/javascript">
function my_funct(val){
html = '<select name="my_select">';
val = val.split(' ');
for(i in val)
{
html += '<option value="'+val[i]+'">'+val[i]+'</option>';
}
html += '</select>';
document.getElementById("my_sel").innerHTML = html;
}
</script>
<form action="" name="forma" id="forma">
<div id="my_sel"> </div>
<hr>
<input type="text" name="my_inp" onChange="my_funct(value);" onKeyup="my_funct(value);">
</form>
</body>
</html>
А для поставленной задачи даже селект не нужен, прямо в див гнать линки, по клику на которые в текстинпуте перезапишется значение.
Спустя 28 минут, 50 секунд (10.04.2010 - 21:21) ApuktaChehov написал(а):
FatCat я чесно не помню в чем была проблема. Но я пытался вставить селект созданные пхп и переданный аяксом как обычно html код. Все браузеры съели, а IE гад, забычил. вот.
Спустя 8 минут, 37 секунд (10.04.2010 - 21:30) FatCat написал(а):
Цитата (ApuktaChehov @ 10.04.2010 - 22:21) |
переданный аяксом как обычно html код |
Не люблю аякс: наворотов слишком много, использует сложные объектные модели браузеров, да еще и вечная проблема с кодировками.
Когда мне нужны асинхронные запросы к серверу, делаю проще:
1. Средствами джаваскрипт (innerHTML) делаю скрытый ифрейм; джаваскриптом же делаю запрос по GET этого ифрейма. Обращения по имени окна ифрейма.
2. В ифрейм отдаю серверный ответ джаваскриптом же, отдающим в родительское окно (по обращению к parent) всё нужное мне тем же innerHTML.
Метод безупречно работает в IE4 и выше, в современных браузерах тоже работает. Да и черта ли там не работать, если никаких ДОМ, никаких объектных методов программирования, примитивный innerHTML...