Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   взаимосвязанные выпадающие списки (https://javascript.ru/forum/server/8632-vzaimosvyazannye-vypadayushhie-spiski.html)

SkyLight 21.05.2010 11:59

А вы начало моего сообщения принципиально не заметили? Посмотрите на текст json, который сгенерится после вашего цикла. Там ошибку и найдете.

xDMK 21.05.2010 12:10

всё вроде правильно..

if ($_GET['cod_country'] == 1) {
$db = mysql_connect("localhost", "alloall", "12345");
mysql_select_db("alloall",$db);	
	
$items=mysql_query('SELECT id, cod_contry FROM alloall_code WHERE cod_zone=1');	


print '[';
while ($a = mysql_fetch_array($items)); 
{
print "{value:\"".$a['id']."\",text:\"".$a['cod_contry']."\"},";

}
print ']';
}

не получается создать разделители... он вроде загружает но поле пустое.. хотя раньше вообще было disabled

SkyLight 21.05.2010 12:56

Вообще по правилам имена полей тоже должны быть в двойных кавычках. И зачем вы используете экранирование? Не проще ли внешние кавычки сделать одинарными? У вас же все равно подстановка не используется.

xDMK 21.05.2010 14:14

всё равно не работает.
print '{"value":'.$a['id'].'"text":'.$a['cod_contry'].'}';

SkyLight 21.05.2010 15:37

А вы каждый приведенный листинг здесь руками пишете или копируете из живого кода? Т.к. в каждом у вас ошибка и всегда разная.

Раз уж нельзя воспользоваться json_encode (с которым задача решылись бы в разы проще), придется по старинке:
$json = '';
while ($a = mysql_fetch_assoc($items)){
	$json .= ($json ? ',' : '') . '{"value" : "' . $a['id'] . '", "text" : "' . addslashes($a['cod_country']) . '"}';
}
if ($json)
	echo '[' . $json . ']';

xDMK 21.05.2010 16:21

вот что получилось в php
<?
header('Content-Type: text/html; charset=windows-1251');
 if($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
$db = mysql_connect("localhost", "alloall", "12345");
mysql_select_db("alloall",$db);		 
	 
if ($_GET['cod_country'] == 1) {

	
$items=mysql_query('SELECT id, cod_contry FROM alloall_code WHERE cod_zone=1');	


$json = '';
while ($a = mysql_fetch_assoc($items)){
    $json .= ($json ? ',' : '') . '{"value" : "' . $a['id'] . '", "text" : "' . addslashes($a['cod_country']) . '"}';
}
if ($json) 
	    echo '[' . $json . ']';


 
?>

всё равно не работает.

SkyLight 21.05.2010 18:20

Не работает - это не ответ. Что именно не работает? Неправильный ответ сервера, отсутствие данных? И кстати, ответ по правилам должен быть на в windows-1251, а в UTF-8.

xDMK 21.05.2010 18:24

данные извлеклись тока самих данных нету. Тоесть появились пустые поля. и сколько их должно быть для данных.

SkyLight 21.05.2010 18:27

Ну тогда это уже сами ищите. Проверяйте правильность запроса и т.д.

xDMK 21.05.2010 18:33

всё заработало.. главное шаблон хоть есть.. остальное я попытаюсь сам сделать. А если я использую не Html Шаблон а .tpl
smarty. куда мне кидать файлы php рядом в этой же папке где .tpl? или лучше как то подругому сделать?


Часовой пояс GMT +3, время: 14:13.