Как да го направя да не ми извлича всички резултати от MySQL

chepa

Registered
Като натисна търси и ми изкарва всички резултати искам само 1 този който съм задал.примерно да ми турси по име и да ми изкарва категория и сайт
Код:
<?php
if(isset($_POST['search'])){
$search = $_POST['search'];
$result = mysql_query("SELECT * FROM generator ")or die(mysql_error());

echo "<table border='0'>
<tr>
<th>Автор:</th>
<th>Категория:</th>
<th>Сайт:</th>
</tr>";

while($row = mysql_fetch_array($result))
  {
  echo "<tr>";
  echo "<td>" . $row['avtor'] . "</td>";
  echo "<td>" . $row['kategoriq'] . "</td>";
  echo "<td>". $row['site'] . "</td>";
  echo "</tr>";
  }
echo "</table>";

}
?>
 
Вариянт 1
<?php
if(isset($_POST['search'])){
$search = $_POST['search'];
$result = mysql_query("SELECT * FROM generator WHERE `kategoriq` LIKE '$search' ")or die(mysql_error());

echo "<table border='0'>
<tr>
<th>Автор:</th>
<th>Категория:</th>
<th>Сайт:</th>
</tr>";

while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['avtor'] . "</td>";
echo "<td>" . $row['kategoriq'] . "</td>";
echo "<td>". $row['site'] . "</td>";
echo "</tr>";
}
echo "</table>";

}
?>

Вариянт 2
<?php
if(isset($_POST['search'])){
$search = $_POST['search'];
$result = mysql_query("SELECT * FROM generator WHERE `kategoriq` LIKE '%$search%' ")or die(mysql_error());

echo "<table border='0'>
<tr>
<th>Автор:</th>
<th>Категория:</th>
<th>Сайт:</th>
</tr>";

while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['avtor'] . "</td>";
echo "<td>" . $row['kategoriq'] . "</td>";
echo "<td>". $row['site'] . "</td>";
echo "</tr>";
}
echo "</table>";

}
?>

Вариянт 3
<?php
if(isset($_POST['search'])){
$search = $_POST['search'];
$result = mysql_query("SELECT * FROM generator WHERE `kategoriq` LIKE '$search' ")or die(mysql_error());

echo "<table border='0'>
<tr>
<th>Автор:</th>
<th>Категория:</th>
<th>Сайт:</th>
</tr>";

$row = mysql_fetch_assoc($result);
echo "<tr>";
echo "<td>" . $row['avtor'] . "</td>";
echo "<td>" . $row['kategoriq'] . "</td>";
echo "<td>". $row['site'] . "</td>";
echo "</tr>";
echo "</table>";

}
?>

Вариянт 4
<?php
if(isset($_POST['search'])){
$search = $_POST['search'];
$result = mysql_query("SELECT * FROM generator WHERE `kategoriq` LIKE '%$search%' ")or die(mysql_error());

echo "<table border='0'>
<tr>
<th>Автор:</th>
<th>Категория:</th>
<th>Сайт:</th>
</tr>";

$row = mysql_fetch_assoc($result);
echo "<tr>";
echo "<td>" . $row['avtor'] . "</td>";
echo "<td>" . $row['kategoriq'] . "</td>";
echo "<td>". $row['site'] . "</td>";
echo "</tr>";
echo "</table>";

}
?>
 
Като напиша името на автора и му дам търси ми изкарва само това

Автор: Категория: Сайт:
 
chepa каза:
Като напиша името на автора и му дам търси ми изкарва само това

Автор: Категория: Сайт:

Най кой вариянт?
Променил ли си променливата - kategoriq - там кадето пше WHERE `kategoriq` LIKE го промени на WHERE `avtor LIKE и тогава пиши името на автора и ще стане ако искаш да търси и в категория и в автор и в сайт напиши WHERE `kategoriq` LIKE '%$search%' AND `avtor` LIKE '%$search' AND `site` LIKE '%$search%'

П.П.
<?php
if(isset($_POST['submit'])){
$search = $_POST['search'];
$result = mysql_query("SELECT * FROM generator WHERE `avtor` LIKE '%$search%' ")or die(mysql_error());

echo "<table border='0'>
<tr>
<th>Автор:</th>
<th>Категория:</th>
<th>Сайт:</th>
</tr>";

$row = mysql_fetch_assoc($result);
echo "<tr>";
echo "<td>" . $row['avtor'] . "</td>";
echo "<td>" . $row['kategoriq'] . "</td>";
echo "<td>". $row['site'] . "</td>";
echo "</tr>";
echo "</table>";

}
?>

Доло кадето имаш бутон промени му името от search на submit, за да не са еднакви името на полето и бутона
 

Back
Горе