0

こんにちは、私が問題を抱えているスクリプトを手伝ってもらえますか ;\ さまざまな列と価格帯から検索スクリプトを作成したいので、search.php は次のとおりです。

<?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();

?> 

$search フィールドと $pricemin / $pricemax フィールドに入力する " <form method=?>" フォームは何ですか?

4

2 に答える 2

0

$search存在するかどうかを確認します。つまり、何らかの価値がある$searchかどうか。

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

ケース 1 : $search に値がある場合は、それを 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: $search に値がない場合、それを where 句に含めません。
以下のクエリを確認してください

$query="SELECT * FROM `filmi` 
     WHERE `seriq` BETWEEN '%$pricemin%' AND '$pricemax'  
     ORDER BY seriq ASC";
于 2013-02-16T14:22:12.193 に答える
0

GETタグでまたはPOSTメソッドのいずれかを使用でき<form>ます

PHP スクリプトでは$form_var_name = $_REQUEST['form_var_name']、フォームによってディスパッチされたデータにアクセスするために使用できます。より具体的には次のように

$search = $_REQUEST['search']; 
$pricemin = $_REQUEST['pricemin'];
$pricemax = $_REQUEST['pricemax'];
于 2013-02-16T13:02:19.343 に答える