function.php 1.6 KB

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