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 :: Сложные массивы [2]

 PHP.SU

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


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

> Без описания
Faab
Отправлено: 20 Июля, 2012 - 09:08:04
Post Id


Гость


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


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




Итак, код в студию.
PHP:
скопировать код в буфер обмена
  1.  
  2. $result = array();
  3. $i=0;
  4. $lessen = mysql_query("SELECT title FROM lessen", $db);
  5. while ($myles = mysql_fetch_array($lessen))
  6. {
  7. $result[]=$myles;
  8. $i=$i+1;
  9. };
  10. $result['number']=$i
  11. echo json_encode($result);


В JQuery через функцию .ajax я обратился в PHP файлу обратиться информации. Как вы видите PHP файл ЩЕДРО делится информацией: передаёт лист назад. Я так умею выводить только одно свойство. А теперь учусь выводить не только title, но и id и тд и тд. Какой формы будет массив, мне не интересно: не бывает не красивых массивов = бывает мало памяти. Желательно без повторов конечно. В чём я координально не прав?
 
 Top
tuareg
Отправлено: 20 Июля, 2012 - 09:16:18
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


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




И??
Допустим у Вас таблица lessen такая
id title
1 title1
2 title2
3 title3
4 title4
5 title5
В результате Вашего кода будет такой массив
PHP:
скопировать код в буфер обмена
  1.  
  2. $result=array(
  3.  0=>array(0=>'title1','title'=>'title1')
  4.  1=>array(0=>'title2','title'=>'title2')
  5. ...
  6.  4=>array(0=>'title5','title'=>'title5')
  7. 'number'=>5
  8. )
  9.  

Почему будут повторы я написал выше. А какой массив Вам надо?
 
 Top
Faab
Отправлено: 20 Июля, 2012 - 09:20:17
Post Id


Гость


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


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




Ну всё понятно. Спасибо, что научили выводить массив в понятной форме. Когда видишь массив, то решать задачи легче. В принципе повторы не страшны.

Так и вертится вопрос на языке "Почему вы советуете прописывать msqli_*", но боюсь я догаваюсь, что ключевыми словами ответа будут Яндекс или Google
 
 Top
tuareg
Отправлено: 20 Июля, 2012 - 09:26:33
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


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




Faab пишет:
Ну всё понятно. Спасибо, что научили выводить массив в понятной форме. Когда видишь массив, то решать задачи легче. В принципе повторы не страшны.

Так и вертится вопрос на языке "Почему вы советуете прописывать msqli_*", но боюсь я догаваюсь, что ключевыми словами ответа будут Яндекс или Google

Нет, почему же. Улыбка В нескольких словах. Он быстрее, если mysql_ предназначен для работы с mySQL3(ну может быть 4), то mysqli_ уже 5. (не значит, что не работает, а просто можно использовать все ф-и mySQL процедуры и ...)
На счет повторов. mysql-fetch-array Там все написано.
http://php.su/functions/?cat=mysql Здесь про mysql и mysqli
 
 Top
Faab
Отправлено: 20 Июля, 2012 - 09:27:36
Post Id


Гость


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


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




tuareg пишет:
И??
Ну и всё. Массив, о которому я наивно мечтал в начале темы, я так понял,мне не получить. Полученный массив (тупо добывив bla в SELECT) = конечно не сказка, но работать можно. Ассотиативный массив так сильно не нужен, но поэкспоременитирую и с ним. Ну и всё... Новых предложений и не было вроде.
 
 Top
tuareg
Отправлено: 20 Июля, 2012 - 09:33:58
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


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




допустим lessen типа
id title name column
1 title1 name1 column1
2 title2 name2 column2
3 title3 name3 column3
4 title4 name4 column4
Код
PHP:
скопировать код в буфер обмена
  1.  
  2. $result = array();
  3. $i=0;
  4. $lessen = mysql_query("SELECT id, title, name, column, FROM lessen", $db);
  5. while ($myles = mysql_fetch_array($lessen, MYSQL_ASSOC))
  6. {
  7.    $result[][$myles['id']][$myles['title']][$myles['name']]=$myles['column'];
  8.    $i=$i+1;
  9. };
  10. $result['number']=$i
  11. echo json_encode($result);
  12.  
 
 Top
Faab
Отправлено: 20 Июля, 2012 - 10:08:33
Post Id


Гость


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


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




Ну вот и сама магия, ради которой я и пришёл сюда. И вы хотели что бы я сам пришёл к этому?

Спасибо, что уделили внимание. Желаю всем приятного дня и не прощаемся. Подмигивание
[

(Отредактировано автором: 20 Июля, 2012 - 14:13:06)

 
 Top
Faab
Отправлено: 20 Июля, 2012 - 14:12:23
Post Id


Гость


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


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




к стати, когда многомерный кодируешь в json, то повторы просто изчезают. Обращаешься просто в JS:

CODE (javascript):
скопировать код в буфер обмена
  1. var fin = data[0][1];
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB