2013-02-16 48 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