随机数组不返回值

时间:2014-07-12 16:22:08

标签: php

我想返回随机值。我不知道为什么它会工作。像这样的代码。

我的表有3个字段:id,items,color。

值为:

1-bicycle-blue
2-car-black
3-phone-blue

查询

$a="SELECT items FROM table WHERE color = 'blue'";
$b=mysql_query($a);
$c=mysql_num_rows($b);

for($d=0; $d<$c; $d++){$e[]=mysql_fetch_array($b); $f[]=$e[$d][0].'<br>';}

,然后

echo array_rand($f);

当我刷新时,它不会返回自行车手机而是返回索引号 0 - 1

我尝试将像$a=[bicycle,phone]; echo array_rand($a);这样的手册放在其中。这是怎么回事?

2 个答案:

答案 0 :(得分:1)

我认为你的循环应该像

for($d=0; $d<$c; $d++){
    $e[] = mysql_fetch_array($b); 
    $f[] = $e['items'].'<br>';
}

修改

我认为Cbroe给出了这个问题的关键。 mysqli中的完整示例代码,我不做mysql,sry:)

//Connnection
$con = mysqli_connect( "somedbase", "dbuser", "dbpass", "dbscheme"); 

//Query string
$sql = "SELECT items FROM table WHERE color = 'blue'";

//Get results from DB
$result = mysqli_query($con, $sql);

//Loop through result set
while($row = mysqli_fetch_array($result)){

    //put each row into arr
    $arr[] = $row['items'];
}

//output random array item
echo $arr[array_rand($arr)];

答案 1 :(得分:1)

您可以使用MySQL

  

按兰德订购()

在你的查询中。这将直接为您提供所需的结果。