0

我注意到在stackoverflow中有很多这样的主题,但我读到的只有1个变量,我有两个,我有点困惑。

所以这是我的代码,

$query = mysql_query("SELECT Provider.provider_id, provider.company_name FROM Provider");

while($row = mysql_fetch_array($query)){
    echo "'".$row['provider_id']."':'".$row['company_name']."',";

}

我正在使用它为 Jeditable 生成 javascript 代码。

我需要去掉最后一个逗号,这样我就可以结束剩下的代码了......

4

3 回答 3

3

我喜欢使用数组:

$query = ...;
$out = Array();
while($row = mysql_fetch_assoc($query)) {
    $out[] = "'".$row['provider_id']."':'".$row['company_name']."'";
}
echo implode(",",$out);

看起来您正在尝试输出某种 JSON,所以也许您可以使用:

$query = ...;
$out = Array();
while($row = mysql_fetch_assoc($query)) {
    $out[$row['provider_id']] = $row['company_name'];
}
echo json_encode($out);
于 2012-11-26T17:56:50.367 回答
2

所以我通常只是把这样的东西堆成一个数组,然后内爆:

$parts = array();
while($row = mysql_fetch_array($query)){
    $parts[] =  "'".$row['provider_id']."':'".$row['company_name']."'";

}

echo implode(',', $parts);

也就是说,看起来您正在输出 JSON 字符串的正文。如果是这样,您不应该手动构建它,而是应该使用它json_encode

$data = array();
while($row = mysql_fetch_array($query)){
    $data[$row['provider_id']] = $row['company_name'];

}

echo json_encode($data);
于 2012-11-26T17:56:28.050 回答
1
$query = mysql_query("SELECT Provider.provider_id, provider.company_name FROM Provider");
$result = "";
while($row = mysql_fetch_array($query)){
    $result .= "'".$row['provider_id']."':'".$row['company_name']."',";
}
$result = rtrim($result, ',');

或者

$query = mysql_query("SELECT Provider.provider_id, provider.company_name FROM Provider");
$result = array;
while($row = mysql_fetch_array($query)){
    $result[] = "'".$row['provider_id']."':'".$row['company_name']."',";
}
$result = implode(',' $result);

或者

获取记录数(mysql_num_rows($query)),当你打到最后一行时,做你想做的事

于 2012-11-26T17:56:01.783 回答