[英]mysql_query doesn't show all query
我想在cc_did_use中显示所有不同的id_did
function 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,如何从这两个值中获取数字呢?
您正在获取结果并检查if
仅执行一次的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
首先尝试使用mysqli
或pdo
代替mysql
否则您将在更新版本的php中遇到问题
根据您的代码$ text值由于循环而被覆盖,因此请使用类似这样的数组
if ($row = mysql_fetch_array($result)) {
$text[] = $row['id_did'];
}
return $text;
或者您可以只返回完整的数据作为return $row;
if ($row = mysql_fetch_array($result))
{
$text = $row['id_did'];
}
将上面的行更改为此
while($row = mysql_fetch_array($result))
{
echo $row['id_did'].'<br/>';
}
使用这样的while循环: http : //php.net/manual/en/function.mysql-fetch-array.php
Mysql Fetch数组仅返回当前元素
if ($row = mysql_fetch_array($result))
{
$text[] = $row['id_did'];
}
return $text; // returns both
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.