程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php+mysql實現數據庫隨機重排實例,phpmysql重排實例

php+mysql實現數據庫隨機重排實例,phpmysql重排實例

編輯:關於PHP編程

php+mysql實現數據庫隨機重排實例,phpmysql重排實例


本文實例實現了php+mysql數據庫隨機重排的方法,可將表中的所有數據隨機讀出來一次之後再進行隨機保存到另一個表,從而達到了記錄隨機的功能。

主要實現代碼如下:

復制代碼 代碼如下:<?php
//數據庫連接就不寫在這裡面了
$s = isset( $_GET['s'] )?$_GET['s']:0;
$e = isset( $_GET['e'])?$_GET['e']:50;
$count =85000;
if( $s < $count )
{
 $sql = "select * from 表前綴_info where isget =0 order by id desc limit $s,$e ";
 $query = mysql_query( $sql );
 while( $rs = mysql_fetch_array( $query ) )
 {
  $id = $rs['id'];
  $sss = $rs['sss'];
  $typeid = $rs['typeid'];
  $isget = $rs['isget'];
  $sql = "insert into 表前綴_info_bak (id,表前綴,typeid,isget) values('$id','$sss','$typeid','$isget')";
  mysql_query( $sql ) ;
  echo $sql;
  //exit;
  $sqlu = "update 表前綴_info set isget=1 where id =".$rs['id'];
  mysql_query( $sqlu );
 }
 echo '<meta http-equiv="refresh" content="0;url=rand.php?s='.($s+50).'&e=50">正在處理數據,當前為'.$s.'條......';
}
else
{
 echo '完成所有數據處理 <a href=rand.php>再隨機排序一次</a>';
}
?>

希望本文所述對大家的PHP程序設計有所幫助。


php讀取mysql數據庫隨機顯示指定數量的記錄

1)隨機取出5條記錄用sql語句就行了;
mysql如下:"select * from youtable order by rand() limit 5";

2)同樣隨機取5-10條:
$num=rand(5,10);
$sql="select * from youtable order by rand() limit $num";

ps:為什麼不是php分類問題?
 

問php+mysql中怎從數據表student中隨機抽取若干條(例如是五條數據)數據?

直接用select * from student order by rand() limit 5不是一個很好的習慣,這個要考慮到數據庫的大小問題,比如,數據量為10W以上,這樣查詢的效率是非常低的,資源也消耗挺多!你可以考慮在php與mysql結合來實現,比如:先用mysql 的count()計算出student的總條數$sum_num,賦值到php中的變量中,後在php中更具這個總條數進行生成隨機數(這裡涉及到你的5條數據是否為連續的5條隨機數,還是打亂的隨機五條),這裡如果生成連續的數據就只需要生成一個小於$sum_num-5的隨機數就可以了!根據這個隨機數進行limit取出5條就可以;如果這裡需要生成打亂的隨機數,就需要生成5個不相同的並且小於$sum_num隨機數,最後根據這些隨機數在數據庫中查詢,第一種情況用到limit 隨機數,5;;第二種情況用到in(隨機數1,隨機數2,隨機數3,隨機數4,隨機數5);在數據量大的情況下,這樣的效率和資源消耗的情況下都要比select * from student order by rand() limit 5好得多,當然如果數據量不多的話就用這個也可以!只是給你普及個知識!祝你學習愉快!(這裡暫且認為你會用php生成隨機數並且這裡的php生成的隨機數必須為大於0的整型哦,不會的話可以先百度、google,最後可以繼續給我留言)!
這裡因為你的id會有缺失所以有的方法不適用!就不一一列舉了!
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved