$x_db = new Tdb($datahost, $datauser, $datapass, $dataname);
srand((float) microtime() * 10000000);
$sql = "SELECT p_name from store  limit 0,50";
$x_db->exec($sql);
$data = $x_db->get_data();
$n = $x_db->n;
for($i=0;$i<$n;$i++){
$p_name[]=$data[$i]['p_name'];
}
$pp_name = array_rand($p_name,3);
echo $pp_name[0]."<br>";
echo $pp_name[1]."<br>";
echo $pp_name[2]."<br>";  //输出的结果是三个数值 如(1 2 3)
我希望输出的值是数据表里的值

解决方案 »

  1.   

    原来是这样:
    $x_db = new Tdb($datahost, $datauser, $datapass, $dataname);
    srand((float) microtime() * 10000000);
    $sql = "SELECT p_name from store  limit 0,50";
    $x_db->exec($sql);
    $data = $x_db->get_data();
    $n = $x_db->n;
    for($i=0;$i<$n;$i++){
    $p_name[]=$data[$i]['p_name'];
    }
    $pp_name = array_rand($p_name,3);
    echo $p_name[$pp_name[0]]."<br>";
    echo $p_name[$pp_name[1]]."<br>";
    echo $p_name[$pp_name[2]]."<br>";  //现在就能输出数据表里的值了.哈哈
      

  2.   

    select * form table where username='$username' order by rand() limit 0,5 
    随机搜索符合要求的5条记录
    用这个语句应该能简化你的程序
      

  3.   

    MySQL有rand()函数…可以用qingxia(青虾)的方法解决,不需要用PHP编写函数控制了…
    PS:戏子老兄改名了?涉足演艺圈了?