Webmaster общности: Predpriemach.com | SearchEngines.bg

    Азбучник на българските думи

    Автор: relax

    Здравейте сега ще ви покажа как да си направите много прост азбучник или речник на българските думи

    table.sql

    CREATE TABLE dictionary (
    id int(11) not null auto_increment primary key,
    word varchar(255) not null,
    body text not null
    );

    conf.php

    $host = ' '; //името на сървъра
    $user = ' '; //потр. име на сървъра
    $pass = ' '; //парола на сървъра
    $dbname = 'dictionary'; //името на базата данни в случая dictionary

    description.php

    <meta http-equiv="content-type" content="text/html; charset=windows-1251">
    <?php
    include('conf.php');
    $conn = mysql_connect($host, $user, $pass) or die (mysql_error()); //свързваме се със сървъра
    $select = mysql_select_db($dbname) or die (mysql_error()); //селектираме базата данни
    
    $query = "select word, body from dictionary"; //изкарваме от базата данни думите и описанието на думите
    $result = mysql_query($query) or die (mysql_error());
    
    while($row = mysql_fetch_array($result))
    {
    $string[] = $row['word']; //чрез този while вкарваме всички думи в масива $string[] и всички описания в масива $body[]
    $body[] = $row['body']; //$row['body'] трябва да е колоната където е описанието на думата в случая може да не е body а да е друго име
    }
    
    $arr = array_combine($string, $body); //чрез функцията array_combine() комбинираме двата масива така че да имат ключ + стойност в случая масивите са $string[] и $body[]
    
    foreach($arr as $v=>$b) //от тука извикваме ключа и стойноста които са вкарани в масива $arr
    {
    switch($_GET['word']) //от тук проверяваме коя дума е натисната в dictionary.php
    {
    case "$v": //чрез тази променлива слагаме думата която се търси в случая която и дума да се натисне в dictionary.php то проверява в този case
    if(count($arr) == 0) //от тука преброяваме дали $arr има стойности и ако има изкарва описанията на думата която е натисната в dictionary.php ако няма вади грешка
    {
    echo "Няма намерени резултати";
    }
    else
    {
    echo $b."<br />"; //извеждаме описанието на думата която се търси
    }
    break;
    }
    }
    
    ?>

    dictionary.php

    <meta http-equiv="content-type" content="text/html; charset=windows-1251"> //това го слагаме за да може да вади резултатите на кирилица
    <?php
    include('conf.php');
    $conn = mysql_connect($host, $user, $pass) or die (mysql_error()); //свързваме се със сървъра
    $select = mysql_select_db($dbname) or die (mysql_error()); //селектираме базата данни
    
    $query = "select word from dictionary"; //изкарваме от базата данни думите
    $result = mysql_query($query) or die (mysql_error());
    
    $cyr = "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЬЮЯ"; //този ред ще ни полсужи по-надолу за проверка на първата буква на изведените думи
    while($row = mysql_fetch_array($result))
    {
    $string[] = $row['word']; //чрез този while вкарваме всички думи в масива $string[]
    }
    
    if(count($string) == 0)
    {
    echo "Не са намерени думи в базата данни";
    }
    else
    {
    for($i = 0; $i < 29; $i++)
    {
    foreach($string as $v)
    {
    if(trim($v{0}) == trim($cyr{$i}))
    {
    ${arr.$i}[] = $v;
    }
    }
    }
    }
    
    for($j = 0; $j < 29; $j++)
    {
    switch($_GET['word']) //от тука взимаме дадена буква
    {
    case $cyr{$j}: //ако е избрана буква то вади всички резултати които започват с буквата която сте натиснали
    if(count(${arr.$j}) == 0) //проверка дали масива $arrХ има стойности и ако има извежда всички записани в масива стойности ако няма извежда грешка
    {
    echo "Няма намерени резултати";
    }
    else
    {
    foreach(${arr.$j} as $c)
    {
    echo "<a href='description.php?word=$c'>$c</a><br />"; //чрез тези променливи взимаме целите думи записани в масива $arrХ като след това се правят проверки в description.php
    }
    }
    break;
    }
    }
    
    
    ?>

    И сега остава да направим линковете

    links.php

    <?php
    for ($i=0;$i<32;$i++) {
    if(chr(192+$i) == "Ы"){
    continue;
    }
    if(chr(192+$i) == "Э"){
    continue;
    }
    echo('<a href="dictionary.php?word='.chr(192 + $i).'">'.chr(192 + $i).'</a>||');
    }
    ?>

    има и по-лесен начин за извеждане на всички букви ама понеже бързам сега няма да го правя някой ден ще оправя урока

    За сега демо няма

    Урока е авторски и забранявам копирането в други сайтове без разрешение.

    Оставете коментар