Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: система комментариев на сайте

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: проблема связано с ajax и php
vassabi13
Отправлено: 08 Марта, 2012 - 16:35:34
Post Id


Новичок


Покинул форум
Сообщений всего: 52
Дата рег-ции: Март 2012  


Помог: 1 раз(а)




вот собстевено проблема!решил написать скрипт коментариев(опыта поднабраться).так вот столкнулся с такой продеммой
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?PHP
  2. if (isset($_POST["key"])) $key = $_POST["key"]; //то что передаем  из формы
  3. $db=mysql_connect('localhost','root','');
  4. if (!$db)
  5. {
  6.         exit;
  7. }
  8. mysql_select_db('new1',$db);
  9. $result=mysql_query ('SELECT `filename`,`id` FROM `photo`',$db);//заносим в переменную result резуьтат  запросса к баззе данных
  10. $row=mysql_fetch_assoc( $result);//формируем ассоциативный массив
  11. echo "<A HREF='music/{$row['filename']}'><img src='music/{$row['filename']}'</A><br>";//выводим  картинку
  12. $a=$row[id];//значение id статьи
  13. $result2=mysql_query ('Select `text` FROM `comments` WHERE `imageid` ='.$row['id'],$db); //ЗАПРоС К 2 БАЗЗЕ ДАННЫХ(где хранятся комменты)
  14. mysql_query ("INSERT INTO comments(imageid,text)
  15. VALUES ('$a','$key');");  
  16. $res = mysql_fetch_assoc($result2);
  17. echo json_encode($res);
  18.  
-это cкрипт который к определенной фотки добавляет определенный коментарий
решил задействовать ajax вот код
CODE (htmlphp):
скопировать код в буфер обмена
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <title>jQuery</title>
  6.  
  7. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
  8. <script type="text/javascript">
  9.         function runajax()
  10.         {
  11.                 var inp0 = $("#inp0").val();
  12.                 $.ajax({
  13.                   type: "POST",
  14.                   data: "key=" + inp0,
  15.                   url: "/ajax2.php",
  16.                   dataType: "json",
  17.                   success: function(data)
  18.                   {
  19.                         $("#inp1").val(data.id);
  20.                         var temp =data.key;
  21.                         $("#p1").text(temp);
  22.                   }
  23.                 })
  24.         }
  25.         $(document).ready(function(){
  26.                 $("#btn0").click(runajax);
  27.         });
  28. </script>
  29.  
  30. </head>
  31.  
  32. <body>
  33.         <p>Входные значения:</p>
  34.         <p><input type="text" id="inp0"> <input type="button" value="Отправить запрос" id="btn0"></p>
  35.         <p>Результаты обработки запроса:</p>
  36.         <p><input type="text" id="inp1"></p>
  37.         <p id="p1"></p>
  38. </body>
  39. </html>
  40.  

так вот собственно проблема это не хера не работает это проблема 1 и проблема 2 как сделать что бы он и преведущии комментарии отображал?
 
 Top
Opposite
Отправлено: 08 Марта, 2012 - 19:41:15
Post Id



Гость


Покинул форум
Сообщений всего: 109
Дата рег-ции: Март 2012  


Помог: 4 раз(а)




Мне кажется, у тебя проблемы конкретно в php.


Где кавычки у индекса?
PHP:
скопировать код в буфер обмена
  1.  
  2. $result2=mysql_query ('Select `text` FROM `comments` WHERE `imageid` ='.$row['id'],$db);
  3.  

Нет закрывающей кавычки в конце sql запроса, где ты значение imageid описывал.

Если хочешь вывести все комментарии, то делай так
PHP:
скопировать код в буфер обмена
  1.  
  2. while($row = mysql_fetch_assoc($result2)) {
  3. echo $row['text'] . '<br />';
  4. }
  5.  


И еще вместо isset советую использовать !empty т.к. он понадежнее в плане данных, полученных из формы
А вообще в начале каждого скрипта пиши error_reporting(E_ALL) и отладка тебе в помощь))

Будь внимательнее. Ну а в аяксе я не шарю Хм

(Отредактировано автором: 08 Марта, 2012 - 19:47:38)

 
 Top
DelphinPRO
Отправлено: 08 Марта, 2012 - 19:52:17
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




Opposite верно написал. ошибки в php. Яваскриптос ты запрашиваешь JSON данные, но если возникает ошибка на сервере, вывод ошибки делается простым html и функция $.ajax() в susses(data) записыавет пустое значение. так как JSON данных он не получала.

Попробуйте сначала запросить странику ajax2.php методом GET (через адресную строку)
отдладьте все ошибки. сделайте вывод в формате JSON/
т.е. если все правильно то вызов /ajax.php должен вывести что-то вроде
CODE (text):
скопировать код в буфер обмена
  1. {"param":"value","param2":"value"}


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB