这是我在这个网站上的第一个主题;我刚从PHP开始,我是一个新手。
我看到我的问题已被多次询问和回答;我想几乎已经阅读了所有这些内容,但我没有找到最终答案。
我需要从PHP(V. 5.5)发送MySQL查询到JQuery函数的结果。 对我来说很重要的是,发送的文本字符串的格式为:FieldName = FieldValue
我尝试了本网站上发现的大部分建议,但实际上每个字段都有一个双重输入,其中包括索引:键名'。换句话说,每个字段都被发送两次,并且与fied相关联的值丢失。
使用此代码执行最后一次测试:
foreach(array_keys($row) as $key => $valore) {
echo ($key." --> value= ".$valore."<br/>");
}
我实际收到的是:
0 --> value= 0
1 --> value= IDcomponent
2 --> value= 1
3 --> value= IDtype
4 --> value= 2
5 --> value= Manufacturer
....
而我需要的是:
IDcomponent = 100
IDtype= 5
Manufacturer = Texas
...
使用此备用代码:
$fields=mysql_num_fields($result);
for ($ix=0; $ix<$fields; $ix++) {
$ky = $row[$ix];
echo ($ky." = ".key($ky)."<br>");
}
我得到(例子):
100 =
5 =
Texas =
密钥名称为空。
我希望这很清楚;抱歉有任何错误。
非常感谢任何帮助,谢谢
答案 0 :(得分:3)
我认为你在寻找:
foreach($row as $key => $valore) {
echo ($key." --> value= ".$valore."<br/>");
}
使用array_keys()
只能循环遍历array_keys的数组。
答案 1 :(得分:1)
谢谢@Tobias;我之前尝试过你的代码,但我仍然在答案中得到两次相同的字符串。
实际上我通过解决方法解决了我的愚蠢问题。 解决方案是使用您建议的相同代码,然后使用IF来测试奇数/偶数行,然后仅发送奇数行。野蛮,但它做的工作,等待了解我做错了什么。
$cnt=0;
foreach($row as $key=>$value)
{
if (($cnt & 1))
echo $key."|".$value."§";
$cnt++;
}
感谢@treegarden,他给了我一个有趣的暗示进行调查。