Форум программистов, компьютерный форум, киберфорум
Наши страницы
jQuery
Войти
Регистрация
Восстановить пароль
 
The_Host
6 / 6 / 3
Регистрация: 20.08.2016
Сообщений: 183
1

Сравнение значений из input с данными в БД

02.07.2018, 14:57. Просмотров 301. Ответов 19
Метки нет (Все метки)

Имею следующий скрипт
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$(document).ready ( function(){
            $(".from, .to").keyup(function() {
                // Выбор городов
                var from = $(".from").val();
                var to = $(".to").val();
                // Условие для маршрутов
                if (from == 'Город1' && to == 'Город2') {
                    $('.status').text('Путь доступен');
                } else {
                    $('.status').text('К сожалению, этот маршрут не доступен');
                }
 
                // Вывод
                $('.adress').text('Маршрут ' + from + ' - ' + to);
            });
        });
Его задача отслеживать введенные города и если комбинация введенных городов совпадает, то вывести успешное сообщение и наоборот.

Так вот, мне бы хотелось узнать как это реализовать (можно ли только на js или надо подключать php + mysql)

В голове держу примерный алгоритм, но знаний для реализации не хватает.
Я бы пустил проверку по циклу где вместо "Город1" и "Город2" подхватывались бы столбцы из БД, но не знаю как тогда связать js с php

Подскажите где что посмотреть и почитать или как реализовать
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2018, 14:57
Ответы с готовыми решениями:

Сравнение значений текстового input text со значениями radio
Прошу помочь, сам новичок в языке java script, буду благодарен:) есть...

Сравнение переменной с input-ом
Нужно сравнить ,то что ввел пользователь в строку ,если это совпадает с...

Заполнение таблицы из input type=text данными по нажатию кнопки
Добрый день. подскажите, пожалуйста новичку есть таблица из 10 ячеек...

Удаление значений из input, по клику
Кликая по ссылкам, вывожу в input а также в DIV "Вывод №2" их значения через...

Показ значений value тега input
Здравствуйте, уважаемые форумчане. Взываю к вашей помощи, ибо моих знаний...

19
Zaxar192
17 / 7 / 3
Регистрация: 31.05.2017
Сообщений: 81
03.07.2018, 12:35 2
Если правильно понял ваш вопрос, то вам нужно почитать про ajax. Он позволяет клиенту связываться с сервером и передавать/получать некоторые данные.

P.S. - На чистом js реализовывать такое - чистое извращение.
0
The_Host
6 / 6 / 3
Регистрация: 20.08.2016
Сообщений: 183
04.07.2018, 13:49  [ТС] 3
Zaxar192, По всей видимости да, однако для меня не очень понятно как это реализовывается, смотрю в книгу - вижу фигу)

Есть где нибудь простые примеры? Что-то вроде узнать значение переменной из бд и вывести куда-то на страницу
0
Zaxar192
17 / 7 / 3
Регистрация: 31.05.2017
Сообщений: 81
04.07.2018, 21:21 4
The_Host, ну смотрите, например у нас есть некая таблица в некой бд. В этой таблице есть два столбца: ID, CONTENT. Ниже привожу код, как можно получить данные с бд
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  $connect = mysqli_connect("Сервер БД", "имя пользователя бд", "Пароль доступа к бд", "имя самой бд");
  if (!$connect ) {//Конект не создался, выбиваем ошибку
    die("Connection failed: " . mysqli_connect_error());
  }
  $result = $connect->query("SELECT * FROM table_name WHERE 1");//отправляем командой запрос в бд
   if($result->num_rows > 0)
   {
      while($res = $result->fetch_assoc())//заполняем переменную данными и крутим цикл
       {
            echo $res["ID"];//вот так можно обратиться к любому элементу из бд
             echo $res["CONTENT"];//аналогично вывели контент таблицы
       }
   }else{
      echo 'Соответствий не найдено';//По запросу ничего не найдено
   }
Это вам пример, как вытянуть из бд данные и вывести их. Возможно способ и не самый новый, однако мне с ним комфортнее всего.
На всякий случай ниже приведу вам пример ajax запроса и его обработки на сервере:

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
  $.ajax({
     url: "file.php",//урл файла, куда кидаем запрос
     data:"type=test&value="+$("#sth").val(),//дата, которую передаём на сервер
     success: function(msg)
     {
          $("#serveranse").append(msg);//если всё ок вставляем ответ
     },
     error: function()
     {
         $("#serveranse").append("Ошибка связи с серваком");//если ошибка, вставляем сообщение ошибки
      }
  });
file.php:
PHP
1
2
3
4
5
6
7
8
9
10
   if(isset($_GET))//все данные с клиента попали в массив $_GET, проверяем существует ли такой
   {
        if(isset($_GET["type"]) and isset($_GET[value""]))//массив существует,теперь проверим что в нужных нам элементах есть некие данные
        {
             echo $_GET["type"].$_GET["value"];если всё ок, выводим данные
         }else
           {
              echo 'Ошибка, заполните все необходимые данные'; //если нет - выводим соответственное сообщение
            }
   }
В целом, советую опираться на такие сайты, как http://php.net/ - по вопросам пхп, и https://learn.javascript.ru/ - для js.
Надеюсь, ответил на ваш вопрос и хоть немного помог вам.
0
The_Host
6 / 6 / 3
Регистрация: 20.08.2016
Сообщений: 183
04.07.2018, 21:29  [ТС] 5
Zaxar192, спасибо за информацию!
Можете объяснить строчку с data:
0
Zaxar192
17 / 7 / 3
Регистрация: 31.05.2017
Сообщений: 81
04.07.2018, 21:56 6
The_Host, в этой строке мы формируем сам запрос на сервер, он представляет из себя массив $_GET т.е. У нас есть ключ type = значение test. Амперсанд означает, что один элемент закончился и мы объявляем следующий. Ну и соответственно, когда мы теперь на сервере обратимся к $_GET["type"], то мы получим "test".
1
The_Host
6 / 6 / 3
Регистрация: 20.08.2016
Сообщений: 183
19.07.2018, 13:24  [ТС] 7
Все пытаюсь разобраться, но не получается

Делаю так:
В js присваиваю переменной значение из введенного поля input
в ajax хочу передать эту переменную в php
Javascript
1
2
3
4
5
6
7
8
9
10
$("#send").click(function(){
                $.ajax({
                    url: '../send.php',
                    type: "POST",
                    data: FullWeight,
                    success: function(Weight){
                        alert(Weight);
                    }
                });
            });
В php принимаю эту переменную
PHP
1
2
$Weight = $_POST['FullWeight'];
return $Weight;
Теперь хочу чтобы из php вернулось значение и показалось в alert, но не работает.

Смысл в том что я хочу передать значение в php чтобы потом именно с ним работать, сравнивать с данными в таблице и при определенном условии вернуть значение уже из таблицы, но пока хочу чтобы просто вернулось то что передал.
0
Evgen1337
210 / 130 / 60
Регистрация: 10.12.2017
Сообщений: 472
19.07.2018, 13:35 8
PHP
1
2
$Weight = $_POST['FullWeight'];
return $Weight;
надо так
PHP
1
2
$Weight = $_POST['FullWeight'];
echo $Weight; // нам же нужен текст, а не выход из ф-ции
0
The_Host
6 / 6 / 3
Регистрация: 20.08.2016
Сообщений: 183
19.07.2018, 14:27  [ТС] 9
Evgen1337, У меня в скрипте идет отслеживание введенных данных в поля, потом из этих данных я формирую одну переменную и вывожу ее тут же в документ
И эту же переменную я хочу отправить в php но только после нажатия кнопки

Так вот, без ajax куска кода все работает, а когда его раскомментирую консоль выдает "Uncaught SyntaxError: Unexpected token )" и уже скрипт не работает
это даже без нажатия кнопки
0
Evgen1337
210 / 130 / 60
Регистрация: 10.12.2017
Сообщений: 472
19.07.2018, 14:38 10
https://api.jquery.com/jquery.ajax/
dataType (default: Intelligent Guess (xml, json, script, or html))
Type: String
The type of data that you're expecting back from the server. If none is specified, jQuery will try to infer it based on the MIME type of the response (an XML MIME type will yield XML, in 1.4 JSON will yield a JavaScript object, in 1.4 script will execute the script, and anything else will be returned as a string). The available types (and the result passed as the first argument to your success callback) are:
Javascript
1
2
3
4
5
6
7
8
9
10
11
$("#send").click(function(){
                $.ajax({
                    url: '../send.php',
                    type: "POST",
                    data: FullWeight,
                    dataType: 'html', // new line
                    success: function(Weight){
                        alert(Weight);
                    }
                });
            });
success
Type: Function( Anything data, String textStatus, jqXHR jqXHR )
A function to be called if the request succeeds. The function gets passed three arguments: The data returned from the server, formatted according to the dataType parameter or the dataFilter callback function, if specified; a string describing the status; and the jqXHR (in jQuery 1.4.x, XMLHttpRequest) object. As of jQuery 1.5, the success setting can accept an array of functions. Each function will be called in turn
мало информации что да как, есть вариант, что все же php что-то возвращает (запрос к php скрипту доходит?), и в success ожидается что-то другое, чем то, что приходит, и когда респонс парсится появляется ошибка...
0
The_Host
6 / 6 / 3
Регистрация: 20.08.2016
Сообщений: 183
19.07.2018, 15:00  [ТС] 11
Цитата Сообщение от Evgen1337 Посмотреть сообщение
запрос к php скрипту доходит?
Похоже что нет
Я решил попробовать просто переменной присвоить значение и передать в php, а в нем просто его записать в бд, но он не видит этой переменной и ничего не записывает соответственно.

На данный момент мне не понятно можно ли передать просто переменную не из формы в php, а в php эту перемнную принять
0
Evgen1337
210 / 130 / 60
Регистрация: 10.12.2017
Сообщений: 472
19.07.2018, 15:18 12
Цитата Сообщение от The_Host Посмотреть сообщение
На данный момент мне не понятно можно ли передать просто переменную не из формы в php, а в php эту перемнную принять
можно, попробуйте указать полный url до php скрипта, типа http://locahost:port/send.php (поменять на свои значения)
можно еще открыть консоль разработчика и там смотреть ошибки и отправленные/принятые запросы

так попробуй:
Javascript
1
2
3
4
5
6
$("#send").click(function(){
  var data = new FormData();
  data.append('key', 'value');
  data.append('key2', 'value2');
  fetch('http://localhost:3000/send.php', { method: 'post', body: data }).then(r => r.text()).then(r => alert(r))
});
send.php
PHP
1
2
3
<?php
 
var_dump($_POST);
0
The_Host
6 / 6 / 3
Регистрация: 20.08.2016
Сообщений: 183
19.07.2018, 15:30  [ТС] 13
Evgen1337, В вашем коде была небольшая ошибка

Вот такая штука вылазит)
Страницу обновил и все, ничего не происходит, только в url ? вставляется (php файл видит и что-то туда передает)
0
Миниатюры
Сравнение значений из input с данными в БД  
Evgen1337
210 / 130 / 60
Регистрация: 10.12.2017
Сообщений: 472
19.07.2018, 15:35 14
ну все, получилось, ajax отработал, php отработал
0
The_Host
6 / 6 / 3
Регистрация: 20.08.2016
Сообщений: 183
19.07.2018, 15:39  [ТС] 15
Evgen1337, Допустим)

Как мне теперь переделать чтобы отправлять 1, 2, 3 и тд переменных ? А потом их использовать в php
0
Evgen1337
210 / 130 / 60
Регистрация: 10.12.2017
Сообщений: 472
19.07.2018, 15:40 16
Цитата Сообщение от Evgen1337 Посмотреть сообщение
data.append('key', 'value');
сколько переменных столько и append'ов, зачем я 2 строки поставил ? %)
0
The_Host
6 / 6 / 3
Регистрация: 20.08.2016
Сообщений: 183
19.07.2018, 15:43  [ТС] 17
Evgen1337, В php их как вытащить тогда ?
0
Evgen1337
210 / 130 / 60
Регистрация: 10.12.2017
Сообщений: 472
19.07.2018, 15:44 18
PHP
1
$_POST['key']
0
The_Host
6 / 6 / 3
Регистрация: 20.08.2016
Сообщений: 183
19.07.2018, 17:08  [ТС] 19
Evgen1337, А как вместо value передать именно значение переменной, оно у меня числовое

Добавлено через 15 минут
PS: Получаю переменную путем перемножения взятых данных из input'ов, в итоге получаю число, которое будет изменяться в зависимости от введенных значений без перезагрузки страницы. И вот эту переменную мне надо подать в php файл чтобы так его сравнить с значением из таблицы и вывести другое значение из ячейки таблицы
0
Evgen1337
210 / 130 / 60
Регистрация: 10.12.2017
Сообщений: 472
19.07.2018, 17:41 20
Javascript
1
2
var computedValue = 100;
data.append('key', computedValue);
1
19.07.2018, 17:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.07.2018, 17:41

Всплывающее окно для ввода в Input значений
Доброго времени суток! Вопрос такой:есть такой код: &lt;table width=&quot;327&quot;...

Одинаковая ширина для полей input text & input password
Никак не получается выровнять ширину двух тектовых полей: input type='text' и...

Выбрать записи, где поле ФИО из БД с исходными данными равно полю ФИО из БД с данными для сравнения. Сравнение в цикле
Доброго времени суток! Есть 2 базы данных. 1. Исходные данные: ФИО, адрес,...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru