PHP 打乱顺序循环输出$xxmc  $xxmc是从数据库里读出来的
for($o=0;$o <3;$o++) 

                         答案                    对应(外键)  编号(对应主键)  
  echo " <td height='28'>$xxmc <input type='radio' name='$zid' value='$xid' </td>"; } 
?> 
<input type='submit' value="确认提交">

解决方案 »

  1.   

    $xxmc 里面顺序是什么,有可能数据库记录本身顺序就是乱了。一般数据库SQL都会 Order by 进行排序。
      

  2.   

    $xxmc 都有对应主键所以乱不了的怎样 PHP 打乱顺序循环输出$xxmc 
      

  3.   

    ....
    没联系,你像主帖那样写有什么意义么?
    $xxmc到底是数组还是字符串?是数组的话,是个什么样的数组?是字符串的话,是个什么样的字符串?
      

  4.   

    //连接数据库
    $my=new mysqli('localhost','root','admin','ksxt');
    // 如果zit=主题ID的话查他的4个选项
    $que="select * from xyb  where zit='$zid'";
    // 执行
    $re=$my->query($que);
    // 循环输出4个选项
    for($o=0;$o<3;$o++)
    {
    // 查一行
    $row=mysqli_fetch_array($re);
    // 如果$xid=$row[xid]
    $xid=$row[xid];
    // 如果$xxmc=$row[xxmc];
    $xxmc=$row[xxmc];
                                                   // 输出4个选项
    echo "<td height='28'  style='padding-left:25px;'>$xxmc<input type='radio' name='nm'
          value='$xid'</td>";
      

  5.   

    1.数据不大就尝试这个$que="select * from xyb  where zit='$zid' order by rand()"; 2.数据大就for($o=0;$o <3;$o++)
    {
    // 查一行
    $row=mysqli_fetch_array($re);
    // 如果$xid=$row[xid]
    $xid=$row[xid];
    // 如果$xxmc=$row[xxmc];
    $xxmc=$row[xxmc];
                                                  // 输出4个选项
    $html[] = " <td height='28'  style='padding-left:25px;'>$xxmc <input type='radio' name='nm'
          value='$xid' </td>"; 
    }
    $td = array_rand($html,4);
    echo implode(" ",$td);
      

  6.   

    貌似$que="select * from xyb  where zit='$zid' order by rand()"; 已经用到索引,不用考虑数据大不大的问题..
      

  7.   

    从数据库取xxmc是可以用随机数取!
    $sqlu = mysql_query(select count(*) from tablename);
    $num = mysql_fetch_row($sqlu);
    $ran = random(0, $num);
      $sql = mysql_query("select xxmc from tablename limit $ran, 3");
    $result = mysql_fetch($sql); foreach($result as $value) {
       输出
    }