簡體   English   中英

怎么寫這個mysql查詢?

[英]How write this mysql query?

我對此非常執着,非常感謝您的幫助。 我有一個帶有一些選擇選項的表單,我試圖讓它查詢數據庫中的某些日期行,以查找明天,下周和下個月遇到的條目。 我已經獲得了mysql命令,可以在php admin中正常工作,但是我無法弄清楚如何使它們在php的表單中工作。 我應該補充一點,將選擇的變量放入數組中,但是我無法弄清楚在哪里以及如何編寫MYSQL查詢。

我要使用的mysql命令是:

**NEXT WEEK**
SELECT start FROM  `tablename` 
WHERE START = DATE_ADD( CURDATE( ) , INTERVAL( 9 - IF( DAYOFWEEK( CURDATE( ) ) =1, 8, DAYOFWEEK( CURDATE( ) ) ) ) DAY ) 

**NEXT MONTH**
SELECT start FROM `tablename` WHERE start BETWEEN DATE_SUB(LAST_DAY(DATE_ADD(NOW(), INTERVAL 1 MONTH)),INTERVAL DAY(LAST_DAY(DATE_ADD(NOW(), INTERVAL 1 MONTH)))-1 DAY) AND LAST_DAY(DATE_ADD(NOW(), INTERVAL 1 MONTH))

形式如下:

<select id="start" name="start" class="form-control">
<option value="" disabled selected>When</option>
<option value="<?php echo date("Y-m-d");?>">Today</option>
<option value="<?php ------what goes here?---------?>">Tomorrow</option>
<option value="<?php-----what goes here?-----------?>">Next Month</option>
</select>

這是問題代碼:

$whereClauses = array(); 
if (! empty($_GET['start'])) $whereClauses[] ="(start='".mysqli_real_escape_string($connection,$_GET['start'])."'";

我建議您不要將日期或長字符串作為您選擇的表單的值。 調試變得令人沮喪。 而是使用簡單的密鑰,例如:

<select id="start" name="start" class="form-control">
<option value="" disabled selected>When</option>
<option value="today">Today</option>
<option value="tomorrow">Tomorrow</option>
<option value="next_month">Next Month</option>
</select>

現在,您可以在PHP中簡單地進行操作:

$whereClauses = array(); 
if (!empty($_GET['start']))
    if ($_GET['start'] == "today") {
        $whereClause[] = "START = CURDATE()";
    }
    else if ($_GET['start'] == "tomorrow") {
        $whereClause[] = "START = DATE_ADD( CURDATE( ) , INTERVAL( 9 - IF( DAYOFWEEK( CURDATE( ) ) =1, 8, DAYOFWEEK( CURDATE( ) ) ) ) DAY )";   
    }
    else if ($_GET['start'] == "next_month") {
        $whereClause[] = "start BETWEEN DATE_SUB(LAST_DAY(DATE_ADD(NOW(), INTERVAL 1 MONTH)),INTERVAL DAY(LAST_DAY(DATE_ADD(NOW(), INTERVAL 1 MONTH)))-1 DAY) AND LAST_DAY(DATE_ADD(NOW(), INTERVAL 1 MONTH))";
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM