Как да изкарам последните

haughtelf

Registered
Как да изкарам последните търсени неща с линк към търсенето например последните 10 търсени са
 
Ами правиш си таблица където ще записваш всяка въведена стойност от полето в таблица search_key с полета id, value, time.

и после:

$sql="SELECT * FROM search_key ORDER BY time DESC LIMIT 10";
$res=mysql_query($sql)or die(mysql_error());
while($row=mysql_fetch_assoc($res))
{
echo"<a href='page.php?search=$row[value]'>$row[value]</a> ";
}
 
Ами това нямали да забавя сървъра с тази таблица защото като се напълни тва примерно 100000 търсения ще претоварва според мене
 
Трябва да направиш където ти е полето за търсене например:

<form method='GET' action=''>
<input type='text' name='search' size='40'>
<input type='submit' name='submit' value='Търси'>
</form>

if($_GET['submit'])
{
$search=$_GET['search'];

if($search!=NULL)
{
$time=time();
$sql="INSERT INTO search_key SET value='$search', time='$time'";
$res=mysql_query($sql)or die(mysql_error());
}

}
 
Код:
if(!$select){
die(mysql_error());
}
$item = $_POST['find'];
if ($item == '') { echo "Не сте въвели дума ."; } else {
$query = mysql_query("SELECT * FROM $table_name WHERE ime LIKE '%$item%'");
echo "<br>Резултати  <b>'".$item."'</b>";
include "search.html";
while($row = mysql_fetch_array($query)) {

echo "<div class='div'>
<a href='io.php?id=$row[id]'>$row[name]</a><br>
<a href='io.php?id=$row[id]'><img src='$row[picture]' width='100' height='100' border='0'></a><br>
<br></div>";
}
}
//Тука добавих това което ми даде
$sql="SELECT * FROM search_key ORDER BY time DESC LIMIT 10";
$res=mysql_query($sql)or die(mysql_error());
while($row=mysql_fetch_assoc($res))
{
echo"<a href='page.php?search=$row[value]'>$row[value]</a> ";
}
?>
Мойто е така
Офф нищо немога да направя какво не пробвах нищо не изкарва направо незнам :cry: :cry: :cry: :cry:
 
if(!$select){
die(mysql_error());
}
$item = $_POST['find'];
$time=time();
$sql="INSERT INTO search_key SET value='$item', time='$time'";
$res=mysql_query($sql)or die(mysql_error());
if ($item == '') { echo "Не сте въвели дума ."; } else {
$query = mysql_query("SELECT * FROM $table_name WHERE ime LIKE '%$item%'");
echo "<br>Резултати <b>'".$item."'</b>";
include "search.html";
while($row = mysql_fetch_array($query)) {

echo "<div class='div'>
<a href='io.php?id=$row[id]'>$row[name]</a><br>
<a href='io.php?id=$row[id]'><img src='$row[picture]' width='100' height='100' border='0'></a><br>
<br></div>";
}
}
//Тука добавих това което ми даде
$sql="SELECT * FROM search_key ORDER BY time DESC LIMIT 10";
$res=mysql_query($sql)or die(mysql_error());
while($row=mysql_fetch_assoc($res))
{
echo"<a href='page.php?search=$row[value]'>$row[value]</a> ";
}
?>


Така пробвай
 
стана като махнах това $time=time(); но Възникна друг проблем като търся нещо не прави link
Код:
www.domain.com/search.php?search=dumata_za_tarsene
а направо
Код:
www.domain.com/search.php
и показва резултатите
след търсенето тоест незнам как трябва да стане търсачката е такава че неправи линк към търсенето за да може да се изведе с ДБ
Проблем 2: След като напиша 10 търсения замества само последното търсене първите си стоят завинаги
Проблем 3:В датабазата става пълна каша трябва да са направи на всеки 20 търсения да трие всички търсения
Мерси за помощта но като гледам с тези проблеми кода няма да мога да го ползвам :cry: :? :?:
 
if(!$select){
die(mysql_error());
}
$item = $_POST['find'];
$time=time();
$sql="INSERT INTO search_key SET value='$item', time='$time'";
$res=mysql_query($sql)or die(mysql_error());
if ($item == '') { echo "Не сте въвели дума ."; } else {
$query = mysql_query("SELECT * FROM $table_name WHERE ime LIKE '%$item%'");
echo "<br>Резултати <b>'".$item."'</b>";
include "search.html";
while($row = mysql_fetch_array($query)) {

echo "<div class='div'>
<a href='io.php?id=$row[id]'>$row[name]</a><br>
<a href='io.php?id=$row[id]'><img src='$row[picture]' width='100' height='100' border='0'></a><br>
<br></div>";
}
}
//Тука добавих това което ми даде
$sql="SELECT * FROM search_key ORDER BY time DESC LIMIT 10";
$res=mysql_query($sql)or die(mysql_error());
$num=mysql_num_rows($res);
while($row=mysql_fetch_assoc($res))
{
echo"<a href='search.php?find=$row[value]'>$row[value]</a> ";
}

if($num>20)
{
$sql="TRUNCATE TABLE search_key";
$res=mysql_query($sql);
}


?>

Пробвай така?
 
стана трие от датабазата ама направих го да показва последните търсения без линк но трябва да огранича текста че става спам мерси
 

Back
Горе