Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Поиск пользователей
 
 автор: Razorik   (09.11.2013 в 20:25)   письмо автору
 
 

Делаю динамичный поиск пользователей на сайте. Использую js и php. Мучаюсь уже второй или третий день. Испробовал все адекватные и не очень варианты. javascript просто не хочет выполнятся, хотя я уверен что он в бразуере включен. Помогите, подскажите в чем может быть проблема?
Файл search.php

<?php
session_start
(); 
include(
"db_connect.php");
?>
<html>
    <head>
        <title>Поиск пользователей</title>
        <script src="http://yandex.st/jquery/1.7.2/jquery.min.js"></script>
        <script>
            $(window).load(function() {
                $('#search_name').keyup(function(I) {
                    switch(I.keyCode) {
                        // игнорируем нажатия на эти клавишы
                        case 13:  // enter
                        case 27:  // escape
                        case 38:  // стрелка вверх
                        case 40:  // стрелка вниз
                        break;
                        default:
                            if($(this).val().length>2) {
                                var findUser = $(this).val();
                                var len = 0;
                                $.get("find_user.php", { "username":findUser } function(data) {
                                    var list = eval("("+data+")");
                                    len = list.length;
                                    if(len > 0) {
                                        $('#search_result').html("").show();
                                        for(var i in list) {
                                            if(list[i]!='') {
                                                $('#search_result').append('<div class="post"><a href="profile.php?user=' + list[i] + '">' + list[i] + '</a></div>');
                                            }
                                        }
                                    }
                                }, 'html');
                            }
                }
            }
        </script>
    </head>
    <body>
        <link href="style.css" rel="stylesheet" type="text/css">
        <div class="panel">
        <?php 
            
include("panel.php");
        
?>
        </div>
        <div id="search" class="profile">
            <form id="sForm" method="get" name="SearchForm" onsubmit="return false"> <!--action="search.php" method="post"-->
                <input id="search_name" onkeydown="a()" type="text" name="username" placeholder="Введите имя пользователя..." autocomplete="off" style="width:96%; margin-left:2%;">
            </form>
            <div id="search_result" class="findedlist">
            </div>
        </div>
    </body>
</html>

и файл find_user.php

<?php
    
if(!empty($_GET['username']))
    {
        include(
"db_connect.php");
        
$array=array();
        
$db->real_query("SELECT login FROM users WHERE login LIKE '%" $_GET['username'] . "%'");
        
$result $db->store_result();
        while(
$data $result->fetch_array(MYSQLI_ASSOC))
        {
            
$array[] = $data['login'];
        }
        echo 
"['".implode("','"$array)."']";
    }
    exit();
?>

  Ответить  
 
 автор: confirm   (09.11.2013 в 21:18)   письмо автору
 
   для: Razorik   (09.11.2013 в 20:25)
 

var list = eval("("+data+")");

echo "['".implode("','", $array)."']";


$.get("find_user.php", { "username":findUser } function(data) { 
                                    if(!!data) { 
                                       //получение 
                                    } 
                                }, 'json');

<?
if($usr mysql_real_escape_string(trim($_GET['username']))) {
"....WHERE login LIKE '%" $usr"%'");

..... 
echo 
json_encode($arrayJSON_UNESCAPED_UNICODE);
//аргумент JSON_UNESCAPED_UNICODE только для РНР не ниже 5.4
//json работает только с UTF, если кодировка 1251,
//то предварительно конвертировать содержимое $array в UTF

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования