mysql_query不显示所有查询

时间:2014-09-25 12:11:10

标签: php mysql

我想在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, 我如何从这两个值得到数字?

5 个答案:

答案 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)

首先尝试使用mysqlipdo代替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