Проблема с заполнением таблицы без перезагрузки страницы

  • Автор темы Автор темы JohnDan
  • Дата начала Дата начала
PHP:
$my_array = array('Alice', 'Fred');
echo '<script type="text/javascript">';
echo 'function Kindergarten() {';
echo 'var myArray = new Array( );';
echo 'myArray[0] = "' . $my_array[0] . '";';
echo 'myArray[1] = "' . $my_array[1] . '";';
echo '}';
echo '</script>';
 
Спасибо, вот это мне и надо было!!! вопросов больше не имею
 
то есть, ты хочешь сказать, что вывести, к примеру
echo '<td>' . $my_array[0] . '</td>';
ты можешь, а
echo 'myArray[0] = "' . $my_array[0] . '";';
уже не догадался?
Или ты даже первого не умел?
 
догадался, первое умел, теперь ситуация такова: вот код:

<?
$query = "SELECT * FROM 111";
$result = mysql_query($query);
$number = mysql_num_rows($result);
$mas = array();
for($i = 0; $i < $number; $i++)
{
$myrow = mysql_fetch_array($result);
$mas[$i]['id'] = $myrow['id'];
$mas[$i]['tip'] = $myrow['tip'];
}
?>
<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'])

всё нормально, в чём проблема??? не правильно многомерный массив объявил???
 
а зачем ты здесь показываешь пхп код?
у тебя проблема с яваскриптом?
Ну так почему ты не показываешь яваскрипт?!
 
<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>
 
Вот только дома ему и не хватало, да.
Гениальное предложение.

JohnDan
Интересно, до тебя с какого раза доходит?
по-моему - вообще ни с какого.
Ты в состоянии понять, что вот это
myArray[1]['tip'] = "<?echo $mas[1]['tip']?>"
НИКАКОЙ НЕ ЯВАСКРИПТ?
Это часть кода на ПХП!
А если у тебя не работает яваскрипт, то приводить надо код на яваскрипт! А не на пхп?
Неужели даже такую простую вещь ты понять не в состоянии?
PHP FAQ: Самые основы. ОЧЕНЬ ВАЖНОЕ ЗАМЕЧАНИЕ
 
В JS нельзя назначать массиву строковые индексы.

Используй что-то вроде:

PHP:
my_struct = {
    0:{
        'id':"",
        'foo':"bar"
    }
}
 
Если браузер IE, то можно через data binding. Обращение к серверу по любому будет, но без перезагрузки все страницы.
Можно еще с XML-контролами играться, но это поле плохо паханое.
 
Alexandre

Cid юзай DOMDocument - все можно при достаточном желании и опыте
Поскольку речь идет о выгрузке информации из базы при смене изображения, то я, честно, не вижу способа обойтись без перезагрузки. Поясни, пожалуйста, может быть, ты что-то другое имел ввиду?

Да, конечно, можно использовать прелоад всех данных в массив и подставлять их, но в коня ли корм ?
 
я сразу всё из базы заношу в массив, т.е. имею уже всё готовое.

-~{}~ 08.10.04 11:10:

crocodile2u В JS можно назначить строковые индексы, если я создаю одномерный массив:::
<SCRIPT LANGUAGE="JavaScript">
var myArray = new Array()
myArray['id'] = "<?echo $mas[0]['id']?>"
myArray['tip'] = "<?echo $mas[1]['tip']?>"
window.alert(myArray['id'])
</SCRIPT>
Всё работает, т.е. проблема именно в инициализации многомерного массива! Думаю так
 
Кто-нибудь - ну объясните ему, чтобы он яваскрипт свой писал и отлаживал безо всякого пхп.
 
ладно, уберу пхп, уть то не измениться

-~{}~ 13.10.04 07:05:

почему:::
<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.04 11:02:

с предидущим уже всё ясно, новая проблема:::

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 раз, цикл крутиться необходимое кол-во раз, проверял, в чём проблема?
 
ну в приведенном тобой коде оно и выполниться всего один раз.
пхп обрабатываеться до JS. прими это как факт. ни вместе, ни по очереди, сначала пхп на СЕРВЕРЕ, потом яваскрипт на КЛИЕНТЕ.
вопросы еще остались?
 
да, тогда каким образом мне это осуществить
 
если бы ты немного напрягся и подольше подумал, то уже давно бы все осуществил. Забудь про циклы в JS. вывод своих полей делай из пхп.
 
Может, дать ему в последний раз ссылку на фак,
PHP FAQ: Самые основы. Как работает PHP.
и закрыть уже тему, чтобы не мучался?
Ну сколько раз можно повторять одно и то же?
Читать он не хочет, понимать - тоже, а проблемы у него одни и те же.
 
Чё за отношение, не пойму, прошу помощи, а не денег, объясните по существу раз и всё. И если я прошу именно это, значит именно это и нужно!
 
Сверху