Търсачка

  • Автор Автор Anonymous
  • Начална дата Начална дата
A

Anonymous

Guest
Използвах тази търсачка с категорий ,но като дам търсене ми изписва това

Код:
Unknown column 'Movies/Documentaries' in 'where clause'

къде греша в кода
ето го инего
Код:
<form action="search.php" method="post"> 
Търсене: <input type="text" name="word" size="40" class="search-pole" /> 
<select name="category"> 
<option value="1">Movies/XviD</option> 
<option value="2">Movies/DVD-R</option> 
<option value="3">Movies/HDTV</option> 
<option value="4">Movies/x264</option> 
<option value="5">Movies/TV-episodes</option> 
<option value="6">Movies/Anime</option> 
<option value="7">Movies/Documentaries</option> 
</select> 
<input type="submit" name="submit" id="search-btn" value="търси" /> 
</form> 
<p><ul class="ul-style01 box"> 
<?php 
if ($_POST['submit']) { 
$word = $_POST['word']; 
include "config.php"; 
if (strlen($word) < 3) { 
echo "<p><b>Възникна грешка:</b> <br /><font color='#FF3333'><b>Трябва да въведете повече от 2 символа.<b></font></p>"; 
} 
else { 
switch ($_POST['category']) {
case '7' : $where = "WHERE `Movies/Documentaries` LIKE '%$word%'"; break;
case '6' : $where = "WHERE `Movies/Anime` LIKE '%$word%'"; break;
case '5' : $where = "WHERE `Movies/TV-episodes` LIKE '%$word%'"; break; 
case '4' : $where = "WHERE `Movies/x264` LIKE '%$word%'"; break;
case '3' : $where = "WHERE `Movies/HDTV` LIKE '%$word%'"; break; 
case '2' : $where = "WHERE `Movies/DVD-R` LIKE '%$word%'"; break; 
case '1' : $where = "WHERE `Movies/XviD` LIKE '%$word%'"; break; 
default : $where = "`klipove` LIKE '%$word%' OR `Movies/XviD` LIKE '%$word%' OR `Movies/DVD-R` LIKE '%$word%' OR `Movies/HDTV` LIKE '%$word%' OR `Movies/x264` LIKE '%$word%' OR `Movies/TV-episodes` LIKE '%$word%' OR `Movies/Anime` LIKE '%$word%' OR `Movies/Documentaries` LIKE '%$word%'"; 
} 
$sql = "SELECT * from klipove ".$where; 
$result = mysql_query($sql) or die (mysql_error()); 
$broi = mysql_num_rows($result); 
$row = mysql_fetch_assoc($result); 
if ($broi == 0) { 
echo "<b>Резултати от търсенето:</b> <br /><p><b>Няма намерени резултати.</b></p>"; 
} 
else { 

echo "<tr> 
<td style='border: 5px solid #999; background: #ccc; font-weight: bold;'>Заглавие: $row[title]</td>
</tr>
<tr>
<td style='border: 5px solid #999;'><img src='pictures/$pic' width='240px' height='320px' /></td>
</tr>
<tr>
<td><p>Описание:<hr width='200px' style=' border:5px solid red; margin-top:-10px; margin-left:-85px;' /><h3 style=' margin-left: 250px; margin-top:-5px;'>$row[opisanie]</h3></p></td>
</tr>
<tr>
<td align='right' style='border: 5px solid #999;'><a href='video/vij.php?video=$row[id]' style='text-decoration: none'>PLAY</a>
</td></tr>";
} 
} 
}  
?>
 
В БД нямаш поле с името Movies/Documentaries. Провери дали не си го забравили ли пък не си сбъркал някоя буква!
 
Проверих имам такова поле

Ака тиси занимара може да минаправих друг код за търсене с категорийй
 
Не мисля, че грешката е в кода. Може ли да пуснеш тук една снимка от phpmyadmin да видя БД!

А, ако от select избереш друга категория, пак ли дава същата грешка?
 
Тези записи, които показваш са в таблицата cats, а заявката ти търси в таблицата klipove. Не знам там какво има, но явно точно такъв запис няма. А и още нещо - ти търсиш колона с името Movies/Documentaries. Най-добре снимай и klipove и files! :wink:
 
Я пробвай така! Би трябвало да търси за съвпадения в заглавието или описанието и да ги подрежда от най-новото към по-старите.
Код:
<form action="search.php" method="post"> 
Търсене: <input type="text" name="word" size="40" class="search-pole" /> 
<select name="category"> 
<option value="1">Movies/XviD</option> 
<option value="2">Movies/DVD-R</option> 
<option value="3">Movies/HDTV</option> 
<option value="4">Movies/x264</option> 
<option value="5">Movies/TV-episodes</option> 
<option value="6">Movies/Anime</option> 
<option value="7">Movies/Documentaries</option> 
</select> 
<input type="submit" name="submit" id="search-btn" value="търси" /> 
</form> 
<p><ul class="ul-style01 box"> 
<?php 
if ($_POST['submit']) { 
$word = $_POST['word']; 
include "config.php"; 
if (strlen($word) < 3) { 
echo "<p><b>Възникна грешка:</b> <br /><font color='#FF3333'><b>Трябва да въведете повече от 2 символа.<b></font></p>"; 
} 
else { 
if($_POST['category'] >= 1 && $_POST['category'] <=7) {
$where = "WHERE `category = '$category' AND (`title` LIKE '%$word%' OR `opisanie` LIKE '%$word%')";
}
else {
$where = "WHERE `title` LIKE '%$word%' OR `opisanie` LIKE '%$word%'";
}

$sql = "SELECT * FROM `klipove` ".$where." ORDER BY `id` DESC"; 
$result = mysql_query($sql) or die (mysql_error()); 
$broi = mysql_num_rows($result); 
$row = mysql_fetch_assoc($result); 
if ($broi == 0) { 
echo "<b>Резултати от търсенето:</b> <br /><p><b>Няма намерени резултати.</b></p>"; 
} 
else { 

echo "<tr> 
<td style='border: 5px solid #999; background: #ccc; font-weight: bold;'>Заглавие: $row[title]</td> 
</tr> 
<tr> 
<td style='border: 5px solid #999;'><img src='pictures/$pic' width='240px' height='320px' /></td> 
</tr> 
<tr> 
<td><p>Описание:<hr width='200px' style=' border:5px solid red; margin-top:-10px; margin-left:-85px;' /><h3 style=' margin-left: 250px; margin-top:-5px;'>$row[opisanie]</h3></p></td> 
</tr> 
<tr> 
<td align='right' style='border: 5px solid #999;'><a href='video/vij.php?video=$row[id]' style='text-decoration: none'>PLAY</a> 
</td></tr>"; 
} 
} 
}  
?>
 
сега ми извежда това


Код:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'title` LIKE '%aaaa%' OR `opisanie` LIKE '%aaaa%')ORDER BY `id` DESC' at line 1
 
Вземи пак кога от горе, проминих го! Пак ли ти връща същата грешка?
 
отнова извежда това


You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'title` LIKE '%ivo%' OR `opisanie` LIKE '%ivo%') ORDER BY `id` DESC' at line 1
 
<form action="search.php" method="post">
Търсене: <input type="text" name="word" size="40" class="search-pole" />
<select name="category">
<option value="1">Movies/XviD</option>
<option value="2">Movies/DVD-R</option>
<option value="3">Movies/HDTV</option>
<option value="4">Movies/x264</option>
<option value="5">Movies/TV-episodes</option>
<option value="6">Movies/Anime</option>
<option value="7">Movies/Documentaries</option>
</select>
<input type="submit" name="submit" id="search-btn" value="търси" />
</form>
<p><ul class="ul-style01 box">
<?php
if ($_POST['submit']) {
$word = $_POST['word'];
include "config.php";
if (strlen($word) < 3) {
echo "<p><b>Възникна грешка:</b> <br /><font color='#FF3333'><b>Трябва да въведете повече от 2 символа.<b></font></p>";
}
else {
if($_POST['category'] >= 1 && $_POST['category'] <=7) {
$where = "WHERE `category = '$category' AND ('`title` LIKE '%$word%' OR `opisanie` LIKE '%$word%')";
}
else {
$where = "WHERE `title` LIKE '%$word%' OR `opisanie` LIKE '%$word%'";
}

$sql = "SELECT * FROM `klipove` ".$where." ORDER BY `id` DESC";
$result = mysql_query($sql) or die (mysql_error());
$broi = mysql_num_rows($result);
$row = mysql_fetch_assoc($result);
if ($broi == 0) {
echo "<b>Резултати от търсенето:</b> <br /><p><b>Няма намерени резултати.</b></p>";
}
else {

echo "<tr>
<td style='border: 5px solid #999; background: #ccc; font-weight: bold;'>Заглавие: $row[title]</td>
</tr>
<tr>
<td style='border: 5px solid #999;'><img src='pictures/$pic' width='240px' height='320px' /></td>
</tr>
<tr>
<td><p>Описание:<hr width='200px' style=' border:5px solid red; margin-top:-10px; margin-left:-85px;' /><h3 style=' margin-left: 250px; margin-top:-5px;'>$row[opisanie]</h3></p></td>
</tr>
<tr>
<td align='right' style='border: 5px solid #999;'><a href='video/vij.php?video=$row[id]' style='text-decoration: none'>PLAY</a>
</td></tr>";
}
}
}
?>
 
Изпуснал съм една кавичка. Вече трябва да няма проблеми. :)
Код:
<form action="search.php" method="post"> 
Търсене: <input type="text" name="word" size="40" class="search-pole" /> 
<select name="category"> 
<option value="1">Movies/XviD</option> 
<option value="2">Movies/DVD-R</option> 
<option value="3">Movies/HDTV</option> 
<option value="4">Movies/x264</option> 
<option value="5">Movies/TV-episodes</option> 
<option value="6">Movies/Anime</option> 
<option value="7">Movies/Documentaries</option> 
</select> 
<input type="submit" name="submit" id="search-btn" value="търси" /> 
</form> 
<p><ul class="ul-style01 box"> 
<?php 
if ($_POST['submit']) { 
$word = $_POST['word']; 
include "config.php"; 
if (strlen($word) < 3) { 
echo "<p><b>Възникна грешка:</b> <br /><font color='#FF3333'><b>Трябва да въведете повече от 2 символа.<b></font></p>"; 
} 
else { 
if($_POST['category'] >= 1 && $_POST['category'] <=7) { 
$where = "WHERE `category` = '$category' AND ('`title` LIKE '%$word%' OR `opisanie` LIKE '%$word%')"; 
} 
else { 
$where = "WHERE `title` LIKE '%$word%' OR `opisanie` LIKE '%$word%'"; 
} 

$sql = "SELECT * FROM `klipove` ".$where." ORDER BY `id` DESC"; 
$result = mysql_query($sql) or die (mysql_error()); 
$broi = mysql_num_rows($result); 
$row = mysql_fetch_assoc($result); 
if ($broi == 0) { 
echo "<b>Резултати от търсенето:</b> <br /><p><b>Няма намерени резултати.</b></p>"; 
} 
else { 

echo "<tr> 
<td style='border: 5px solid #999; background: #ccc; font-weight: bold;'>Заглавие: $row[title]</td> 
</tr> 
<tr> 
<td style='border: 5px solid #999;'><img src='pictures/$pic' width='240px' height='320px' /></td> 
</tr> 
<tr> 
<td><p>Описание:<hr width='200px' style=' border:5px solid red; margin-top:-10px; margin-left:-85px;' /><h3 style=' margin-left: 250px; margin-top:-5px;'>$row[opisanie]</h3></p></td> 
</tr> 
<tr> 
<td align='right' style='border: 5px solid #999;'><a href='video/vij.php?video=$row[id]' style='text-decoration: none'>PLAY</a> 
</td></tr>"; 
} 
} 
} 
?>
 
сега изкарва това

Код:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '') ORDER BY `id` DESC' at line 1
 
Открих още една излишна кавичка. :D

Код:
	 <form action="search.php" method="post"> 
Търсене: <input type="text" name="word" size="40" class="search-pole" /> 
<select name="category"> 
<option value="1">Movies/XviD</option> 
<option value="2">Movies/DVD-R</option> 
<option value="3">Movies/HDTV</option> 
<option value="4">Movies/x264</option> 
<option value="5">Movies/TV-episodes</option> 
<option value="6">Movies/Anime</option> 
<option value="7">Movies/Documentaries</option> 
</select> 
<input type="submit" name="submit" id="search-btn" value="търси" /> 
</form> 
<p><ul class="ul-style01 box"> 
<?php 
if ($_POST['submit']) { 
$word = $_POST['word']; 
include "config.php"; 
if (strlen($word) < 3) { 
echo "<p><b>Възникна грешка:</b> <br /><font color='#FF3333'><b>Трябва да въведете повече от 2 символа.<b></font></p>"; 
} 
else { 
if($_POST['category'] >= 1 && $_POST['category'] <=7) { 
$where = "WHERE `category` = '$category' AND (`title` LIKE '%$word%' OR `opisanie` LIKE '%$word%')"; 
} 
else { 
$where = "WHERE `title` LIKE '%$word%' OR `opisanie` LIKE '%$word%'"; 
} 

$sql = "SELECT * FROM `klipove` ".$where." ORDER BY `id` DESC"; 
$result = mysql_query($sql) or die (mysql_error()); 
$broi = mysql_num_rows($result); 
$row = mysql_fetch_assoc($result); 
if ($broi == 0) { 
echo "<b>Резултати от търсенето:</b> <br /><p><b>Няма намерени резултати.</b></p>"; 
} 
else { 

echo "<tr> 
<td style='border: 5px solid #999; background: #ccc; font-weight: bold;'>Заглавие: $row[title]</td> 
</tr> 
<tr> 
<td style='border: 5px solid #999;'><img src='pictures/$pic' width='240px' height='320px' /></td> 
</tr> 
<tr> 
<td><p>Описание:<hr width='200px' style=' border:5px solid red; margin-top:-10px; margin-left:-85px;' /><h3 style=' margin-left: 250px; margin-top:-5px;'>$row[opisanie]</h3></p></td> 
</tr> 
<tr> 
<td align='right' style='border: 5px solid #999;'><a href='video/vij.php?video=$row[id]' style='text-decoration: none'>PLAY</a> 
</td></tr>"; 
} 
} 
} 
?>
 
няма грешки вече в синтаскиса но неми изкарва резултати а в klipove ima качени неща изкарва няма намерени резултати
 
Еми въведи дума, която се съдържа поне на едно място в заглавията или описанията на клиповете!
 

Back
Горе