ФорумПрограммированиеPHP для идиотов → Из PHP в JavaScript

Из PHP в JavaScript

  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 27 сентября 2008 г. 7:52

    Здравствуйте.
    Вопрос конечно старый и ламерский, но всеже=)
    Как передать массив из PHP в JavaScript?
    Причем так, что бы это было красиво и не получалось куча кода как у меня в нанный момент.
    Пример:

    Detali_kol = new Array("5403","5474","5475","5488","5493","5517","5522","5534","5535","5539","5542","5543"…
    Detali['5403'] = new Array('parents',
    'Price_Val',
    'neobhodim',
    'children',
    'obr',
    'Sdvig_Y_id',
    'Sdvig_id',
    'SdvigY',
    'Sdvig_Y',
    'SdvigX',
    'Sdvig',
    'vmeste',
    'razdelno',
    'cena',
    'opis',
    'Price_Val');
    Detali['5474'] = new Array('parents',
    'Price_Val',
    'neobhodim',
    'children',
    'obr',
    'Sdvig_Y_id',
    'Sdvig_id',
    'SdvigY',
    'Sdvig_Y',
    'SdvigX',
    'Sdvig',
    'vmeste',
    'razdelno',
    'cena',
    'opis',
    'Price_Val');


    так лист4 на 4, а потом еще и присваивается чего-нибудь всем элементам.
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 27 сентября 2008 г. 7:59, спустя 6 минут 29 секунд

    В прикрепленном файле наиболее большой генерируемый кусок =)
    P.S. Прошу не ругаться на мой код))
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 27 сентября 2008 г. 8:56, спустя 57 минут 31 секунду

    Professor, используй JSON и будет тебе счастье!
    adw/0
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 27 сентября 2008 г. 9:32, спустя 36 минут 5 секунд

    не, не подходит.
    У меня массив формируется для каждого продукта, так что, мне для каждого продукта еще и файл генерировать и сохранять на сервере?
    Правда была такая мысль=))

    Хотя может я что то не так понял о JSON.
    Ajax для меня еще тяжеловато.
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 27 сентября 2008 г. 10:29, спустя 56 минут 41 секунду

    Professor, не понял что тебе нужно из твоего поста, однако есл ты не используешь аякс, то преобразуй PHP-массивы в JSON формат (или формируй JS-массив с помощью foreach'а например) при формировании страницы… Кароче я не знаю твоих целей, но боюсь ты наделаешь велосипедов…
    adw/0
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 27 сентября 2008 г. 10:54, спустя 25 минут 13 секунд

    Professor, не понял что тебе нужно из твоего поста

    JS-массив формируется при формировании страницы.
    Но получается очень много JS кода.
    Хотелось бы как то его уменьшить.
    И, чтобы не изобретать велосипед, создал пост=)
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 27 сентября 2008 г. 11:06, спустя 11 минут 42 секунды

    JS-массив формируется при формировании страницы.
    Но получается очень много JS кода.

    Меньше чем сами данные, которые тебе нужны, у тебя не получится сделать :)
    А какой именно JS-код ты считаешь лишним?
    adw/0
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 27 сентября 2008 г. 11:15, спустя 9 минут 13 секунд

    вот этот

    Detali['5403'] = new Array('parents',
       'Price_Val',
       'neobhodim',
       'children',
       'obr',
       'Sdvig_Y_id',
       'Sdvig_id',
       'SdvigY',
       'Sdvig_Y',
       'SdvigX',
       'Sdvig',
       'vmeste',
       'razdelno',
       'cena',
       'opis',
       'Price_Val');

    В PHP такого не нужно!!
    Почему бы сразу не писать так
    Detali['5403']['Price_Val'] = "****";
    Detali['5403']['neobhodim'] = "****";
    =)

    так же не нравится, то что повторяется всегда "Detali['5403']" по 10 раз


    Задавая вопрос я предпологал, что есть метод какой нибудь.
    Типа записываем все нужные данные в 2-3 переменные в виде строки, а в JS уже эти данные циклами по массиву раскидываем.
    Кода гараздо меньше было бы.
    Повидимому самому думать прийдется как реализовать=((
     
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 27 сентября 2008 г. 11:31, спустя 15 минут 56 секунд

    У меня массив формируется для каждого продукта, так что, мне для каждого продукта еще и файл генерировать и сохранять на сервере?

    зачем файл создавать?
    adw/0
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 27 сентября 2008 г. 11:32, спустя 1 минуту 32 секунды

    Типа записываем все нужные данные в 2-3 переменные в виде строки, а в JS уже эти данные циклами по массиву раскидываем.

    ну так записывай, а потом разбирай и запихивай в массив… Для чего тебе массив, что ты потом с этими данными делаешь?
    adw/0
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 27 сентября 2008 г. 11:41, спустя 8 минут 48 секунд

    Вот что делаю


    Но это пока секрет!=)
    Еще немного не доделано.
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 27 сентября 2008 г. 11:43, спустя 1 минуту 22 секунды

    Если исходный текст посмотреть то можно понять, почему возник такой вопрос))
  • disc

    Сообщения: 843 Репутация: N Группа: Джедаи

    Spritz 27 сентября 2008 г. 11:45, спустя 2 минуты 44 секунды

    json_encode(array)
    переведет твой массив в JSON строку, ее будет проще обработать и передать в яваскрипт
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 27 сентября 2008 г. 11:49, спустя 3 минуты 30 секунд


    json_encode(array)
    переведет твой массив в JSON строку, ее будет проще обработать и передать в яваскрипт

    =) спасибо, А то я чуть функцию писать не начал))
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 27 сентября 2008 г. 12:26, спустя 36 минут 44 секунды

    Professor, я же сказал тебе JSON юзай в самом начале :)))
    adw/0

Пожалуйста, авторизуйтесь, чтобы написать комментарий!