我正在創建一個簡單的自定義搜索表單。這種形式搜索表'oc_product',我在那裏創建了一個新的'gcode'列。我在其中一個產品的這一列中插入了一個示例數據。是否有必要在一個新的tpl文件中創建一個新的db/mysql連接,在php中創建,就像'information/contact'一樣。我稱之爲'gcode/gcode'。 我試過了,但無法從搜索結果中找到結果。它重定向到index.php。 我的代碼是:Opencart自定義mysql搜索表單
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" id="searchform">
<input type="text" name="name">
<input type="submit" name="submit" value="Search">
</form>
if(isset($_POST['submit'])){
if(isset($_GET['go'])){
if(preg_match("/^[ a-zA-Z]+/", $_POST['name'])){
$name=$_POST['name'];
//connect to the database
$db=mysql_connect ("localhost", "username_demo", "pwddemo123") or die ('I cannot connect to the database because: ' . mysql_error());
//-select the database to use
$mydb=mysql_select_db("db_demo");
//-query the database table
$sql="SELECT * FROM oc_product WHERE gcode LIKE '%" . $name . "%'";
//-run the query against the mysql query function
$result=mysql_query($sql);
//-create while loop and loop through result set
while($row=mysql_fetch_array($result)){
$gcode =$row['gcode'];
//-display the result of the array
echo '<span>'."This product is genuine".$gcode.'</span>';
}
}
else{
echo "<p>Please enter a search query</p>";
}
}
}
不限例如搜索的柱,並從列獲取數據。
我想我不需要告訴你,你不應該再使用mysql_的東西了嗎?問題似乎與'if(isset($ _ GET ['go']))'...你已經在你的表單聲明中定義了'post',而不是'get'。嘗試只是消除這種情況 –
是的胡利奧是正確的我刪除了isset函數,並保持它_POST,並表現良好。 –