【发布时间】:2014-01-22 01:07:20
【问题描述】:
我用我的 SQL 数据库中的mysql_fetch_array 创建了一个 PHP 数组。
我用 ajax 和 jQuery 将它检索到 JavaScript。
我的问题是 JavaScript 创建了两个数组,一个是简单的,一个是关联的,而不是 PHP 两者合二为一。
当我通过使用索引值myArray[0] 访问单元格来更新它时,同一单元格myArray['col1'] 的关联值不会更新。
有没有办法从索引值中获取独立单元格中的键,以便我可以同时更新两个数组?
更新:
这是生成数组 (XY) 的 PHP 代码。
$query = mysql_query("SELECT * FROM details_moteurs ORDER BY m_no_inventaire ASC")
$i=0;
while ($infosMoteurs = mysql_fetch_array($query)) {
$arrayMoteur[$i] = $infosMoteurs;
$i++;
}
我的表 details_moteurs 的第一列是 m_id。
// javascript code
Alert($arrayMoteur[0][0]) // give '1524'
Alert($arrayMoteur[0]['m_id']) // give me '1524'
但如果我想更新我的二维数组的单元格:
$arrayMoteur[0][0] = 'xyz';
alert($arrayMoteur[0]['m_id']) // give me '1524'
同样:
$arrayMoteur[0]['m_id'] = 'xyz';
alert($arrayMoteur[0][0]) // give me '1524'
我的问题是我使用了循环:
for(x = 0;x < arraySize;x++){
for(y = 0;y < lineSize;x++){
if(something){
$arrayMoteur[x][y] = 'xyz';
}
}
}
================================================ =================
好的,我修好了。
我将 mysql_fetch_array 替换为 mysql_fetch_assoc 以仅获得一个数组,并且我更正了我的循环:
for(var x in array)
for(var y in array[x]){
if(something){
$arrayMoteur[x][y] = 'xyz';
}
}
}
【问题讨论】:
-
Javascript 是如何“创建”2 个数组的?我不确定您所说的“在 PHP 中两者合而为一”是什么意思
-
也许您应该向我们展示生成 ajax 响应(以及响应主体本身)的 PHP 代码……
-
这就是 JQuery 所做的:纯黑魔法;)。向我们展示你的咒语,我们会看到 shazam 出了什么问题。
标签: javascript php arrays associative-array