Веб-система Live Update - Ajax, PHP, MySQL - PullRequest
1 голос
/ 28 апреля 2011

Справочная информация: Мы запускаем мероприятие, в котором примут участие студенты из разных университетов.Веб-приложение будет сообщать в реальном времени о количестве студентов, зарегистрировавшихся на мероприятие.

Основной веб-макет:

enter image description here

Надеюсь, нужный макет понятен.Это необходимо обновлять каждые 5 минут, чтобы отобразить, как новые студенты зарегистрированы.Я получил обновление части, используя метод Ajax setTimeout ().

У меня есть таблица Student.Я использую следующий запрос:

  SELECT UNIV, STUDENT_NAME, STUDENT_EMAIL
      FROM STUDENT
      ORDER BY UNIV;

Однако основная проблема заключается в определении, когда добавить новую строку в таблицу, и отображении подробностей. Проблема 1. В настоящее время я использую переменную $currUnivчто относится к текущей стоимости университета.Если значение $currUniv и текущая выбранная строка не совпадают, я создаю новую строку

Код: в updater.php

function updateTable()
{
   $currUniv = "";
   while($currLine = mysql_fetch_array($results))
   {
      if (strcmp($currLine[0], $currUniv) != 0)
      {
         responseHTML .= "<tr id = \"{$currLine[0]}\">";
         responseHTML .= "<td id = \"{$GLOBALS["univ"]}\">";
         responseHTML .= "{$currLine[0]}";
         responseHTML .= "</td>";
         $currUniv = $currLine[0];
      }
         responseHTML .= "<td id = \"{$GLOBALS["studentname"]}\">";
         responseHTML .= "{$currLine[1]}";
         responseHTML .= "</td>";
         responseHTML .= "<td id = \"{$GLOBALS["studentemail"]}\">";
         responseHTML /= "{$currLine[2]}";
         responseHTML .= "</td>";
      if (strcmp($currLine[0], $currUniv) != 0)
      {
         responseHTML .= "</tr>";
      }
   }
}

Во-первых, таблица не отображается.Я не думаю, что это лучший алгоритм для создания таблицы.Кто-нибудь может предложить мне другие способы достижения того же самого?

1 Ответ

1 голос
/ 28 апреля 2011

Похоже, вы не открыли достаточно тегов tr и td, если название университета совпадает с названием из предыдущего ряда.Убедитесь, что в обоих случаях генерируется одинаковое количество тегов.Желательно использовать другое.Ячейки могут быть пустыми, но вы должны их сгенерировать.

Также есть ли веская причина, по которой вы не сортируете свои результаты по именам студентов в пределах одного университета?Это всего лишь небольшое изменение в запросе - ЗАКАЗАТЬ UNIV, STUDENT_NAME.Без этого вы не можете полагаться на порядок, данный вам mysql, он просто отбрасывает студентов в любом порядке, который, по его мнению, будет самым быстрым, особенно когда стол становится большим.Нужно обновить, это не достаточно сложно, чтобы дать повод превратить ваш код в то, что вы должны изучить с нуля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...