Slovník v PHP - úloha prosím pomoc

Programovacie jazyky, rady, poradňa...
Zlatohlavok
Light Expert
Light Expert
Príspevky: 40
Registrovaný: 24 nov 2010, 19:38

Slovník v PHP - úloha prosím pomoc

Príspevok od používateľa Zlatohlavok »

Ahoj, chcem vás poprosiť, dostal som úlohu od nášho učitela.
Ide o to, že mám spraviť jednoduchý slovník ang-sj v PHP.
Server mi beží, na Endore, kde som si spravil svoju stránku, tú som zvládol sám, to bolo iba HTML, CSS, ale keďže on vyžaduje znova niečo čo nás nenaučil a tak sa to snažím naučiť, ale vidím, že PHP nieje také jednoduché ako HTML, tak potrebujem pomoc od skúsenejších. :)
Vôbec netuším ako by som to spravil. Čo som sa dočítal zatial po nejakých hodinách, že to budem zrejme robiť, tak, že si vytvorím nejakú databázu so slovami ktorú potom nejako použijem na vyhladávanie a vypisovanie slov. Ale neviem ako. :?

Na nete som našiel super slovník, ktorý je robený ale v kombinácií PHP a Javy, ja potrebujem len PHP. http://zaachi.blog.zive.cz/2008/08/php- ... t-slovnik/
Sú tam aj zdrojáky, možno by sa dali využiť.

Ďakujem za všetky rady, nápady a zdrojáky. :)
Mmartin
Guru
Guru
Používateľov profilový obrázok
Príspevky: 2786
Registrovaný: 07 feb 2009, 12:49
Bydlisko: Bratislava

Re: Slovník v PHP - úloha prosím pomoc

Príspevok od používateľa Mmartin »

Skus cez mysql
Zlatohlavok
Light Expert
Light Expert
Príspevky: 40
Registrovaný: 24 nov 2010, 19:38

Re: Slovník v PHP - úloha prosím pomoc

Príspevok od používateľa Zlatohlavok »

Dobre, ale prisím ťa ako?

Na rovinu ti poviem, že ohladom tejto problematiky toho moc neviem, iba pár vecí čo nám povedal nezrozumitelne učitel a nakázal nám spraviť nejaké úlohy, ja mám už spomínaný slovník.
V škole, keď nám kázal aby sme si niečo byskúšali, tak sme všetko písali v PSPade. Spravil nejaký linuxový server na ktorý sme si to mohli uložiť. Spravil som len nejaké veci z HTML, lebo to ako tam viem, aspoň to čo som sa dokázal naučiť a spraviť si stránku, ďalej keď som mal písať niečo v PHP bez nejakého vysvetlenia, ta kto ťažko, ale jemu je to jedno, takže pls potrebujem pomoc, neviem či je to na vela roboty napísať to, ak by bol niekto taký dobrý, bol by som mu velmi vďačný. :smt017 :)

Predstavujem si to tak, že by stačilo nejaké pole do ktorého by sa zapísalo slovo, klikto by sa na preložiť, v databáze by sa vyhladalo a vypísalo.

Ešte raz diky.

EDIT:

Našiel som niečo také ako by to mohlo vyzerať aj jednoduhšie, to je jedno, vyzual si spravím aj ja, ale ide len o to PHP.
http://slovnik.czweb.org/
Na tej stránke je odkaz na free stiahnutie, tak som to stiahol a pozrel kód, nevyzerá to až také zložité. Čo na to poviete, akurát, že to nejde. :-/

Kód: Vybrať všetko

<?
function hledej ($word,$smer,$cast)
{

$server="localhost";
$user="";
$pass="";
$db="slovnik"; 

mysql_Pconnect ($server,$user,$pass);

if ($cast=="cast")
	$result = mysql ($db, "select * from cz_aj where $smer like '%$word%' ORDER BY $smer;"); 
else	$result = mysql ($db, "select * from cz_aj where $smer like '$word' ORDER BY $smer;"); 
 	$pocet = mysql_NumRows ($result);  
$i=0;

 echo "<table border='1' width='600'><tr><td width='300'><p><font color='red' face='Arial Black'>Anglicky</font></p>";
 echo "</td><td width='300'><p><font color='red' face='Arial Black'>Česky</font></p></td></tr>";
    
while ($i<$pocet) 
 { 
   echo "<tr><td width='300'><p><font color='green'>";
   echo mysql_Result ($result,$i, "aj"); 
   echo "</font></p></td><td width='300'><p>&nbsp;<font color='blue'>";
   echo mysql_Result ($result,$i, "cz"); 
   echo "</font></p></td></tr>";

  $i++; 
 }     
 
echo "</table>";
 
}

?>
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: Slovník v PHP - úloha prosím pomoc

Príspevok od používateľa BX »

Na MySQL by som sa vykašlal. Ak to len proste musíš spraviť, tak by som volil súbory. Teda predpokladajme, že máš trebárs súbor, kde máš v každom riadku slovo po slovensky a druhý súbor, kde máš v každom riadku slovo po eng. Síce to bude dosť dlhý súbor no, ale čo už :D Prípadne hociaký iný súbor, kde by bol aj svk aj eng preklad a ktorý by sa mohol testovať cez reg. výrazy. Ak by ale boli súbory dva a sedeli riadky (teda v 3. riadku svk súboru by bolo slovo "auto" a v 3. riadku eng súboru by bolo "car") tak by to bolo jednoduché cez fgets, nejako takto: (skopírované z manuálu a upravené)

Kód: Vybrať všetko

$str = "auto\n";

$f = fopen("subor.txt", "r");
if ($f) {
    while (($line = fgets($f, 100)) !== false) {
        if($line === $str) echo $line."<br>\n";
    }
    if (!feof($f)) {
        echo "Error: unexpected fgets() fail\n";
    }
    fclose($f);
}
?>
No a už by si otvoril súbor podľa toho, či by si prekladal zo svk do eng, alebo naopak. Jednosmerne stačí jeden súbor a hľadať :)
Zlatohlavok
Light Expert
Light Expert
Príspevky: 40
Registrovaný: 24 nov 2010, 19:38

Re: Slovník v PHP - úloha prosím pomoc

Príspevok od používateľa Zlatohlavok »

Velmi pekne ďakujem za ochotu.

On chce aby som to hodil na školský server a tam mu to predviedol HTML+PHP, HTML stánku mám hotovú, už iba prirobím tento preklad tam, ale PHP musím niekde splašiť a dať to tam. Ale ja to nedám na školský server, pretože ja som sa trocha tomu HTML po póbediach venoval a spravil som nejaké veci navyše a jedna znich, že som si to dal na Endoru. Keďže tam beží SQL aj apache a všetko čo k tomu potrebujem, tak to využijem a dám to tam.
SQL musím použiť tak či tak, či to dám na školský server, alebo na Endoru.

Na vyššie spomínanej stránke http://slovnik.czweb.org/ z ktorej som tu dával ten volne šíritelný zdroják je aj priložená databáza slovíčok.
Hlavne keď pôjde aj 5 slovíčok, ale nech idú, to už si tolko tú databázu rozšírim, hlavne nech to ide.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Slovník v PHP - úloha prosím pomoc

Príspevok od používateľa audiotrack »

BX: si si istý že by to fungovalo? Ty v tom subor.txt hľadáš slovo auto (teda reťazec $str) ale vôbec si neuchovávaš na ktorom riadku si ho našiel a nehľadáš ho potom v druhom súbore
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: Slovník v PHP - úloha prosím pomoc

Príspevok od používateľa BX »

No hej, trocha som sa sekol a prekladal som auto do slovenčiny :D Ale to je fuk no. Uchovám si číslo riadku a ten vypíšem z druhého súboru. Minimálna úprava, stále ide len o to fgets v cykle.
Zlatohlavok
Light Expert
Light Expert
Príspevky: 40
Registrovaný: 24 nov 2010, 19:38

Re: Slovník v PHP - úloha prosím pomoc

Príspevok od používateľa Zlatohlavok »

Potrebujem využiť MySQL.

Takto nejako by to mohlo vyzerať?
Databázu mám na Endore v MySQL. Mám tam pár slovíčok. Treba to ešte nejako prepojiť a rozchodiť, ale jak? :?

Kód: Vybrať všetko

<html>

<head>
<title>Slovn&iacute;k EN <-> SK</title>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
</head>

<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">

<p><font color="red" face="Arial Black" size="5"><img src="image/03.gif" width="68" height="50" border="0">Slovn&iacute;k EN <-> 
SK<img src="image/06.gif" width="68" height="50" border="0"></font></p>
<form>
<table border="1" width="638">
    <tr>
        <td width="128">
            <p>Slov&iacute;čko</p>
        </td>
        <td width="154">
                <input type="text" name="word">
        </td>
        <td width="103">
                <select name="smer" size="1">
                <option value="aj">EN -> SK</option>
                <option value="sk">CZ -> EN</option>
                </select>
        </td>
        <td width="225">
                <input type="checkbox" name="cast" value="cast">i č&aacute;st slova
                
        </td>
        <td width="225">
                        <p><input type="submit" name="odesli" value="translate / přeložit"></p>
        </td>
    </tr>
</table>
</form>

<p>&nbsp;</p>
<?
hledej ($word,$smer,$cast);
?>

</body>

</html>
<?
function hledej ($word,$smer,$cast)
{

$server="localhost";
$user="";
$pass="";
$db="slovnik"; 

mysql_Pconnect ($server,$user,$pass);

if ($cast=="cast")
	$result = mysql ($db, "select * from sk_aj where $smer like '%$word%' ORDER BY $smer;"); 
else	$result = mysql ($db, "select * from sk_aj where $smer like '$word' ORDER BY $smer;"); 
 	$pocet = mysql_NumRows ($result);  
$i=0;

 echo "<table border='1' width='600'><tr><td width='300'><p><font color='red' face='Arial Black'>Anglicky</font></p>";
 echo "</td><td width='300'><p><font color='red' face='Arial Black'>Česky</font></p></td></tr>";
    
while ($i<$pocet) 
 { 
   echo "<tr><td width='300'><p><font color='green'>";
   echo mysql_Result ($result,$i, "aj"); 
   echo "</font></p></td><td width='300'><p>&nbsp;<font color='blue'>";
   echo mysql_Result ($result,$i, "sk"); 
   echo "</font></p></td></tr>";

  $i++; 
 }     
 
echo "</table>";
 
}

?>
Napísať odpoveď