Търсачка/ Речник

NoName

Registered
Здравеите
трябвами някакъв скрипт като търсачка/речник
да въведа 500 думи в него и тяхното значение

примерно пиша
Автомобил и ми излиза обяснение какво е автомобил - моторно превозно средство , изобретено в края на 19 век от ....т.н.т.

ако някои може да ми напише или да каже как точно става, аз ще пробвам да си напиша, наи добре е ще е да ползва mysql
 
Създаваш една таблица с няколко полета.
Едното е ID другото думата а третото нейното значение и т.н.
Може да добавяш по натам още много полета.
Примерно създаваш таблица с име recnik с полета:
ID duma obqsnenie.

Код:
CREATE TABLE `rechnik` (
  `id` int(8)  NOT NULL auto_increment,
  `duma` varchar(120) NOT NULL default '',
  `obqsnenie` longtext NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;




В тази таблица почваш да записваш:

ID - 1 (това число трябва да се генерира само).
duma автомобил
obqsnenie това е моторно превозно средство

и така на татъка.

Правиш 500 записа и след това търсачката представлява следното:

Код:
<FORM action=rechnik.php  method=post  >
<INPUT name=search size="12" maxlength="30">
<INPUT TYPE="submit" VALUE="Search"> </form><font></b>
</FORM>
<table>
<?
$user="";
$password="";
$database="";
mysql_connect(localhost,$user,$password);
mysql_select_db($database) or die( "Unable to select database");

$query="SELECT * from rechnik where duma like '%$search%' or obqsnenie like '%$search%'"; 
$result=mysql_query($query);

$num=mysql_numrows($result);
mysql_close();

$i=0;
while ($i < $num) {
$duma=mysql_result($result,$i,"duma");
$obqsnenie=mysql_result($result,$i,"obqsnenie");

?>

<tr>
<td><b><font color="000000"><? echo $duma; ?> </font></td>
<td><b><font color="ff0000"><? echo $obqsnenie; ?></font></td>
</tr>
<?
$i++;
}
?>
</table>


този код ще търси в тази база данни и в двете полета .
И в duma и в obqsnenie защото заявката е:
Код:
where duma like '%$search%' or obqsnenie like '%$search%'

ако намери съвпадение в някое от двете полета ще го покаже като резултат.

Ако напишеш автомобил ще върне първия ред.
Ако напишеш "превозно" също ще върне този ред защото ще открие съвпадение в полето obqsnenie .

Ако искаш да търси само в полето duma ще трябва да напишеш заявката така:
Код:
where duma like '%$search%'

Ето ти демо на кода:


http://admin.web-tourist.net/rechnik.php
 
мерси мисля че стана само дето ми излиза
????? ???????? ????????
?????????? ?????? ??? ? ???? ?
 
NoName каза:
мерси мисля че стана само дето ми излиза
????? ???????? ????????
?????????? ?????? ??? ? ???? ?

Колацията на базата данни каква ти е?
Трябва да е cp1251 .
Ти за съзадването на таблицата моя ли код използва?
 
admin каза:
NoName каза:
мерси мисля че стана само дето ми излиза
????? ???????? ????????
?????????? ?????? ??? ? ???? ?

Колацията на базата данни каква ти е?
Трябва да е cp1251 .
Ти за съзадването на таблицата моя ли код използва?
твоя код да
 
Ако искаш през phpmyadmin-a си създай таблицата и полетата.
Гледай само ID то да ти е auto_increment
 
admin каза:
Ако искаш през phpmyadmin-a си създай таблицата и полетата.
Гледай само ID то да ти е auto_increment
сега вече стана ;)
а ще можели да се направи една заявка да ми изкарва в списак всичките думи които започват с определена буква "А" или да вкарам и четвърто поле в таблицата с първата буква на думата
 
$query="SELECT * from rechnik where duma like 'а%'";

Ще ти даде всички редове в които записите в полето duma започват с БЪЛГАРСКО а.
Има разлика дали търсиш българско а или инглишко. :)
Така после може да си направиш заявка за тези които почват с б,в,г и .т.н.
 
Добавка.
По лесно ще ти е да направиш всичко с GET метода.

Примерно:
<table>
<?

$bukva=$_GET['bukva'];
if ($bukva=='')
{exit;}
$user="";
$password="";
$database="";
mysql_connect(localhost,$user,$password);
mysql_select_db($database) or die( "Unable to select database");

$query="SELECT * from rechnik where duma like '$bukva%'";
$result=mysql_query($query);


$num=mysql_numrows($result);
mysql_close();
$i=0;
while ($i < $num) {
$duma=mysql_result($result,$i,"duma");
$obqsnenie=mysql_result($result,$i,"obqsnenie");

?>

<tr>
<td><b><font color="000000"><? echo $duma; ?> </font></td>
<td><b><font color="ff0000"><? echo $obqsnenie; ?></font></td>
</tr>
<?
$i++;
}
?>
</table>


Слагаш този код в файл примерно bukva.php
и след това даваш различни линкове към него в зависимост от това
с каква буква трябва да започват резултатите.
Трябва да е така:
bukva.php?bukva=а
ще даде всички които почват с а.
bukva.php?bukva=б
bukva.php?bukva=в

и т.н.

Ето ти демо.
http://admin.web-tourist.net/bukva.php?bukva=к

или

http://admin.web-tourist.net/bukva.php?bukva=а

и т.н.
 
немога да съчетая 2та скрипта
искам едновременно да е търсачка и да има всичките букви пробвах така обаче неми харесва как става
Код:
<FORM action=rechnik.php  method=post  >
<INPUT name=search size="12" maxlength="30">
<INPUT TYPE="submit" VALUE="Search"> </form><font></b>
</FORM><br />
<a href="rechnik.php?bukva=а">А</a>,
<a href="rechnik.php?bukva=б">Б</a>,
<a href="rechnik.php?bukva=в">В</a>,
<a href="rechnik.php?bukva=г">Г</a>,
<a href="rechnik.php?bukva=д">Д</a>,
<a href="rechnik.php?bukva=е">Е</a>,
<a href="rechnik.php?bukva=ж">Ж</a>,
<a href="rechnik.php?bukva=з">З</a>,
<a href="rechnik.php?bukva=и">И</a>,
<a href="rechnik.php?bukva=й">Й</a>,
<a href="rechnik.php?bukva=к">К</a>,
<a href="rechnik.php?bukva=л">Л</a>,
<a href="rechnik.php?bukva=м">М</a>,
<a href="rechnik.php?bukva=н">Н</a>,
<a href="rechnik.php?bukva=о">О</a>,
<a href="rechnik.php?bukva=п">П</a>,
<a href="rechnik.php?bukva=р">Р</a>,
<a href="rechnik.php?bukva=с">С</a>,
<a href="rechnik.php?bukva=т">Т</a>,
<a href="rechnik.php?bukva=у">У</a>,
<a href="rechnik.php?bukva=ф">Ф</a>,
<a href="rechnik.php?bukva=х">Х</a>,
<a href="rechnik.php?bukva=ц">Ц</a>,
<a href="rechnik.php?bukva=ч">Ч</a>,
<a href="rechnik.php?bukva=ш">Ш</a>,
<a href="rechnik.php?bukva=щ">Щ</a>,
<a href="rechnik.php?bukva=ъ">Ъ</a>,
<a href="rechnik.php?bukva=ь">Ь</a>,
<a href="rechnik.php?bukva=ю">Ю</a>,
<a href="rechnik.php?bukva=я">Я</a>
<table>
<?
include('conn.php');
$link=mysql_connect('localhost',$user,$password);
$db=mysql_select_db($database);

$query="SELECT * from rechnik where duma like '%$search%' ";
$result=mysql_query($query, $link);

$num=mysql_numrows($result);
mysql_close();

$i=0;
while ($i < $num) {
$duma1=mysql_result($result,$i,"duma");
$obqsnenie1=mysql_result($result,$i,"text");

?>
<tr>
<td><b><font color="000000"><? echo $duma1; ?> </font></td>
<td><? echo $obqsnenie1; ?></td>
</tr>
<?
$i++;
}
?>
</table>
<table>
<?

$bukva=$_GET['bukva'];
if ($bukva=='')
{}

include('conn.php');
$link=mysql_connect('localhost',$user,$password);
$db=mysql_select_db($database);
$query="SELECT * from rechnik where duma like '$bukva%'";
$result=mysql_query($query, $link);


$num=mysql_numrows($result);
mysql_close();
$i=0;
while ($i < $num) {
$duma2=mysql_result($result,$i,"duma");
$obqsnenie2=mysql_result($result,$i,"text");

?>

<tr>
<td><b><font color="000000"><? echo $duma2; ?> </font></td>
<td><? echo $obqsnenie2; ?></td>
</tr>
<?
$i++;
}
?>

ако може малко помощ
 

Back
Горе