我想在cc_did_use
中显示所有不同的id_didfunction getdidbycc($cccard_from_sipcard){
$result = mysql_query("SELECT id_did from cc_did_use where id_cc_card='$cccard_from_sipcard'");
if ($row = mysql_fetch_array($result))
{
$text = $row['id_did'];
}
return $text;
}
我有两个id_cc_card="31"
,其中一个值为id_dd="14"
,另一个one = "13"
但结果只显示了第一个。
我如何展示它们?
然后我有另一个功能
function get_did ($p){
$result = mysql_query("SELECT did FROM cc_did WHERE id ='$p'");
while ($row = mysql_fetch_array($result))
{
echo $row['id_did'].'<br/>';
}
}
当我运行getdidbycc函数时,它返回两个值,13和14, 我如何从这两个值得到数字?
答案 0 :(得分:2)
您正在获取结果并签入if
条件,该条件只执行一次。
if ($row = mysql_fetch_array($result))
{
$text = $row['id_did'];
}
您必须获取结果,直到结果数组中有值。所以尝试使用while
循环,
while($row = mysql_fetch_array($result)) // while there are records
{
$text[] = $row['id_did']; // store the result in array $text
}
return $text; // return the array
答案 1 :(得分:1)
首先尝试使用mysqli
或pdo
代替mysql
,否则您将面临更新版本的php中的问题
根据您的代码,$ text值因循环而被重写,因此请使用类似这样的数组
if ($row = mysql_fetch_array($result)) {
$text[] = $row['id_did'];
}
return $text;
或者您可以将完整数据作为return $row;
答案 2 :(得分:0)
if ($row = mysql_fetch_array($result))
{
$text = $row['id_did'];
}
将上述行更改为此
while($row = mysql_fetch_array($result))
{
echo $row['id_did'].'<br/>';
}
答案 3 :(得分:0)
使用类似的while循环:http://php.net/manual/en/function.mysql-fetch-array.php
Mysql fetch数组仅返回当前元素
答案 4 :(得分:0)
if ($row = mysql_fetch_array($result))
{
$text[] = $row['id_did'];
}
return $text; // returns both