2014-06-24 56 views
-4

我使用php和mysql爲大學創建了一個數據庫;但是我希望能夠搜索條目。到目前爲止,我可以搜索「文本」信息,如「名稱」和「項目描述」;但不能得到單選按鈕來搜索學生按性別:M或F.PHP-mysql:在搜索中使用單選按鈕

搜索表單低於:

<tr><td><?php _e("Home university");?>:</td><td><input type="text" name="place" value="<?php echo cG("place");?>" /></td></tr> 
<tr><td><?php _e("Supervisor Name");?>:</td><td><input type="text" name="title" value="<?php echo cG("title");?>" /></td></tr> 
<tr><td><?php _e("Project Description Keyword");?>:</td><td><input type="text" name="desc" value="<?php echo cG("desc");?>" /></td></tr> 

在其中信息被輸入形式:

if (strlen(cG("title"))>=MIN_SEARCH_CHAR){ 
    $filter.= " and p.title like '%".cG("title")."%' "; 
    $order="p.insertDate Desc"; 
    $advs=true; 
} 

if (strlen(cG("desc"))>=MIN_SEARCH_CHAR){ 
    $filter.= " and p.description like '%".cG("desc")."%' "; 
    $order="p.insertDate Desc"; 
    $advs=true; 
} 
+1

我覺得這段代碼不可讀。 – Daan

+0

詳細信息如表格描述等。 – Sanoob

+1

我懷疑'cG()'和'_e()'來自標準庫。你能給他們更有意義的名字還是提供他們的定義? – 11684

回答

0

我試圖讀你的代碼,並給出了我的猜測。

這應該工作或至少是解決方案或線索,取決於功能「cG」所做的工作。但是您仍然需要更改某些內容以適合您的MySQL表定義並進行調試。

<tr> 
    <td> 
    Gender 
    </td> 
    <td> 
    <input type="radio" name="gender" value="Male" <?php if(cG("gender") == "Male") echo "checked=\"checked\" ";?>/>Male<br /> 
    <input type="radio" name="gender" value="Female" <?php if(cG("gender") == "Female") echo "checked=\"checked\" ";?>/>Female 
    </td> 
</tr> 

在你的PHP腳本:

if (strlen(cG("gender")) >= 4){ 
    $filter.= " and YOUR_GENDER_COLUMN_NAME_IN_TABLE = '".cG("gender")."' "; 
    $order="p.insertDate Desc"; 
    $advs=true; 
} 

清楚地記得檢查您的用戶輸入,以避免SQL注入。

+0

阿德里安侯,你搖滾!只是最好的,並且像魅力一樣工作。加我到你的網絡! – user3771711