|
|
|
Проблема с использованием массива
|
|||
|---|---|---|---|
|
#18+
Проблема::: есть массив, я его заполняю на стороне сервера из базы, мне нужно, чтоб этот массив был доступен в javascript, проблема с пересылкой. Я думаю так, надо на стороне клиента, перебрать серверный массив, создать клиентский, потом использовать его, верно??? Если так то подскажите синтаксис этого, и сам вызов функции java и как передавать, спасибо. Или где почитать, полазил, видел похожие проблемы, но ничего конкретного. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2004, 10:24 |
|
||
|
Проблема с использованием массива
|
|||
|---|---|---|---|
|
#18+
Подробнее: Есть 10 картинок, есть двумерный массив mas[][] размерностью, 10х10, заполненный php из базы mysql, содержащий параметры 10 картинок. Есть таблица, из десяти строчек. При наведении на картинку, должна вызываться некая функция func() (в качестве параметра, передаю id картинки) в которой я меняю содержимое таблицы с помощью innerText, без перезагрузки. Проблема в передаче данных серверного массива mass в клиентскую функцию, а также синтаксис самой передачи и формирования клиентского массива. Или ход мыслей неправильный??? Подскажите, пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2004, 10:36 |
|
||
|
Проблема с использованием массива
|
|||
|---|---|---|---|
|
#18+
Может так попробовать, если я правильно понял задачу (это на стороне сервера, когда страница формируется): Код: plaintext 1. 2. 3. 4. Метод getArrayFillingString() и будет подставлять в контент страницы необходимые данные для массива, т.е. например, вернёт строку Код: plaintext После формирования страницы на сервере в браузере будет получено что-то вроде: Код: plaintext 1. 2. 3. 4. На JSP, наверное, я так бы сделал... (на 100% не уверен, что работать будет, сам не пробовал) С PHP незнаком вообще, но наверняка там такое-же можно реализовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2004, 23:20 |
|
||
|
Проблема с использованием массива
|
|||
|---|---|---|---|
|
#18+
Жду ещё вариантов, спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 03:38 |
|
||
|
Проблема с использованием массива
|
|||
|---|---|---|---|
|
#18+
JohnDanЖду ещё вариантов, спасибо ну ты ленивый ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 20:39 |
|
||
|
Проблема с использованием массива
|
|||
|---|---|---|---|
|
#18+
теперь новый вопрос::: <SCRIPT LANGUAGE="JavaScript"> var myArray = new Array(new Array()) myArray[0]['id'] = "<?echo $mas[0]['id']?>" myArray[1]['tip'] = "<?echo $mas[1]['tip']?>" window.alert(myArray[0]['id']) </SCRIPT> не выскакивает alert, если делаю одномерный массив, т.е. var myArray = new Array() myArray['id'] = "<?echo $mas[0]['id']?>" myArray['tip'] = "<?echo $mas[1]['tip']?>" window.alert(myArray['id']) всё нормально, в чём проблема??? не правильно многомерный массив объявил??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 12:08 |
|
||
|
Проблема с использованием массива
|
|||
|---|---|---|---|
|
#18+
напиши что генерится после выполнения скрипта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 13:32 |
|
||
|
Проблема с использованием массива
|
|||
|---|---|---|---|
|
#18+
включи еще опцию в баузере показывать ошибки на странице. у тебя там нет ";"(точки с запятой) в конце каждой строки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 15:29 |
|
||
|
Проблема с использованием массива
|
|||
|---|---|---|---|
|
#18+
zу тебя там нет ";"(точки с запятой) в конце каждой строки ...вроде как не обязательно На сколько я помню в JavaScript не поддерживаются многомерные массивы в привычном смысле этого "слова". Сомневаюсь так же на счёт правомочности записи: Код: plaintext Как вариант можно предложить следующий фрагмент серверной страницы: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Одноко имеются недостатки, например, я бы не стал для больших массивов так делать, т.к. это бы довольно сильно может увеличить размер страницы. Да и вообще, зависит от задачи... Вот тебе ещё примерчик, может поможет разобраться (рабочий): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 16:14 |
|
||
|
Проблема с использованием массива
|
|||
|---|---|---|---|
|
#18+
zвключи еще опцию в баузере показывать ошибки на странице. у тебя там нет ";"(точки с запятой) в конце каждой строки точка с запятой не вожна. Вот код браузера: <SCRIPT LANGUAGE="JavaScript"> var myArray = new Array(new Array()) myArray['0']['id'] = "значение1" myArray['1']['name'] = "значение2" window.alert(myArray['0']['id']) </SCRIPT> Ошибка: "myArray.1" - есть null или не является объектом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2004, 11:06 |
|
||
|
Проблема с использованием массива
|
|||
|---|---|---|---|
|
#18+
<html> <head> <SCRIPT LANGUAGE="JavaScript"> var myArray = new Array(new Array()) myArray['0']['id'] = "значение1" myArray['1']['name'] = "значение2" function al(){ window.alert(myArray['0']['id']) } </SCRIPT> </head> <body> <input type=button value='Alert!!' onClick='al()'> </body> </html> все отлично работает!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2004, 14:46 |
|
||
|
Проблема с использованием массива
|
|||
|---|---|---|---|
|
#18+
почему::: <html> <head> <SCRIPT LANGUAGE="JavaScript"> var myArray = new Array(new Array()) myArray['0']['id'] = "значение1" myArray['1']['name'] = "значение2" function al(){ window.alert(myArray['0']['id']) } </SCRIPT> </head> <body> <input type=button value='Alert!!' onClick='al()'> </body> </html> работает, а::: <html> <head> <SCRIPT LANGUAGE="JavaScript"> var myArray = new Array(new Array()) myArray['0']['id'] = "значение1" myArray['1']['name'] = "значение2" window.alert(myArray['0']['id']) </SCRIPT> </head> </html> нехочет??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2004, 07:06 |
|
||
|
Проблема с использованием массива
|
|||
|---|---|---|---|
|
#18+
http://pyramidin.narod.ru/jscript/clientguide13/default.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2004, 10:42 |
|
||
|
Проблема с использованием массива
|
|||
|---|---|---|---|
|
#18+
с предидущим уже всё ясно, новая проблема::: for(i = 0; i < <?echo $number?>; i++) { myArray = new Array(); <?$myrow = mysql_fetch_array($result);?>; myArray['name'] = '<?echo $myrow['name']?>'; myArray['id'] = '<?echo $myrow['id']?>'; } document.writeln(myArray[1]['name']); почему то не товыдаёт, как будто mysql_fetch_array выполнилось всего 1 раз, цикл крутиться необходимое кол-во раз, проверял, в чём проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2004, 11:03 |
|
||
|
Проблема с использованием массива
|
|||
|---|---|---|---|
|
#18+
JohnDanс предидущим уже всё ясно, новая проблема::: for(i = 0; i < <?echo $number?>; i++) { myArray = new Array(); <?$myrow = mysql_fetch_array($result);?>; myArray['name'] = '<?echo $myrow['name']?>'; myArray['id'] = '<?echo $myrow['id']?>'; } document.writeln(myArray[1]['name']); почему то не товыдаёт, как будто mysql_fetch_array выполнилось всего 1 раз, цикл крутиться необходимое кол-во раз, проверял, в чём проблема? у тебя идут вперемешку perl/php и javascript... perl/php выполняется на серверной стороне и генерит html(в твоем случае), в котором есть javascript. javascript будет уже выполняться на клиентской стороне. если это поймешь - все вопросы отпадут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2004, 15:40 |
|
||
|
Проблема с использованием массива
|
|||
|---|---|---|---|
|
#18+
z у тебя идут вперемешку perl/php и javascript... perl/php выполняется на серверной стороне и генерит html(в твоем случае), в котором есть javascript. javascript будет уже выполняться на клиентской стороне. если это поймешь - все вопросы отпадут Perl - а вообще нет. Я понимаю что где выполняется. Мне на стороне клиента, надо получить массив, содержащий в себе значения массива, сформированного из базы - вот цель, с одномерным проблем нет: var myArray = new Array(); myArray[0] = '<?echo $myrow[0]?>'; myArray[1] = '<?echo $myrow[1]?>'; но у меня, например, 1000 записей, я же не буду так писать 1000 строчек, я завожу массив: or(i = 0; i < 1000; i++) { myArray = '<?echo $myrow?>'; } вот тут то и косяк! Синтаксис какой должен быть в <?echo $myrow?> чтоб по индексу i обращаться к массиву php? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2004, 04:33 |
|
||
|
Проблема с использованием массива
|
|||
|---|---|---|---|
|
#18+
JohnDanвот тут то и косяк! Синтаксис какой должен быть в <?echo $myrow ?> чтоб по индексу i обращаться к массиву php? может, тебе на другой форум надо? ... Тебе предложен способ переноса серверного массива на клиент. Во время "работы" твоей странички в браузере работать ты будешь с "клиентским" массивом работать, а не с "серверным". И тогда уже пофиг где и каким образом сгенерен массив, т.к. ты его получаешь в контенте страницы (в самой странице) в виде, удобном для обработки из JavaScript. Если тебе нужно передать массив в 1000 элементов, то, это не самый подходящий способ, т.к. если массив сложен, то сильно увеличится размер передаваемых по сети данных (размер страницы). Хотя, если ты собрался это средствами JavaScript решить, то это, пожалуй, единственный способ (на мой взгляд). Такми образом, ты серверными средствами (PHP) генеришь код (программу), которая будет выполнятся на клиенте (браузере) и встраиваешь его в страницу. Чего тут не понятного? Ты вроде бы и говоришь, что понятно, но на деле... Далее: а для чего такая свистопляска: JohnDan Код: plaintext 1. 2. 3. 4. 5. 6. можно пояснить? На самом деле, чего ты этим хочешь добиться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2004, 11:19 |
|
||
|
Проблема с использованием массива
|
|||
|---|---|---|---|
|
#18+
Хочу получить массив клиентский со значениями серверными, взятыми из базы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2004, 11:34 |
|
||
|
Проблема с использованием массива
|
|||
|---|---|---|---|
|
#18+
JohnDanХочу получить массив клиентский со значениями серверными, взятыми из базы у тебя цикл формируется на клиентской стороне и НА СЕРВЕРНОЙ НЕ(!!!) выполняется. и все что написано в <? ?> выполняется на сервере один раз, если там нет циклов и т.д.(в твоем случае нет). если хочешь что-то делать в цикле <? for($i=0; $i<10; $i++){ print('s[$i]='.$mas[$i]); }?> и писец... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2004, 11:42 |
|
||
|
Проблема с использованием массива
|
|||
|---|---|---|---|
|
#18+
проверим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2004, 11:43 |
|
||
|
Проблема с использованием массива
|
|||
|---|---|---|---|
|
#18+
во-во... цикл на клиенте то зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2004, 11:44 |
|
||
|
Проблема с использованием массива
|
|||
|---|---|---|---|
|
#18+
А я смогу к массиву s[$i] обратиться из JS?? и какая разница? массив mas[] уже есть, и я создаю есчё один s[] аналогичный, или я что-то туплю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2004, 11:45 |
|
||
|
Проблема с использованием массива
|
|||
|---|---|---|---|
|
#18+
JohnDanА я смогу к массиву s[$i] обратиться из JS?? и какая разница? массив mas[] уже есть, и я создаю есчё один s[] аналогичный, или я что-то туплю у меня уже слов не хватает... если ты не прикалываешься, то это тяжелый случай.... на клиентской части он будет s[0]...s[9] Совет. Подумай что у тебя должно быть на клиентской стороне. напиши это в print(). если что-то можно сделать циклом(на серверной стороне) сделай это ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2004, 11:53 |
|
||
|
Проблема с использованием массива
|
|||
|---|---|---|---|
|
#18+
Большое спасибо, вопросов ПОКА не имею ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2004, 11:56 |
|
||
|
Проблема с использованием массива
|
|||
|---|---|---|---|
|
#18+
<SCRIPT LANGUAGE="JavaScript"> <? $query = "SELECT * FROM baza"; $result = mysql_query($query); $number = mysql_num_rows($result); $myrow = mysql_fetch_array($result); print('s[0]='.$myrow['id']); print('s[1]='.$myrow['name']); ?> </SCRIPT> Броузер выводит ошибку "Предполагается наличие ";"", ставлю ";" - без результата ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2004, 12:07 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=32737893&tid=2153599]: |
0ms |
get settings: |
5ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
49ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 222ms |
| total: | 374ms |

| 0 / 0 |
