function.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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. if(count($Fetch)>0){
  13. foreach ($Fetch as $key => $value) {
  14. # code...
  15. $redis->hSet("ref_first_mean://".$word,$value["lang"],$value["mean"]);
  16. }
  17. }
  18. }
  19. $mean = $redis->hGet("ref_first_mean://".$word,$lang);
  20. if($mean!=FALSE){
  21. return $mean;
  22. }
  23. else{
  24. if($lang!="en"){
  25. $mean = $redis->hGet("ref_first_mean://".$word,"en");
  26. if($mean!=FALSE){
  27. return $mean;
  28. }
  29. }
  30. $arr_keys = $redis->hGetAll("ref_first_mean://".$word);
  31. if(count($arr_keys)>0){
  32. foreach ($arr_keys as $key => $value) {
  33. # code...
  34. return $value;
  35. }
  36. }
  37. else{
  38. return "";
  39. }
  40. }
  41. }
  42. else{
  43. PDO_Connect(_FILE_DB_REF_, _DB_USERNAME_, _DB_PASSWORD_);
  44. $query = "SELECT mean from " . _TABLE_DICT_REF_ . " where word = ? and language = ? limit 0,1";
  45. # code...
  46. $mean = PDO_FetchRow($query, array($word, $lang));
  47. if ($mean) {
  48. return $mean["mean"];
  49. } else {
  50. if ($lang != "en") {
  51. $mean = PDO_FetchRow($query, array($word, "en"));
  52. if ($mean) {
  53. return $mean["mean"];
  54. } else {
  55. return "";
  56. }
  57. } else {
  58. return "";
  59. }
  60. }
  61. }
  62. }