2013-02-16 29 views
0

您好,我可以幫助您處理腳本;我想從不同的列和價格範圍創建搜索腳本:所以search.php是:如何使用assoc array創建<form>

<?php 
/* connect to the database*/ 
$db = new mysqli("localhost", "root", "", "movie"); 
/* check connection */ 
if ($db->connect_errno) { 
    echo "Connection failed: " . $db->connect_error; 
    exit(); 
} 
$query="SELECT * FROM `filmi` 
     WHERE (`nomer` rlike '%$search%' OR 
       `rezume` rlike '%$search%' OR 
       `kategoriq` rlike '%$search%') AND 
       `seriq` BETWEEN '%$pricemin%' AND '$pricemax' 
     ORDER BY seriq ASC"; 
/* create a prepared statement */ 
if ($stmt = $db->prepare($query)) { 
    /* bind parameters for markers */ 
    $stmt->bind_param("sssdd", $search, $search, $search, $pricemin, $pricemax); 
    /* execute query */ 
    $stmt->execute(); 
    /* get result */ 
    $result = $stmt->get_result(); 
    if ($result) { 
    /* now you can fetch the results into an assoc array */ 
     while ($row = $result->fetch_assoc()) { 
      echo $row['nomer']. ", " .$row['rezume']. ", " .$row['kategoriq']. ", " .$row['seriq']. "<br>"; 
     } 
    } 
    /* close statement */ 
    $stmt->close(); 
} 
/* close db connection */ 
$db->close(); 

?> 

什麼是「<form method=?>」表格填寫$ search和$ pricemin/$ pricemax字段?

+0

heay,你想在窗體的文本框中填寫$ _REQUEST值? – 2013-02-16 13:45:42

+0

我是menage來填補它,但現在當我沒有把任何文字的$ search只把$ pricemin/$ pricemax它不顯示任何結果:(你能幫我嗎? – user2052643 2013-02-16 13:52:48

+0

我很樂意幫助你。但是,我不能瞭解你的問題,請你詳細說明 – 2013-02-16 14:10:09

回答

0

檢查是否存在$search。意思是說,$search是否有一定的價值。

if(isset($search) && $search!=''){ 
    case 1 
} 
else{ 
    case 2 
} 

案例1: 如果在$搜索值,然後將其包含在where子句。
下面的查詢是一個例子來解釋我的想法。

$query="SELECT * FROM `filmi` 
    WHERE (`nomer` rlike '%$search%' OR 
      `rezume` rlike '%$search%' OR 
      `kategoriq` rlike '%$search%') AND 
      `seriq` BETWEEN '%$pricemin%' AND '$pricemax' 
    ORDER BY seriq ASC"; 

案例2: 如果在$搜索沒有值,那麼不包括它的where子句。
檢查下面的查詢

$query="SELECT * FROM `filmi` 
    WHERE `seriq` BETWEEN '%$pricemin%' AND '$pricemax' 
    ORDER BY seriq ASC"; 
+0

是的,我得出這個結論,但你可以幫助我的檢查代碼? – user2052643 2013-02-16 14:28:43

+0

我已更新答案。但是,奇怪的是,在你寫了問題之後,你要求我幫助你進行值檢查代碼。無論如何,現在結賬答案。 – 2013-02-16 14:33:40

+0

我很感激,謝謝! – user2052643 2013-02-16 14:39:11

0

您可以使用您<form>塔格要麼GETPOST方法

在你的PHP腳本

可以使用$form_var_name = $_REQUEST['form_var_name']訪問由形式分派的數據。具體如下:

$search = $_REQUEST['search']; 
$pricemin = $_REQUEST['pricemin']; 
$pricemax = $_REQUEST['pricemax']; 
+0

嗯,我嘗試它,但它仍然不顯示任何結果:( 我使它: '

\t \t \t搜索: \t \t \t \t \t \t \t \t \t \t

' 並把$ form_var_name = $ _REQUEST [ 'form_var_name'] $查詢過,但我仍然不知道這是正確的方式把它付諸查詢 - > '%$搜索%' – user2052643 2013-02-16 13:17:41

+0

嗯它的工作,但現在又一個問題; \我需要把價值爲$搜索和$ pricemax /分鐘另一方面它不顯示任何結果我編輯填補他們:(可以只與$搜索或僅$ pricemax $ pricemin? – user2052643 2013-02-16 13:32:53