function.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. require_once '../path.php';
  3. require_once '../public/_pdo.php';
  4. require_once '../redis/function.php';
  5. function getRefFirstMeaning($word,$lang,$redis){
  6. if($redis!==false){
  7. $len = $redis->hLen("ref_first_mean_".$word);
  8. if($len===FALSE || $len==0){
  9. PDO_Connect(_FILE_DB_REF_, _DB_USERNAME_, _DB_PASSWORD_);
  10. $query = "SELECT mean,language as lang from " . _TABLE_DICT_REF_ . " where word = ? group by language";
  11. $Fetch = PDO_FetchAll($query, array($word));
  12. foreach ($Fetch as $key => $value) {
  13. # code...
  14. $redis->hset("ref_first_mean_".$word,$value["lang"],$value["mean"]);
  15. }
  16. }
  17. $mean = $redis->hGet("ref_first_mean_".$word,$lang);
  18. if($mean!=FALSE){
  19. return $mean;
  20. }
  21. else{
  22. if($lang!="en"){
  23. $mean = $redis->hGet("ref_first_mean_".$word,"en");
  24. if($mean!=FALSE){
  25. return $mean;
  26. }
  27. }
  28. $arr_keys = $redis->hGetAll("ref_first_mean_".$word);
  29. if(count($arr_keys)>0){
  30. foreach ($arr_keys as $key => $value) {
  31. # code...
  32. return $value;
  33. }
  34. }
  35. else{
  36. return "";
  37. }
  38. }
  39. }
  40. else{
  41. PDO_Connect(_FILE_DB_REF_, _DB_USERNAME_, _DB_PASSWORD_);
  42. $query = "SELECT mean from " . _TABLE_DICT_REF_ . " where word = ? and language = ? limit 0,1";
  43. # code...
  44. $mean = PDO_FetchRow($query, array($word, $lang));
  45. if ($mean) {
  46. return $mean["mean"];
  47. } else {
  48. if ($lang != "en") {
  49. $mean = PDO_FetchRow($query, array($word, "en"));
  50. if ($mean) {
  51. return $mean["mean"];
  52. } else {
  53. return "";
  54. }
  55. } else {
  56. return "";
  57. }
  58. }
  59. }
  60. }