phpMyAdmin
 sql >> Teknologi Basis Data >  >> Database Tools >> phpMyAdmin

cara membuat kutipan hari ini menggunakan php dan mysql diurutkan berdasarkan id

    quotes
    ----------------------------------
    | id | data        | data2
    ----------------------------------
    | 1  | first quote | translated quote
    | 2  | second...   | bla bla

Dan kemudian Anda memilihnya seperti:

   $firstday="2011-06-06";
    $getquote = mysql_query("SELECT * FROM quotes WHERE id=(DATEDIFF(CURDATE()+1, '$firstday'))");
$quote = mysql_fetch_object($getquote);
echo $quote->data . $quote->data2;

EDIT!!:Saya telah menghilangkan dateiff, jadi ID yang dikembalikan dari perbedaan tanggal LANGSUNG di WHERE.

Apa yang dilakukan adalah menghitung perbedaan antara hari pertama dan tanggal saat ini . Jadi setiap hari tanggal itu akan menjadi 1 lebih besar.DATEDIFF(CURDATE()+1, '$firstday') as datediff dapat diartikan sebagai

datediff = differenceBetween(Currentday +1 and firstDay)
  • Kemarin adalah 07-06-2011, oleh karena itu datediff = 2011-07-07 (there is +1!) - 2011-07-06 yaitu 1
  • hari ini adalah 2011-07-08 - 2011-07-06 yaitu 2
  • besok 2011-07-09 - 2011-07-06 yaitu 3
  • lusa 2011-07-10 - 2011-07-06 yaitu 4
  • dalam satu bulan adalah 2011-08-08 - 2011-07-06 yaitu 33

jadi, datediff setiap hari lebih besar 1

quotes
-------------------------
|id| data
-------------------------
|1| quote          day 1 (because date difference from start == 1)
|2| quote 2        day 2 (datediff == 2)
|3| quote 3        day 3 (datediff == 3)
|4| quote 4        day 4
.....

Atau segera:Setiap hari akan ada kutipan yang berbeda, dimulai dengan ID 1 teruskan.

Saya tidak bisa menjelaskan lebih dari ini..

EDIT #2:5 kutipan sehari

$offset = date_diff(new DateTime('now'), new DateTime('2011-08-29'))->format('%d');
$getquote = "SELECT * FROM quotes LIMIT {$offset},5";

edit kedua berkat ajreal (kesalahan sintaks SQL LIMIT )

EDIT #3:5 kutipan sehari, dapat diubah menurut variabel..

opsi 1:

$choose=0; //statically defined, only first of that day will pop out

opsi 2:

$choose = mysql_real_escape_string($_GET["qid"]); //which one will be defined in url.. (watch out, people can figure it out and browse through all quotes

opsi 3:

$choose = rand(0,4); //will choose it randomly from those 5 daily quotes

Jadi, pilih salah satu opsi yang Anda suka, dan tambahkan sebelum ini:

$offset = 5*date_diff(new DateTime('now'), new DateTime('2011-08-29'))->format('%d') + $choose;
$getquote = mysql_query("SELECT * FROM quotes WHERE id = '$offset'");
$quote = mysql_fetch_object($getquote);
echo $quote->data . $quote->data2;


  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Mengapa phpmyadmin secara signifikan lebih cepat daripada baris perintah mysql?

  2. Statistik kueri mengambil 99% dari waktu kueri

  3. input mysqli_query melalui variabel

  4. phpMyAdmin mengatakan tidak ada hak istimewa untuk membuat basis data, meskipun masuk sebagai pengguna root

  5. PHPMyAdmin 500 Internal Server Error di Apache karena Versi PHP