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

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

08.04.2012, 18:41. Показов 3477. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита табличной части. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru