2013-02-14 123 views
0

我有一個選擇框,其中選項值作爲查詢的變量。使用like語句與%

<option value="1">Monday</option> 

我們感興趣的查詢的部分是這樣的:

AND phpvms_schedules.daysofweek LIKE '%{$day}%'"; 

LIKE '%{$day}%'是期權價值所作的可變。基本上,它指定一個給定的日期並檢查option value存在daysofweekdb_schedules表中。 但是,我想添加更多的數字到選項值,基本上搜索表中的所有日程表。

<option value="1234560">All Days</option> 

如果我這樣做,我只是沒有結果。

我該如何做這項工作?

回答

2

查詢前補充一點:

if ($day == 1234560) 
    $day = ''; 

這將使WHERE LIKE '%%'和將返回所有工作日。

+0

謝謝,很好地工作,但是「所有Days'選項的預期輸出是輸出所有的時間表,雖然它只有那些確切的價值'1234560'。我怎樣才能做到這一點? – zzwyb89 2013-02-14 15:05:09

+0

您的數據庫設計可能會有很大改進。考慮使用JOIN以及連接到僅包含一週的模式的額外數據庫。那麼你可以有7行滿周的情況下,你根本不必使用LIKE。 – 2013-02-14 17:43:57

0

你可以像「1」,「2」,值「3」,然後進行查詢

AND phpvms_schedules.daysofweek In (%{$day}%) 
+2

你不會在'IN'中使用'%'。 – 2013-02-14 15:07:11