ถามเรื่องการสุ่มตัวเลขหน่อยครับ สุ่มเเล้วให้เรียงจากมากไปน้อย

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา ถามเรื่องการสุ่มตัวเลขหน่อยครับ สุ่มเเล้วให้เรียงจากมากไปน้อย

ถามเรื่องการสุ่มตัวเลขหน่อยครับ สุ่มเเล้วให้เรียงจากมากไปน้อย
ผมเเสดงข้อมุลมาจาก db เเล้วจะเพิ่มให้มันสุ่มตัวเลขด้านขวาตามรูป
เเถวเเรกสุ่ม45-50 เเถว2สุ่ม40-45 เเถวสามสุ่ม35-40เเบบนี้ลงไปเรื่อยครับ
ต้องเขียนประมาณไปไหน ขอบคุณครับ


<?php include 'controller/configdatabase.php'; 
?>
<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
</head>
  <style>
table {
  font-family: arial, sans-serif;
  border-collapse: collapse;
  width: 100%;
}

td, th {
  border: 1px solid #dddddd;
  text-align: left;
  padding: 8px;
}


</style>
<body>

<div class="container">
  <h2>Dynamic Tabs</h2>
  <ul class="nav nav-tabs">
    <li class="active"><a data-toggle="tab" href="#home">Home</a></li>
    <li><a data-toggle="tab" href="#menu1">Menu 1</a></li>
    <li><a data-toggle="tab" href="#menu2">Menu 2</a></li>
    <li><a data-toggle="tab" href="#menu3">Menu 3</a></li>
  </ul>

  <div class="tab-content">
    <div id="home" class="tab-pane fade in active">
     <table id="tableCredit" class="table table-bordered table-striped margin-top-table">
          <thead>
            <tr>
             
              <th class="text-center">Username</th>
              <th class="text-center">%</th>
            </tr>
          </thead>
          <tbody>
            <?php
            //ORDER BY RAND()
            $test = 50;
            $sql_history_credit = $sqlite->prepare("SELECT * FROM users ");
            $sql_history_credit->execute();
            
            while ($rsd_history_credit = $sql_history_credit->fetch(PDO::FETCH_ASSOC)) {
            
              ?>
              <tr>
              
               <td class="text-center"><?php echo $rsd_history_credit['username'] ?></td>
               <td class="text-center"><?php echo $test.'%' ?></td>

             </tr>
           <?php } ?>
         </tbody>
       </table>
       


    </div>
    <div id="menu1" class="tab-pane fade">
      <h3>Menu 1</h3>
      <p>Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
    </div>
    <div id="menu2" class="tab-pane fade">
      <h3>Menu 2</h3>
      <p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam.</p>
    </div>
    <div id="menu3" class="tab-pane fade">
      <h3>Menu 3</h3>
      <p>Eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.</p>
    </div>
  </div>
</div>

</body>
</html>


Golff Sinlapachai 09-03-2020 18:46:19

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1
ใช้คำสั่ง rand(min, max); เช่น <?php echo rand(40, 45); ?> 
ส่วนค่าที่จะกำหนด เป็น min และ max ของแต่ละแถว ก็ขึ้นกับเงื่อนไข
ที่เราต้องการ อาจสร้างเป็นตัวแปร แล้วแทนค่าให้สัมพันธ์กับลำดับแถว
เช่น if($i == 1){ $min=40; $max=45; }
หรือจะสร้างเป็น array แล้วอ้างอิงแถวจาก key ของข้อมูล เช่น
 
$arr_min_max = array(
  "1"=>array(45,50),
  "2"=>array(40,45),
);
echo rand(...$arr_min_max[2]); // แทนเลขแถวด้วยตัวแปร แถว
// จะมีค่าเท่ากับ echo rand(40, 45);


ninenik 09-03-2020
 ความคิดเห็นที่ 2
ถามเพื่มหน่อยครับ พอกด Refresh  มันสุ่มเลขใหม่ มีวิธีกดRefresh เเล้วไม่เปลี่ยนตัวเลขไหมครับ

ผมอยากให้มันสุ่มเลขเป็นเวลา อย่างเช่น สุ่มทุกๆ 1 ชม.



Golff Sinlapachai 10-03-2020 11:34
 ความคิดเห็นที่ 3
ใช้การจัดการ cookie เข้ามาช่วยเก็บค่าตัวแปรใหม่ ทุกเวลาที่ต้องการ 
หาข้อมูลเพิ่มเติมเกี่ยวกับการใช้งาน cookie หรือดูบทความด้านล่างเป็นแนวทาง


>>>  อัพเดท >>> 10-03-2020
------------------------------------------
<?php
// ถ้ายังไม่มี cookie ชื่อนี้ หรือ มีแล้ว แต่หมดอายุ เช็คจากวันที่ข้อมูล cookie
// กำหนดอายุ ของ ตัวแปร cookie ด้วย php ตอนที่ 2 http://niik.in/445 
// https://www.ninenik.com/content.php?arti_id=445 via @ninenik
if(!isset($_COOKIE['ck_checktime']) || (isset($_COOKIE['ck_checktime']) && time() > (int)$_COOKIE['ck_checktime'])){
	setcookie("ck_checktime", time() + 60,time() + 60); // สร้าง cookie เวลาปัจจุบันใหม่ ทุก 1 นาที บวกเพิ่มเท่ากับ 60 วิ
	// การสร้างตัวแปร cookie ด้วย php ต้องใช้คำสั่งนี้โดยห้ามมีการ echo หรือแสดงค่าใดๆ ก่อน
	// ตัวแปร จะเรียกใช้งานได้ หลังจากสร้างและโหลดหน้านี้ใหม่อีกครั้ง เพราะตัวแปร cookie จะถูกส่งใปใช้งานผ่าน header
	$arr_data = array(rand(45,50),rand(40,45),rand(35,40),rand(30,35),rand(25,30)); // random ค่าแล้วเก็บเป็น array
	$str_data = implode(",",$arr_data); // ข้อมูล string โดยสร้างจากตัวแปร array
	setcookie("ck_valuedata", $str_data,time() + 60); // สร้าง cookie ข้มอูลใหม่ ทุก 1 นาที บวกเพิ่มเท่ากับ 60 วิ
}
?>
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 
    <title>Document</title> 
    <link rel="stylesheet" href="https://unpkg.com/bootstrap@4.3.1/dist/css/bootstrap.min.css" >
</head>
<body>
 
 <pre>
 <?php
 // เงื่อนไขสำหรับทำการ สร้างข้อมูลใหม่ เมื่อ cookie เปลี่ยนแปลง หรือหมดอายุ
if(!isset($_COOKIE['ck_checktime'])){
	echo "Generate!!!<br>";	
	echo $str_data."<br>";
	print_r(explode(",",$str_data)); // ใช้ค่าตัวแปรที่กำหนดให้กับ cookie ใหม่
}else{
	echo "Use old value.<br>";	
	echo $_COOKIE['ck_valuedata']."<br>";	
	print_r(explode(",",$_COOKIE['ck_valuedata'])); // ใช้ค่าจาก cookie เดิม
}
 ?>
 </pre>
</body>
</html>


บทความแนะนำที่เกี่ยวข้อง
การกำหนด ตัวแปร cookie ด้วย php ตอนที่ 1อ่าน 17,100
กำหนดอายุ ของ ตัวแปร cookie ด้วย php ตอนที่ 2อ่าน 13,224
กำหนด path ตัวแปร cookie ด้วย php ตอนที่ 3อ่าน 8,918
ninenik 10-03-2020
1






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ