Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.03.2017, 22:54
Новичок на форуме
Отправить личное сообщение для shved86 Посмотреть профиль Найти все сообщения от shved86
 
Регистрация: 20.11.2016
Сообщений: 5

Получение данных ajax mysql
Добрый день. Подскажите пожалуйста, есть БД с значениями. есть код который динамически формирует HTML станицу
//получение  из таблицы 
header("Content-Type: text/html; charset=UTF8");
mysqli_query("SET NAMES utf8");
$link=mysqli_connect("localhost", "login", "pass", "DB"); 
mysqli_set_charset($link, 'utf8'); 
$query = mysqli_query($link, "SELECT s.description, v.value, u.unit_name, u.unit_type FROM sensor s, sensor_value v, parameter p, unit u WHERE s.sensor_id = v.sensor_id and s.sensor_id = p.sensor_id and v.param_id = p.param_sensor_id and u.unit_id = p.unit_id  and not exists  (select 1 from sensor_value b where v.sensor_id = b.sensor_id and v.param_id = b.param_id and dt > v.dt)");

 $table = '';
  $table .= '<table width="438" border="1">';
  $table .=  '<link rel="stylesheet" type="text/css" href="/www/stylesh.css">';

    
    for ($c1=0; $c1<mysqli_num_rows($query); $c1++) 
{ 
$row = mysqli_fetch_array($query); 

$table .= '<tr>' ; 
$table .= '<td width="198"><span class="r1">' .($row[description]). '</td>'; 
$table .= '<td width="48"><span class="r1">';
if ($row[unit_id < 4]) $table .=  ($row[value]).($row[unit_type]). '</td>'; 
else $table .=  ' <a href="/kolodec.php"><input class = "submitButton" type= "Button" id="Control Panel" " value="Настройка"></a>  </td>' ;
    
$table .= '</tr>' ;
 

} 

    echo $table;

.
Пробывал вызывать этот файл через ajax запрос раз в нескольно секунд и потом выводить значение чере document.write но в момент обновления картинка в браузере смаргивает.
Не могу поднять как сделать ajax запрос что бы значени обновлялись в реальном времени
Ответить с цитированием
  #2 (permalink)  
Старый 25.03.2017, 23:05
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

shved86,
никогда не используйте document.write
http://api.jquery.com/load/
Ответить с цитированием
  #3 (permalink)  
Старый 26.03.2017, 09:20
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

<table width="438" border="1"><link rel="stylesheet" type="text/css" href="/www/stylesh.css"> - это ошибка. Стили нужно подключать до таблицы, а может и вообще не стоит этого делать здесь.
Ответить с цитированием
  #4 (permalink)  
Старый 04.04.2017, 23:33
Новичок на форуме
Отправить личное сообщение для shved86 Посмотреть профиль Найти все сообщения от shved86
 
Регистрация: 20.11.2016
Сообщений: 5

Спасибо за помощ, рони,
load сработал. laimas,
стили поставил до таблици.
У меня еще вопросик возник. Я в цикле обращаюсь к MySql по средствам Ajax, и собираю динамически страницу, и вот решил что бы каждый раз ее не отображать проверять что если в переменную table пришло тоже значение что и в прошлой раз в цикле то страницу не обновляем. Но значение str.localeCompare("table") приходит -1 но я ожидал что после того как присвою значение str = table ответ будет 0 до тех пор пока что нить не поменяется в запросе. подскажите как можно это реализовать
<script>
  var str = "x";
  
   function show()
    {
     
      $.ajax({
        url: "/js/form1.php",
        cache: false,
        success: function(table){
          if ((str.localeCompare("table")) != 0){
            alert (str);
            str = table;
            alert (table);
            
            $("#div1").load("/www/js/form1.php");
          } 
           }
      });
  }
Ответить с цитированием
  #5 (permalink)  
Старый 04.04.2017, 23:38
Новичок на форуме
Отправить личное сообщение для shved86 Посмотреть профиль Найти все сообщения от shved86
 
Регистрация: 20.11.2016
Сообщений: 5

Разобрался )
if ((str.localeCompare("table")) != 0){

table - надо было без кавычек написать
Ответить с цитированием
  #6 (permalink)  
Старый 05.04.2017, 03:32
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от shved86
что бы каждый раз ее не отображать проверять что если в переменную table пришло тоже значение что и в прошлой раз в цикле
А зачем запрашивать сервер то, что уже есть у клиента?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка и получение данных AJAX Le7o AJAX и COMET 18 14.06.2016 21:55
AJAX. редактирование данных в таблице MySQL B1ackgh0st AJAX и COMET 1 09.01.2014 04:03
Ajax. Получение данных. X-man AJAX и COMET 5 14.11.2013 14:15
Получение данных AJAX. Кто как делает? visor jQuery 1 03.04.2013 14:11
ajax чат проблема с записью сообщения в базу данных mysql. Niksik AJAX и COMET 4 15.01.2012 14:04