Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: продолжает выводить даже если нечего
 
 автор: TavRoX   (11.01.2011 в 11:33)   письмо автору
 
 

вообщем пишу чат
аякс все дела
скрипт передает файлу пхп последний айдишник в списке
пхп запрашивает есть ли айди больше последнего
но если нету он всеравно выводит текст
и выходит так что скрипт в пустую фигашит, и выводит пустые записи с новыми айдишниками
где тут ошибка?
вот файл пхп обработчик

<?php require("../bd.php"); 

$lastmes $_POST['lastmes'];

$chat_from mysql_query("SELECT text FROM message_chat WHERE id>{$lastmes}");
while(
$chat mysql_fetch_assoc($chat_from)){
    
    echo 
$chat['text'];
}
?>

  Ответить  
 
 автор: Trianon   (11.01.2011 в 11:42)   письмо автору
 
   для: TavRoX   (11.01.2011 в 11:33)
 

>но если нету он всеравно выводит текст

кто - он?
Проитированный фрагмент никакого текста не выводит .
Если конечно id и вправду больше того, что там подставляется из {$lastmes}

  Ответить  
 
 автор: TavRoX   (11.01.2011 в 11:49)   письмо автору
 
   для: Trianon   (11.01.2011 в 11:42)
 

вот файл который делает обращение к этому
и посылает последний айдишник на пхп файл, но как он может чтото вывести если нету такого айдишника

<li id="555">

</li><li id="554">

</li><li id="553">

</li><li id="552">

</li>
........
<li id="4">

</li><li id="3">

</li><li id="2">

</li>
        <li id="1">1</li></ul>

  Ответить  
 
 автор: TavRoX   (11.01.2011 в 11:47)   письмо автору
 
   для: TavRoX   (11.01.2011 в 11:33)
 

вот файл который обращается к этому

<?php require_once("bd.php"); ?>
    <script type="text/javascript" src="../js/jquery-1.4.4.min.js"></script> 
    <script type="text/javascript">
        $(document).ready(function () {

            window.setInterval(function () {        // JavaScript Устанавливаем интервал запуска нашей функции
            var lastmes = $("#message li:first-child").attr("id");
            
              // берем id последнего потомка
                $.ajax({
                    url: "../blocks/showmessage.php", // указываем обработчик на стороне сервера
                    type: "POST", // указываем метод передачи данных 
                    data: {lastmes: lastmes}, // передаем переменные
                    success: function (data) {if (data){$("<li id=\""+(parseInt(lastmes)+1)+"\"></li>").prependTo("#message").text(data)};}
                });
            }, 1000); // период между запусками функции
            
        });
    </script>
<div class="blockDiv">
<div class="blockDivTitle">Чат</div>
<div class="blockDivText">
<ul id="message">
        <?php
           
           $res 
mysql_query("SELECT * from message_chat ORDER BY m_id DESC");
           while(
$s4ata mysql_fetch_assoc($res))
           {
            echo 
"<li id=\"".$s4ata['m_id']."\">".$s4ata['text']."</li>";
           }
              
        
?>
</ul>
</div>
</div>

  Ответить  
 
 автор: Trianon   (11.01.2011 в 11:56)   письмо автору
 
   для: TavRoX   (11.01.2011 в 11:47)
 

а это тут при чем?
Что у Вас подставляется в запрос, и что запрос выводит в поток?

Несмотря на поверхностный уровень знаний DOM, JS и jquery, мне представляется, что очередной элемент списка Вы формируете независимо от того, отдал Вам скрипт что-то в ответе, или отдал ответ пустым.

Вот это вот Вы взяли откуда?
(parseInt(lastmes)+1

  Ответить  
 
 автор: TavRoX   (11.01.2011 в 12:02)   письмо автору
 
   для: Trianon   (11.01.2011 в 11:56)
 

в запрос подставляется id <li id="">
последний, в нашем случае 1
больше 1-цы нечего нету там
в поток выводит пустоту

  Ответить  
 
 автор: Trianon   (11.01.2011 в 12:04)   письмо автору
 
   для: TavRoX   (11.01.2011 в 12:02)
 

>в запрос подставляется id <li id="">
>последний, в нашем случае 1

Где здесь 1 ?
Я вижу здесь пустую строку.
Потрудитесь формулировать мысли яснее.


>больше 1-цы нечего нету там
>в поток выводит пустоту

А что он должен выводить в поток в такой ситуации?

  Ответить  
 
 автор: TavRoX   (11.01.2011 в 12:04)   письмо автору
 
   для: Trianon   (11.01.2011 в 11:56)
 

проверка то идет в скрипте if (data) в таком виде возвращается булен значение
(parseInt(lastmes)+1 сверху идет выборка переданная в переменную

  Ответить  
 
 автор: Trianon   (11.01.2011 в 12:23)   письмо автору
 
   для: TavRoX   (11.01.2011 в 12:04)
 

>проверка то идет в скрипте if (data) в таком виде возвращается булен значение
Это Вы будете в соседнем фаруме рассказывать.

Я про другое спросил.
>(parseInt(lastmes)+1 сверху идет выборка переданная в переменную

Первичные ключи назначаются у Вас сервером БД, если я правильно понимаю.
Каким образом к идентификатору была прибавлена единица? Кто Вас такому научил?

  Ответить  
 
 автор: TavRoX   (11.01.2011 в 12:26)   письмо автору
 
   для: Trianon   (11.01.2011 в 12:23)
 

по примеру делал
они и добавляются
я ж показал в файлах чт опервичный ключ и идентификатор одинаковы

  Ответить  
 
 автор: Trianon   (11.01.2011 в 12:38)   письмо автору
 
   для: TavRoX   (11.01.2011 в 12:26)
 

Я не спросил, одинаковы или нет.
Что ж, вот и работать будет по примеру.Одно дело
Одно дело, когда единицу добавит сервер - по Вашему явному запросу к БД.
И совсем другое - когда Вы сами.
Вот у Вас и бежит куча пустых строк.

  Ответить  
 
 автор: TavRoX   (11.01.2011 в 12:48)   письмо автору
 
   для: Trianon   (11.01.2011 в 12:38)
 

вообщем беда была в файле подключения с базой
файл пхп обработчик просто законектил к базе,
обычный файл подключения имел в себе обновление по кукисам там разные и т.д.

  Ответить  
 
 автор: Trianon   (11.01.2011 в 13:33)   письмо автору
 
   для: TavRoX   (11.01.2011 в 12:48)
 

>вообщем беда была в файле подключения с базой
>файл пхп обработчик просто законектил к базе,
>обычный файл подключения имел в себе обновление по кукисам там разные и т.д.

а при чем тут строки в таблице сообщений?
Они то как появлялись?

  Ответить  
 
 автор: TavRoX   (11.01.2011 в 13:34)   письмо автору
 
   для: Trianon   (11.01.2011 в 13:33)
 

а черт его знает сам не пойму
я чисто так думаю попробую сделать отдельный файл подключения
сделал и заработало

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования