Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.08.2011, 13:36
Аватар для Sadist_dead
Профессор
Отправить личное сообщение для Sadist_dead Посмотреть профиль Найти все сообщения от Sadist_dead
 
Регистрация: 08.08.2011
Сообщений: 191

json получает только первую строчку из mysql почему ?
Есть скрипт php который делает выборку в базе mysql
засовывает все это дело в массив
$myrow

далее

echo json_encode($myrow);


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

и делать так

echo json_encode($myrow1);
echo json_encode($myrow2);
echo json_encode($myrow3);
echo json_encode($myrow4);
Ответить с цитированием
  #2 (permalink)  
Старый 10.08.2011, 13:39
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

json все нормально понимает, сфрмируй для него нормальный массив данных и скармливай ему... Для начала нужно понять как правильно получить список данных из SQL.
Ответить с цитированием
  #3 (permalink)  
Старый 10.08.2011, 14:09
Аватар для Sadist_dead
Профессор
Отправить личное сообщение для Sadist_dead Посмотреть профиль Найти все сообщения от Sadist_dead
 
Регистрация: 08.08.2011
Сообщений: 191

Как всегда грамотно навел на мысль , спасибо.
Как всегда грамотно навел на мысль , спасибо.
$result3 = mysql_query("SELECT *
FROM datapred
",$db);
$spisok = mysql_fetch_array($result3);
do
{
	 echo json_encode($spisok);

}
while ($spisok = mysql_fetch_array($result3));


Теперь три можно сказать массива json
скажи пожалуйста теперь на странице в <div id="id"></div>
мне будет падать три значения, как же мне их разделять ?
Ответить с цитированием
  #4 (permalink)  
Старый 10.08.2011, 14:11
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

$out = array();
$result3 = mysql_query("SELECT * FROM datapred",$db);
$spisok = mysql_fetch_array($result3);
do
{
	$out[] = $spisok;
}
while ($spisok = mysql_fetch_array($result3));

echo json_encode( $out );
Ответить с цитированием
  #5 (permalink)  
Старый 10.08.2011, 14:23
Аватар для Sadist_dead
Профессор
Отправить личное сообщение для Sadist_dead Посмотреть профиль Найти все сообщения от Sadist_dead
 
Регистрация: 08.08.2011
Сообщений: 191

Данные Формируются
Данные формируются в такой вид

[{"0":"1","id":"1","1":"350","Id_school":"350","2": "5v","id_class":"5v","3":"matematika","Id_p":"mate matika","4":"08\/20\/2011","date":"08\/20\/2011","5":"1","nomer_yroka":"1"},


{"0":"2","id":"2","1":"350","Id_school":"350","2": "5v","id_class":"5v","3":"russkii","Id_p":"russkii ","4":"08\/20\/2011","date":"08\/20\/2011","5":"2","nomer_yroka":"2"}



,{"0":"4","id":"4","1":"350","Id_school":"350","2" :"5v","id_class":"5v","3":"qwerty","Id_p":"qwerty" ,"4":"08\/20\/2011","date":"08\/20\/2011","5":"1","nomer_yroka":"1"}]

но тот вывод в div который мы делали :
success: function(data){
        for( var k in data ) {
            $( "#" + k ).html( data[ k ] );
		
        }

	}

перестает выводить ( наверное не понимаю какой из них ? )

<div id="Id_p"></div>

Последний раз редактировалось Sadist_dead, 10.08.2011 в 14:26.
Ответить с цитированием
  #6 (permalink)  
Старый 10.08.2011, 14:26
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

success: function(data){
    for( var i in data ) {
        for( var k in data[ i ] ) {
            $( "#" + k ).append( data[ i ][ k ] );
        }
    }
}
Ответить с цитированием
  #7 (permalink)  
Старый 10.08.2011, 14:29
Аватар для Sadist_dead
Профессор
Отправить личное сообщение для Sadist_dead Посмотреть профиль Найти все сообщения от Sadist_dead
 
Регистрация: 08.08.2011
Сообщений: 191

Сообщение от devote Посмотреть сообщение
success: function(data){
    for( var i in data ) {
        for( var k in data[ i ] ) {
            $( "#" + k ).append( data[ i ][ k ] );
        }
    }
}
Можно вопрос чтобы потом я глупых не задавал,
Можешь расписать как это работает в плане я просто не понимаю что ты делаешь (извините)

Таким образом в <div id="id_p"></div> у меня выведется все id_p
каким образом их разделить и вывести в разные дивы.
может стоит как вытащить из json все в php массив и потом с ним работать ???

Последний раз редактировалось Sadist_dead, 10.08.2011 в 14:36.
Ответить с цитированием
  #8 (permalink)  
Старый 10.08.2011, 14:37
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Ну переменная data выглядит так:
data = [
   {"id_school": "350", "id_class": "5v", ........ },
   {"id_school": "350", "id_class": "5v", ........ },
   {"id_school": "350", "id_class": "5v", ........ }
]

тоесть это массив который содержит в себе объекты, тоесть список полей из базу... я перебираю объекты в масиве и потом перебираю свойства объекта.
Ответить с цитированием
  #9 (permalink)  
Старый 10.08.2011, 18:43
Аватар для Sadist_dead
Профессор
Отправить личное сообщение для Sadist_dead Посмотреть профиль Найти все сообщения от Sadist_dead
 
Регистрация: 08.08.2011
Сообщений: 191

Пойдем от противного, (видимо сказывается плохое знание языка)
мне надо просто понять как оно работает
то есть у нас есть массив data многомерный который содержит в себе

data = [
   {"id_school": "350", "id_class": "5v", ........ },
   {"id_school": "350", "id_class": "5v", ........ },
   {"id_school": "350", "id_class": "5v", ........ }

]
могу и сказать так что
0:{"id_school": "350", "id_class": "5v", ........ },
   1:{"id_school": "350", "id_class": "5v", ........ },
   2:{"id_school": "350", "id_class": "5v", ........ }

то есть чтобы получить доступ ко второй строке и первому ее элементу многомерного массива data надо написать так
document.write(data[1][0]);

правильно?
Ответить с цитированием
  #10 (permalink)  
Старый 10.08.2011, 19:03
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от devote
for( var i in data )
Не надо так перебирать массивы.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему данный скрипт работает только в IE? hacker_007 Общие вопросы Javascript 4 08.09.2011 16:58
Почему скрипт срабатывает только после обновления страницы? Randomizer jQuery 2 01.09.2010 19:01
загрузка данных из XML, почему загружает только в Explorer asked86 AJAX и COMET 2 18.12.2009 16:29