のための作業を行います。一部の製品では動作しますが、他の製品では動作しません。私はそれがなぜその理由であるか把握することができません。PHP Searchfunctionは、一部の製品のためにしませんが、私はPHP/MySQLでsearchfunctionを作成しようとしている他の人
私はこのテーブルから、フィールドの製品ナーム」と「メルク」を使用しています:http://piclair.com/data/4192d.jpg
searchfunctionはSEARCHQUERYの「コイーバ」や「パンチ」などのワークを行います。しかし、それは 'sigarillos'や 'aansteker'のような検索クエリのためには機能しません。また、製品が見つからない場合は、エラーメッセージは表示されず、理由もわかりません。
<?php
$invoer = $_POST['zoekwoord'];
?>
<a href="index.php">Home</a>/<a href="zoekresultaten.php" class ="selected"><?php echo $invoer; ?></a>
<?php
//verbind met database
include("login/con1.inc");
$page=$_GET["page"]; //Get the page number to show
If($page == "")
{
$page=1; //If no page number is set, the default page to 1
}
//eerst wordt de query opgehaald om te bepalen hoeveel pagina's nodig zullen zijn.
$sql = "SELECT '".$invoer."'
FROM product
ORDER BY productnaam"; // dit is dus de query om de producten op te halen
$query = mysql_query($sql) or die (mysql_error()."<br>in file ".__FILE__." on line ".__LINE__); // als de query niet uitgevoerd wordt geeft die een foutmelding met bestandsnaam en regelnummer
$num = mysql_num_rows($query); // Het aantal producten
$Limit = 6; //Number of results per page
$NumberOfPages = ceil($Num/$Limit);
$sql = mysql_query("SELECT * FROM product WHERE merk='".$invoer."' AND Categorie_Nummer = 1 ORDER BY productnaam LIMIT " . ($page-1)*$Limit . ",$Limit") or die(mysql_error());
if(empty($num)) {
echo "<p>Er zijn geen producten gevonden.</p>\n";
} else {
// Laat de producten zien
while($product = mysql_fetch_object($sql)) {
?>
<table border="5" class="productlist" width="400px">
blablablabla
うーん:ここ
は、コードの関連する部分です。エラーメッセージを作成しようとしているうちに、私は検索機能自体を壊しました。再び 'aansteker'などでは機能しません。また、エラーメッセージはまだ機能しません。
ここで私が今持っているコードです:
<div id="contentbox">
<?php
$invoer = mysql_real_escape_string($invoer);
$invoer = $_POST['zoekwoord'];
?>
<a href="index.php">Home</a>/<a href="zoekresultaten.php" class ="selected"><?php echo $invoer; ?></a>
<?php
//verbind met database
include("login/con1.inc");
$page=$_GET["page"]; //Get the page number to show
If($page == "")
{
$page=1; //If no page number is set, the default page to 1
}
//eerst wordt de query opgehaald om te bepalen hoeveel pagina's nodig zullen zijn.
$sql = "SELECT productnaam LIKE '".$invoer."' OR merk LIKE '".$invoer."'
FROM product
ORDER BY productnaam"; // dit is dus de query om de producten op te halen
$query = mysql_query($sql) or die (mysql_error()."<br>in file ".__FILE__." on line ".__LINE__); // als de query niet uitgevoerd wordt geeft die een foutmelding met bestandsnaam en regelnummer
$num = mysql_num_rows($query); // Het aantal producten
$Limit = 6; //Number of results per page
$NumberOfPages = ceil($Num/$Limit);
$sql = mysql_query("SELECT * FROM product WHERE productnaam LIKE '%$invoer%' OR merk='".$invoer."' AND Categorie_Nummer = 1 ORDER BY productnaam LIMIT " . ($page-1)*$Limit . ",$Limit") or die(mysql_error());
$num = mysql_num_rows($sql);
うん。それは、 'merk'と 'productnaam'の両方ではなく、 'merk'だけを検索するようです。 どうすれば変更できますか?私は*テーブルを検索します。したがって、 'productnaam'は検索に含まれるべきです... – Forza
@Forza上記の 'LIKE'節を参照してください。 –
Ok、cool;)それは動作します。存在しないものを検索すると、エラーメッセージのみが表示されます。あなたはそれについて何か手がかりはありますか? – Forza