jquery мануал. Похоже ошибка в php части

Статус
В этой теме нельзя размещать новые ответы.

phillip

Полезный
Регистрация
4 Сен 2007
Сообщения
411
Реакции
15
Пробую работать с jquery и отказывается у меня работать один мануальчик. Но я думаю там проблема не в jquery, а в пхп. Помогите разобраться. Суть такова. jquery посылает запрос в пхп файл,
$_POST['action'] в моем случае равен 'list', поэтому привожу соотвествующий кусок кода:

Код:
function listEntry(){
$sql = "SELECT * FROM `todo` WHERE 1";
	if($result = mysql_query($sql)){
		$list = array();
		while($todo = mysql_fetch_array($result, MYSQL_ASSOC)) $list[] = $todo;
 
		return $list;
	}
 
	return false;
}
switch($_POST['action']){
case 'list':
		if($list = listEntry()){
			foreach($list as $key => $value){
				$list[$key] = autoencode(implode('|', $value));
				
			}
			print implode("\n", $list);
		}
	break;
 
}
Соответственно на выходе мне передается какая-то шляпа, которая не работает нифига. Помогите найти ошибку! сам урок по которому я делаю- тут хttp://www.kachayev.ru/2008/11/27/jquery-mysql-i-polnocennoe-veb-prilozhenie/
 
а что не выходит, ошибки или что нибудь выдает?
 
вот это: return false; разве надо не так: else { return false; } ? Помоему оно в функции listEntry() все время возвращает false
 
1) В базе данные есть?

Код:
SELECT * FROM `todo` WHERE 1

2) Если база непуста, listEntry() возвращает непустой массив?
Что в нем, если вывести?

3) Если в массиве все нормально, не портятся ли элементы массива при присвоении:

Код:
$list[$key] = autoencode(implode('|', $value));
 
>>вот это: return false; разве надо не так: else { return false; } ? Помоему оно в функции listEntry() все время возвращает false

хз. по-моему так как написано- тоже верно. я плохо шарю :confused:. но попробовал ваш вариант- осталось по-прежнему.

@funman
ошибки не выдает, выдает вот чо. Для просмотра ссылки Войди или Зарегистрируйся

@jik
1) данные есть.
2) в пхп я начинающий))) пробую делать gettype $f; $f= listEntry();. В итоге говорит что listEntry() это массив. Стало быть, не пустой он
3) вот тут хз. как определить портятся или не портятся? я думал вообще что autoencode это функция такая в пхп, но описания к ней найти не смог. искал на php.su
 
В код вставлены команды вывода отладочной информации. Выведется содержимое массива, затем выведутся строки 'begin loop' и 'end loop', между которыми будут вставлены строки со значениями, которые принимает $s

Код:
case 'list':
  if($list = listEntry()){
    print_r($list); // покажет, что в массиве
    print "begin loop\n";
    foreach($list as $key => $value){
      $s = autoencode(implode('|', $value));
      print "s=$s\n";
      $list[$key] = $s;
    }
    print "end loop\n";
    print implode("\n", $list);
  }
  break;
 
Вот что браузер показывает в результате:

Код:
Array ( [0] => Array ( [id] => 1 [text] => vcvcxv [data] => cxvxcv ) [1] => Array ( [id] => 2 [text] => 534543545ter [data] => 324e34 ) [2] => Array ( [id] => 3 [text] => 345 [data] => 324e34 ) [3] => Array ( [id] => 4 [text] => gf [data] => fdgdgd ) [4] => Array ( [id] => 5 [text] => nbnvbhjgjh [data] => gdfgrttryrty ) [5] => Array ( [id] => 6 [text] => ccxv [data] => vcxv ) [6] => Array ( [id] => 7 [text] => retrt [data] => fsdfsd ) [7] => Array ( [id] => 8 [text] => vcxvcx [data] => er34ttgsdfg ) [8] => Array ( [id] => 10 [text] => Starsky [data] => 423 ) ) begin loop 
Fatal error: Call to undefined function autoencode()
 
скрипт не находит функцию autoencode(). Поищите, в каком файле она определена, и вставьте эту функцию в файл, который мы анализируем.
 
не имеется она. ни в одном из файлов мануала :nezn: давайте как-нибудь избавимся от нее :D

Апдейт:
Всё!!!!! оказывается в одном из других постов автор мануала расписал эту функцию. Я ее вставил и все заработало! Всем спасибо за помощь!! я освоил мануал)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху