sql >> データベース >  >> Database Tools >> phpMyAdmin

phpとmysqlを使用してその日の見積もりをID順に作成する方法

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

    そして、次のように選択します:

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

    編集!!:datediffを削除したため、日付の違いから返されるIDは直接WHEREにあります。

    これは、初日と現在の日付の差を計算することです。 。したがって、そのdatediffは毎日1大きくなります。DATEDIFF(CURDATE()+1, '$firstday') as datediff

    と解釈できます
    datediff = differenceBetween(Currentday +1 and firstDay)
    
    • 昨日は2011-07-06だったので、datediff = 2011-07-07 (there is +1!) - 2011-07-06 これは1
    • 今日は2011-07-08 - 2011-07-06 これは2
    • 明日2011-07-09 - 2011-07-06 これは3
    • 明後日2011-07-10 - 2011-07-06 これは4
    • 1か月で2011-08-08 - 2011-07-06 これは33

    したがって、datediffは毎日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
    .....
    

    またはまもなく:ID 1以降、毎日異なる見積もりになります。

    これ以上説明することはできません。

    編集#2:1日5回の引用

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

    ajrealによる2回目の編集(SQLLIMIT構文エラー

    編集#3:1日5引用符、変数で変更可能..

    オプション1:

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

    オプション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
    

    オプション3:

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

    したがって、必要なオプションの1つを選択し、その前に追加してください:

    $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. phpMyAdminを使用してデータベーステーブルにフィールドを挿入する

    2. phpMyAdminを使用してデータベースからテーブルを削除する

    3. phpMyAdmin AllowNoPasswordがMySQLデータベースで機能することを誰かが確認できますか?

    4. WAMPでMySQLポート番号を変更した後のPHPMyAdminページエラー