phpMyAdmin
 sql >> Cơ Sở Dữ Liệu >  >> Database Tools >> phpMyAdmin

cách tạo báo giá trong ngày bằng php và mysql theo thứ tự theo id

dấu ngoặc kép
    quotes
    ----------------------------------
    | id | data        | data2
    ----------------------------------
    | 1  | first quote | translated quote
    | 2  | second...   | bla bla

Và sau đó bạn chọn nó như:

   $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;

CHỈNH SỬA !!:Tôi đã loại bỏ dateiff, vì vậy ID được trả lại từ sự khác biệt về ngày là TRỰC TIẾP ở ĐÂU.

Điều này thực hiện là tính toán chênh lệch giữa ngày đầu tiên và ngày hiện tại . Vì vậy, mỗi ngày dateiff sẽ lớn hơn 1 ngày. DATEDIFF(CURDATE()+1, '$firstday') as datediff có thể được hiểu là

datediff = differenceBetween(Currentday +1 and firstDay)
  • Hôm qua là 2011-07-06, do đó datediff = 2011-07-07 (there is +1!) - 2011-07-06 1
  • hôm nay, đó là 2011-07-08 - 2011-07-06 đó là 2
  • ngày mai 2011-07-09 - 2011-07-06 đó là 3
  • ngày mốt 2011-07-10 - 2011-07-06 đó là 4
  • trong một tháng, nó sẽ là 2011-08-08 - 2011-07-06 33

vì vậy, dateiff mỗi ngày lớn hơn 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
.....

Hoặc ngắn hạn:Mỗi ngày sẽ có một báo giá khác nhau, bắt đầu với ID 1 trở đi.

Tôi không thể giải thích thêm về điều này ..

CHỈNH SỬA # 2:5 dấu ngoặc kép mỗi ngày

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

chỉnh sửa thứ hai nhờ ajreal ( lỗi cú pháp SQL LIMIT )

CHỈNH SỬA # 3:5 dấu ngoặc kép mỗi ngày, có thể thay đổi theo biến ..

tùy chọn 1:

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

tùy chọn 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

tùy chọn 3:

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

Vì vậy, hãy chọn một trong những tùy chọn bạn thích và thêm nó trước tùy chọn này:

$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. Làm cách nào để nhập bảng trong phpmyadmin? Tôi gặp lỗi về kích thước tệp

  2. Phần mở rộng mysql không được dùng nữa

  3. Lỗi nghiêm trọng:Không thể khai báo lại __ () (đã khai báo trước đó trong D:\ wamp \ apps \ phpMyAdmin \ thư viện \ sql-parser \ src \ common.php:17)

  4. Không thể đăng nhập vào phpMyAdmin bằng mật khẩu gốc của tôi cho mySQL (trên Mac OS X Lion)

  5. Quyền truy cập phpMyAdmin bị từ chối đối với người dùng 'root' @ 'localhost' (sử dụng mật khẩu:NO)