http://gorbem.hu/PHP.php

Angol-magyar szótár

 

Feladat: írjunk szótárprogramot php segítségével. Lehessen a szótárba szó-párokat felvenni, törölni, angol és magyar szavak szerint keresni. A képernyőn egyszerre maximum 16 szó-pár legyen látható. Lehessen előre és hátra lapozni a szótárat, de lehessen teljes listát is kérni.

 

Az alkalmazás a következőképpen nézzen ki:

 

 

A szótárat egy adattáblában tároljuk, melynek mezői: id, angol, magyar. A szótárat az angol szavak szerinti ábécé-rendben listázza a program.

 

Természetesen a programmal bármilyen szó-párok tárolását megvalósíthatjuk. Így nem csak idegen nyelvű szótárra, hanem például szinonimaszótárra, vagy definiálásokra, keresztrejtvényhez szavak és meghatározások tárolására is használhatjuk.

 

Íme a megvalósító program:

 

http://gorbem.hu/PH/Szotar.php

 

<?php

      session_start();

      include("sconfig.php");

     

      if ( !isset($_POST['elso']) & !isset($_POST['hatra']) & !isset($_POST['kozepre']) & !isset($_POST['elore']) & !isset($_POST['utolso']) & !isset($_POST['mentes']) & !isset($_POST['torles']) & !isset($_POST['akeres']) & !isset($_POST['mkeres']) ){

            $_SESSION['n'] = 0;

      }

     

      if ( isset($_POST['elso']) ){

            $_SESSION['n'] = 0;

      }

     

      if ( isset($_POST['hatra']) ){

            $n = $_SESSION['n'];

            $n = $n-16;

            if ( $n<0 ){

                  $n = 0;

            }

            $_SESSION['n'] = $n;

      }

     

      if ( isset($_POST['kozepre']) ){

            $n = round($_SESSION['db']/2)-8;

            if ( $n<0 ){

                  $n = 0;

            }

            $_SESSION['n'] = $n;

      }

     

      if ( isset($_POST['elore']) ){

            $db = $_SESSION['db'];

            $n = $_SESSION['n'];

            $n = $n+16;

            if ( $n>$db-16 ){

                  $n = $db-16;

            }

            $_SESSION['n'] = $n;

      }

     

      if ( isset($_POST['utolso']) ){

            $db = $_SESSION['db'];

            $n = $db-16;

            if ( $n<0 ){

                  $n = 0;

            }

            $_SESSION['n'] = $n;

      }

     

      if ( isset($_POST['mentes']) ){

            $iangol = $_POST['inangol'];

            $imagyar = $_POST['inmagyar'];

            if ( $iangol !== '' & $imagyar !== '' ){

                  $eredm = mysql_query("SELECT * FROM szavak WHERE angol='$iangol' ");

                  $egyso = mysql_fetch_object($eredm) + '';

                  if ( $egyso == '' ){

                       mysql_query("INSERT INTO szavak (id,angol,magyar) VALUES ('','$iangol','$imagyar') ");

                  }

            }

      }

     

      if ( isset($_POST['torles']) ){

            $tangol = $_POST['inangol'];

            mysql_query("DELETE FROM szavak WHERE angol='$tangol' ");

      }

     

      if ( isset($_POST['akeres']) ){

            $kangol = $_POST['keangol'];

            $kmagyar = $_POST['kemagyar'];

            if ( $kangol !== '' ){

                  $eredm = mysql_query("SELECT * FROM szavak WHERE angol='$kangol' ");

                  $egyso = mysql_fetch_object($eredm);

                  $kmagyar = $egyso->magyar;

            }

      }

      if ( isset($_POST['mkeres']) ){

            $kangol = $_POST['keangol'];

            $kmagyar = $_POST['kemagyar'];

            if ( $kmagyar !== '' ){

                  $eredm = mysql_query("SELECT * FROM szavak WHERE magyar='$kmagyar' ");

                  $egyso = mysql_fetch_object($eredm);

                  $kangol = $egyso->angol;

            }

      }

     

?>

<html>

<head>

 

<meta http-equiv=content-type content="text/html; charset=iso-8859-2"/>

<title>Angol-magyar szótár</title>

</head>

 

<body>

<center>

 

<h2><u>Angol-magyar szótár</u>

<?php

      $m = 0;

      $ered = mysql_query("SELECT * FROM szavak");

      while ( $egys = mysql_fetch_object($ered) ){

            $m++;

      }

      print " ($m) </h2>";

      $_SESSION['db'] = $m;

?>

 

<form name="" action="Szotar.php" method="POST">

<input type="submit" name="akeres" value="Keres angol" /> &nbsp;

<b>Angol: <input type="text" size="16" name="keangol" value= "<?php print "$kangol"; ?>" /> &nbsp;

Magyar: <input type="text" size="16" name="kemagyar" value= "<?php print "$kmagyar"; ?>" /> &nbsp;</b>

<input type="submit" name="mkeres" value="Keres magyar" />

</form>

 

<?php

      print "<table border=\"1\" cellpadding=\"2\" cellspacing=\"0\" >\n";

      print "<tr><th>&nbsp;SSz:&nbsp;</th>";

      print "<th>&nbsp;Angol:&nbsp;</th>";

      print "<th>&nbsp;Magyar:&nbsp;</th>";

      $n = $_SESSION['n'];

      if ( isset($_POST['mind']) ){

            $eredm = mysql_query("SELECT * FROM szavak ORDER BY angol");

      }

      else{

            $eredm = mysql_query("SELECT * FROM szavak ORDER BY angol LIMIT $n, 16");

      }

      while ( $egyso = mysql_fetch_object($eredm) ){

            $ang = $egyso->angol;

            $mgy = $egyso->magyar;

            $n++;

            print "<tr>";

                  print "<th>$n.</th>";

                  print "<td>$ang</td>";

                  print "<td>$mgy</td>";

            print "</tr> \n";

      }

      print "</table><br />";

?>

 

<form name="" action="Szotar.php" method="POST">

<input type="submit" name="mentes" value="Mentés" /> &nbsp;

<b>Angol: <input type="text" size="16" name="inangol" /> &nbsp;

Magyar: <input type="text" size="16" name="inmagyar" /></b> &nbsp;

<input type="submit" name="torles" value="Törlés" /> &nbsp;

<input type="submit" name="elso" value=" |&lt" /> &nbsp;

<input type="submit" name="hatra" value=" &lt;&lt " /> &nbsp;

<input type="submit" name="kozepre" value=" &gt|&lt" /> &nbsp;

<input type="submit" name="elore" value=" &gt;&gt " /> &nbsp;

<input type="submit" name="utolso" value=" &gt;| " /> &nbsp;

<input type="submit" name="mind" value="Mind" />

</form>

 

</center>

</body>

</html>