Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.88/16: Рейтинг темы: голосов - 16, средняя оценка - 4.88
11 / 11 / 0
Регистрация: 07.07.2011
Сообщений: 418

Проверка на наличие похожих записей

08.04.2012, 18:41. Показов 3448. Ответов 35
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, есть наработка проверки на похожие записи в бд, если в базе есть запись test то должно выдать ошибку, ник уже занят, если нет то должно выдать ник свободен, собственно код
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if ($_POST['type'] == "check_name")
{
    $name = mysql_real_escape_string($_POST['name']);
    
    $query = "SELECT * FROM efir WHERE `name` = '%s'";
    $query = sprintf($query, $name);
    
    $sql = mysql_query($query);
    
    $result = mysql_num_rows($sql);
    if ($result > 0)
        echo 0;
    else
        echo 1;
    
}
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
$("#name").keyup(function(){
            var name = $("#name").val();
            var length = name.length;
            
            if (length > 0)
            {   
                $.ajax({
                    url: "misc/ajax.php",
                    type: "post",
                    data: "type=check_name&name="+name,
                    success: function(data){
                        if (data == 1)
                        {
                            $("#name_res").fadeIn("slow").html("<font color=\"green\">Имя доступно</font>");
                        }
                        else
                        {
                            $("#name_res").fadeIn("slow").html("<font color=\"red\">Имя не доступно</font>");
                        }
                    }
                    
                });
            }
            else
            {
                $("#name_res").fadeOut("slow");
            }
        });
HTML5
1
<input type="text" id="name">&nbsp;&nbsp;<span id="name_res" style="display:none;"></span>
помогите найти ошибку.
Заранее спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.04.2012, 18:41
Ответы с готовыми решениями:

Проверка на наличие пустых записей
Здравствуйте! У меня вот такая небольшая проблема. Программа не выполняет проверку на наличие пустых записей, когда специально оставляю не...

Вывод похожих записей по тегу, а именно согласно количеству привязанных записей к тегу
Всем привет! Этот код выводит похожие записи по тегу: &lt;?php $tags = wp_get_post_tags($post-&gt;ID); if ($tags) { $tag_ids = array();...

Вывод похожих записей с БД
Здравствуйте. Необходима помощь специалиста! Имеется статья, которая берется с БД mysql Под ней хочу сделать &quot;Похожие...

35
weboman
 Аватар для Schtrich
210 / 195 / 63
Регистрация: 13.08.2010
Сообщений: 1,531
Записей в блоге: 6
09.04.2012, 00:57
как-то вы данные очень странно передаете в ajax'е, я бы сделал так например:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
$("#name").keyup(function(){
            var name = $("#name").val();
            var length = name.length;
            
            if (length > 0)
            {   
                $.ajax({
                    url: "misc/ajax.php",
                    type: "post",
                    data: { funct: "check_name", name: name },
                    success: function(data){
                        if (data == 1)
                        {
                            $("#name_res").fadeIn("slow").html("<font color=\"green\">Имя доступно</font>");
                        }
                        else
                        {
                            $("#name_res").fadeIn("slow").html("<font color=\"red\">Имя не доступно</font>");
                        }
                    }
                    
                });
            }
            else
            {
                $("#name_res").fadeOut("slow");
            }
        });
и от этого уже плясал в php:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if ($_POST['funct'] == "check_name")
{
    $name = mysql_real_escape_string($_POST['name']);
    
    $query = "SELECT * FROM efir WHERE `name` = '%s'";
    $query = sprintf($query, $name);
    
    $sql = mysql_query($query);
    
    $result = mysql_num_rows($sql);
    if ($result > 0)
        echo 0;
    else
        echo 1;
    
}
ну а если по сути то в дальнейшем if $_POST['funct'] логично будет заменять на switch ($_POST['funct']) , но это больше вам на заметку.
0
40 / 40 / 14
Регистрация: 07.04.2012
Сообщений: 98
09.04.2012, 01:29
А что происходит-то, в чем ошибка проявляется?
Если ничего вообще не происходит, то...
JavaScript
1
2
3
$(document).ready(function() {
//... засуньте свой JS сюда 
});
0
weboman
 Аватар для Schtrich
210 / 195 / 63
Регистрация: 13.08.2010
Сообщений: 1,531
Записей в блоге: 6
09.04.2012, 01:52
пожалуйста:

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
$(document).ready(function() {
 
$("#name").keyup(function(){
            var name = $("#name").val();
            var length = name.length;
            
            if (length > 0)
            {   
                $.ajax({
                    url: "misc/ajax.php",
                    type: "post",
                    data: { funct: "check_name", name: name },
                    success: function(data){
                        if (data == 1)
                        {
                            $("#name_res").fadeIn("slow").html("<font color=\"green\">Имя доступно</font>");
                        }
                        else
                        {
                            $("#name_res").fadeIn("slow").html("<font color=\"red\">Имя не доступно</font>");
                        }
                    }
                    
                });
            }
            else
            {
                $("#name_res").fadeOut("slow");
            }
        });
 
});
а что у вас происходит я понятия не имею, если в консоли пишется какая-нть ошибка, то выведете ее сюда на форум.

Добавлено через 13 минут
p.s.
это не правильно:
PHP
1
$query = "SELECT * FROM efir WHERE `name` = '%s'";
нужно

PHP
1
$query = "SELECT * FROM efir WHERE `name` = '$name'";
1
40 / 40 / 14
Регистрация: 07.04.2012
Сообщений: 98
09.04.2012, 01:57
JavaScript
1
data: "type=check_name&name="+name,
Так тоже можно.
0
weboman
 Аватар для Schtrich
210 / 195 / 63
Регистрация: 13.08.2010
Сообщений: 1,531
Записей в блоге: 6
09.04.2012, 02:04
а я что сказал что нельзя?
0
11 / 11 / 0
Регистрация: 07.07.2011
Сообщений: 418
09.04.2012, 08:57  [ТС]
сделал всё как вы сказали, скрипт так и не реагирует
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if ($_POST['funct'] == "check_name")
{
    $name = mysql_real_escape_string($_POST['name']);
    $query = "SELECT * FROM bd WHERE `name` = '$name'";
    $query = sprintf($query, $name);
    
    $sql = mysql_query($query);
    
    $result = mysql_num_rows($sql);
    if ($result > 0)
        echo 0;
    else
        echo 1;
    
}
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script language="JavaScript"> 
 $("#name").keyup(function(){
            var name = $("#name").val();
            var length = name.length;
            
            if (length > 0)
            {   
                $.ajax({
                    url: "test1.php",
                    type: "post",
                    data: { funct: "check_name", name: name },
                    success: function(data){
                        if (data == 1)
                        {
                            $("#name_res").fadeIn("slow").html("<font color=\"green\">Имя доступно</font>");
                        }
                        else
                        {
                            $("#name_res").fadeIn("slow").html("<font color=\"red\">Имя не доступно</font>");
                        }
                    }
                    
                });
            }
            else
            {
                $("#name_res").fadeOut("slow");
            }
        });
 
});
</script>
0
weboman
 Аватар для Schtrich
210 / 195 / 63
Регистрация: 13.08.2010
Сообщений: 1,531
Записей в блоге: 6
09.04.2012, 10:20
а вы не забыли обернуть jQuery в событие $(document).ready()?
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
$(document).ready(function(){
 $("#name").keyup(function(){
            var name = $("#name").val();
            var length = name.length;
            
            if (length > 0)
            {   
                $.ajax({
                    url: "test1.php",
                    type: "post",
                    data: { funct: "check_name", name: name },
                    success: function(data){
                        if (data == 1)
                        {
                            $("#name_res").fadeIn("slow").html("<font color=\"green\">Имя доступно</font>");
                        }
                        else
                        {
                            $("#name_res").fadeIn("slow").html("<font color=\"red\">Имя не доступно</font>");
                        }
                    }
                    
                });
            }
            else
            {
                $("#name_res").fadeOut("slow");
            }
        });
 
    });
И вам сюда по этому поводу.
1
11 / 11 / 0
Регистрация: 07.07.2011
Сообщений: 418
09.04.2012, 10:28  [ТС]
обернул как вы сказали, js стал срабатывать, но проблема в том что если в базе есть имя test он показывает имя доступно, если его нету, то тоже выдаёт имя доступно.
P.S ссылочка не работает
0
weboman
 Аватар для Schtrich
210 / 195 / 63
Регистрация: 13.08.2010
Сообщений: 1,531
Записей в блоге: 6
09.04.2012, 10:41
ну если js сработал, то не беда что ссылочка не работает, а в php лучше так сделать:


PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if ($_POST['funct'] == "check_name")
{
    $name = mysql_real_escape_string($_POST['name']);
    $query = "SELECT * FROM bd WHERE `name` = '$name'";
    $query = sprintf($query, $name);
    
    $sql = mysql_query($query);
    
    if ($result = mysql_fetch_array($query)) 
    {  
        echo 1;
  
    } else  {
 
        echo 0;  
    }
}
Добавлено через 2 минуты
и поменяйте в js условие:
JavaScript
1
2
3
4
5
6
7
8
if (data == 0)
                        {
                            $("#name_res").fadeIn("slow").html("<font color=\"green\">Имя доступно</font>");
                        }
                        else
                        {
                            $("#name_res").fadeIn("slow").html("<font color=\"red\">Имя не доступно</font>");
                        }
1
11 / 11 / 0
Регистрация: 07.07.2011
Сообщений: 418
09.04.2012, 10:44  [ТС]
теперь на всё выдаёт Имя не доступно, видимо ошибка в php ещё думаю что ошибка кроется здесь
JavaScript
1
2
3
4
5
6
7
8
                        if (data == 1)
                        {
                            $("#name_res").fadeIn("slow").html("<font color=\"green\">Имя доступно</font>");
                        }
                        else
                        {
                            $("#name_res").fadeIn("slow").html("<font color=\"red\">Имя не доступно</font>");
                        }
0
weboman
 Аватар для Schtrich
210 / 195 / 63
Регистрация: 13.08.2010
Сообщений: 1,531
Записей в блоге: 6
09.04.2012, 10:49
если где-то ошибка то выкладывайте ее содержимое, именно ошибки.

p.s. data == 1 на data == 0 заменить.
0
11 / 11 / 0
Регистрация: 07.07.2011
Сообщений: 418
09.04.2012, 10:55  [ТС]
нет конкретно ошибки в php нет, это просто мои предположения)
заменил data == 0 стало всё отображаться Имя доступно, имя не доступно не отображается
0
weboman
 Аватар для Schtrich
210 / 195 / 63
Регистрация: 13.08.2010
Сообщений: 1,531
Записей в блоге: 6
09.04.2012, 11:01
ну тогда посмотрите в консоли что браузер пишет.
0
11 / 11 / 0
Регистрация: 07.07.2011
Сообщений: 418
09.04.2012, 11:09  [ТС]
[11:08:34.896] POST http://localhost/test1.php [HTTP/1.1 200 OK 171мс]
0
weboman
 Аватар для Schtrich
210 / 195 / 63
Регистрация: 13.08.2010
Сообщений: 1,531
Записей в блоге: 6
09.04.2012, 11:12
видимо вы не консоль открыли а раздел сеть (network), смотрите что сервер вернул и таки определитесь нету ли ошибок в консоли javascript.
0
11 / 11 / 0
Регистрация: 07.07.2011
Сообщений: 418
09.04.2012, 11:19  [ТС]
в хроме открыл консоль, никакие записи не выводит.
0
weboman
 Аватар для Schtrich
210 / 195 / 63
Регистрация: 13.08.2010
Сообщений: 1,531
Записей в блоге: 6
09.04.2012, 11:24
ну а сервер вернул ответ ?
0
11 / 11 / 0
Регистрация: 07.07.2011
Сообщений: 418
09.04.2012, 11:32  [ТС]
у меня всё пусто, может я не туда смотрю? chrome инструменты консоль js вкладка console
0
40 / 40 / 14
Регистрация: 07.04.2012
Сообщений: 98
09.04.2012, 12:18
Менять наоборот условие - ничего не даст
Дело в том, что Вы сравниваете строку с числом: data == 1.
А нужно так data == '1'

JavaScript
1
2
3
4
5
6
7
8
if (data == '1')
                        {
                            $("#name_res").fadeIn("slow").html("<font color=\"green\">Имя не доступно</font>");
                        }
                        else
                        {
                            $("#name_res").fadeIn("slow").html("<font color=\"red\">Имя доступно</font>");
                        }
Так заработает.

И лучше (хоть и не обязательно) в php делать не echo, а return
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.04.2012, 12:18
Помогаю со студенческими работами здесь

Выборка похожих записей из БД (ip адреса)
Есть таблица с ip-адресами, нужно выбрать и сгруппировать ip у которых одинаковые значения до первых двух точек. Пример: 192.168.1.3 -...

Изменение всех похожих записей
Необходимо, чтобы при изменении записи в ленточной форме менялись такие же записи во всей таблице.

Поиск похожих записей в Paradox
Здравствуйте, У меня возник такой вопрос возможно ли сделать такой поиск в Парадокс чтобы при в введении имени он нашел несколько записей...

Поиск похожих записей (Paradox)
Здравствуйте, У меня возник такой вопрос возможно ли сделать такой поиск в Парадокс чтобы при в введении имени он нашел несколько записей...

Вывод похожих записей order by rand
Везде пишут, что использование order by rand плохо т.к. нагружает базу данных и все такое. есть код, для вывода случайных записей на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru