2015-09-26 95 views
0

爲什麼此函數只返回一個,最後一個元素是否全部從數據庫中插入?有AR從不同勢類別多了很多:函數僅返回一個元素

功能得到表「tentego_cat」類別ID和這對錶「tentego_vote」

功能代碼中的大多數記錄「tenteg_img」搜索元素:

function bestOfDay($pattern, $where, $currentPage, $objPerPage) 
{ 
    global $ads, $user, $rewrite, $kernel, $page; 
    if (!isset($_SESSION['last_cat'])) $_SESSION['last_cat'] = false; 
    $plugins = $this->loadPlugins(); 
    $sett = $page; 
    if (isset($currentPage) && is_numeric($currentPage) && $currentPage > 0) { 
     $page = mysql_real_escape_string($currentPage - 1) * $objPerPage; 
    } 
    else $page = 0; 
    $selectCategory = mysql_query("SELECT tentego_img_cat.* FROM tentego_img_cat"); 
    while ($cat = mysql_fetch_array($selectCategory)) { 
     $catID = $cat['id']; 
     $date = date('Y-m-d'); 
     $query = mysql_query("SELECT tentego_img.* FROM tentego_img INNER JOIN tentego_img_vote ON tentego_img.id = tentego_img_vote.object_id WHERE cat =$catID GROUP BY tentego_img_vote.object_id ORDER BY SUM((CASE WHEN tentego_img_vote.vote = '0' AND tentego_img_vote.date LIKE '" . $date . "%' THEN '1' ELSE '0' END)) DESC LIMIT 1"); 
     $text = NULL; 
     $return = NULL; 
     while ($img = mysql_fetch_array($query)) { 
      $return.= $ads->load('#AD[object]#'); 
      $object = null; 
      $text = preg_replace("/\[object url=(.*)\]/", $object, $pattern); 
      $shortTitle = $img['title']; 
      if (strlen($shortTitle) > 200) { 
       $shortTitle = mb_substr($shortTitle, 0, 500, 'utf-8') . '<a href="' . $rewrite->img("#ID#", "#REWRITE-TITLE#") . '" style="color: #0080; font-size: 16px;"> [...] - Przejdź do wpisu</a>'; 
      } 
      else $shortTitle = $shortTitle . '<a href="' . $rewrite->img("#ID#", "#REWRITE-TITLE#") . '"style="color: #0080; font-size: 16px;"> - Przejdź do wpisu </a>'; 
      $text = str_replace("#TITLE#", nl2br($shortTitle) , $text); 
      $text = str_replace("#REWRITE-TITLE#", $rewrite->changeSigns($img['title']) , $text); 
      $text = str_replace("#ID#", $img['id'], $text); 
      // GÅ‚osy 
      $votes = mysql_query("SELECT SUM(IF(vote=0,1,0)) as votes 
              FROM `tentego_img_vote` WHERE `object_id`=" . $img['id'] . " GROUP BY object_id"); 
      $vote = mysql_fetch_array($votes); 
      if ($vote['votes'] != 0) { 
       $text = str_replace("#VOTE#", $vote['votes'], $text); 
      } 
      else { 
       $text = str_replace("#VOTE#", '0', $text); 
      } 
      $date = new DateTime($img['date']); 
      $text = str_replace("#DATE#", $date->format("d.m.y") . ', ' . $date->format("H:i") , $text); 
      if ($img['type'] == 'Myśl') { 
       // Owner 
       if ($img['owner'] != 0) { 
        $owner = mysql_fetch_array(mysql_query("SELECT tablicacms_users.user FROM `tablicacms_users` WHERE `id`=" . $img['owner'])); 
        $owner_name = $owner['user']; 
       } 
       else { 
        $owner_name = "Gość"; 
        $owner['id'] = 0; 
       } 
       $text = str_replace("#OWNER#", '<a href="' . $rewrite->user($img['owner'], $rewrite->changeSigns($owner_name)) . '">' . $owner_name . '</a>', $text); 
       // Owner Avatat 
       if ($img['owner'] != 0) { 
        $owner = mysql_fetch_array(mysql_query("SELECT * FROM `tablicacms_users` WHERE `id`=" . $img['owner'])); 
        $owner_name = $owner['user']; 
       } 
       else { 
        $owner_name = "Gość"; 
        $owner['id'] = 0; 
       } 
       if ($img['owner'] != 0) { 
        $owner = mysql_fetch_array(mysql_query("SELECT * FROM `tablicacms_users` WHERE `id`=" . $img['owner'])); 
        $owner_name = $owner['user']; 
       } 
       else { 
        $owner_name = "Gość"; 
        $owner['id'] = 0; 
        $owner['avatar'] = "upload/avatars/default.png"; 
       } 
       if ($owner['avatar'] != NULL) { 
        $owner_avatar = $owner['avatar']; 
       } 
       else { 
        $owner['avatar'] = "upload/avatars/default.png"; 
       } 
       $text = str_replace("#OWNER-AVATAR#", 'http://' . $_SERVER['HTTP_HOST'] . '/' . $owner['avatar'], $text); 
       $text = str_replace("#BOOK#", null, $text); 
      } 
      else if ($img['type'] == 'Cytat') { 
       // Owner 
       $owner = mysql_fetch_array(mysql_query("SELECT * FROM `tentego_author` WHERE `id`=" . $img['author'])); 
       $text = str_replace("#OWNER#", '<a href="' . $rewrite->author($img['author'], $rewrite->changeSigns($owner['author'])) . '">' . $owner['author'] . '</a>', $text); 
       if ($owner['avatar'] != null) { 
        $text = str_replace("#OWNER-AVATAR#", 'http://' . $_SERVER['HTTP_HOST'] . '/' . $owner['avatar'], $text); 
       } 
       else { 
        $text = str_replace("#OWNER-AVATAR#", 'http://' . $_SERVER['HTTP_HOST'] . '/ 
         upload/authors/author.jpeg', $text); 
       } 
       if ($img['book'] != null) { 
        $book = mysql_fetch_array(mysql_query("SELECT * FROM `tentego_content_books` WHERE `id`=" . $img['book'])); 
        $text = str_replace("#BOOK#", '<a href="' . $rewrite->book($book['id'], $rewrite->changeSigns($book['name'])) . '">' . $book['name'] . '</a>', $text); 
       } 
       else { 
        $text = str_replace("#BOOK#", null, $text); 
       } 
      } 
      // MODERATOR # 
      $text = str_replace("#MOD_TOOLS#", $this->mod_tools($img) , $text); 
      // KONIEC MODERATORA # 
      if ($user->verifyLogin()) { 
       $verify = mysql_num_rows(mysql_query("SELECT * FROM `tentego_img_vote` WHERE `object_id`=" . $img['id'] . " AND `user_id`=" . $user->userInfo('id'))); 
       if ($verify) $text = preg_replace('/\[FAV\=(.*)\|(.*)\]/', "$2", $text); 
       else $text = preg_replace('/\[FAV\=(.*)\|(.*)\]/', "$1", $text); 
      } 
      else $text = preg_replace('/\[FAV\=(.*)\|(.*)\]/', "", $text); 
      if ($user->verifyLogin()) { 
       $text = str_replace("#NOTES-POPUP#", '<a href="" class="showModal" onClick="addToNote(' . $img['id'] . ',0)"><i class="book icon"></i></a>', $text); 
      } 
      else $text = str_replace("#NOTES-POPUP#", null, $text); 
      $cat = mysql_fetch_array(mysql_query("SELECT * FROM `tentego_img_cat` WHERE `id`=" . $img['cat'])); 
      $text = str_replace("#COLOR#", $cat['color'], $text); 
      $text = str_replace("#CATEGORY#", '<a href="' . $rewrite->categories($img['cat'], $rewrite->changeSigns($cat['name'])) . '">' . $cat['name'] . '</a>', $text); 
      $return.= $text; 
     } 
    } 
    if (empty($return)) $return = "<div id=\"display_error\">" . $kernel->lang['object']['empty'] . "</div>"; 
    $page = $sett; 
    return $return; 
} 
+0

我想你已經添加'$收益= NULL;''裏面,而(){}'循環..如果你把它移到1st while while循環之外,那麼爲什麼你使用'$ return = NULL;'爲什麼不是'$ return =「」;' – Exception

回答

0

爲什麼你使用$return = NULL;

當您需要將數據追加使用$return = '';

嘗試下面的代碼,

function bestOfDay($pattern, $where, $currentPage, $objPerPage) 
{ 
    global $ads, $user, $rewrite, $kernel, $page; 
    if (!isset($_SESSION['last_cat'])) $_SESSION['last_cat'] = false; 
    $plugins = $this->loadPlugins(); 
    $sett = $page; 
    if (isset($currentPage) && is_numeric($currentPage) && $currentPage > 0) { 
     $page = mysql_real_escape_string($currentPage - 1) * $objPerPage; 
    } 
    else $page = 0; 
    $selectCategory = mysql_query("SELECT tentego_img_cat.* FROM tentego_img_cat"); 
    while ($cat = mysql_fetch_array($selectCategory)) { 
     $catID = $cat['id']; 
     $date = date('Y-m-d'); 
     $query = mysql_query("SELECT tentego_img.* FROM tentego_img INNER JOIN tentego_img_vote ON tentego_img.id = tentego_img_vote.object_id WHERE cat =$catID GROUP BY tentego_img_vote.object_id ORDER BY SUM((CASE WHEN tentego_img_vote.vote = '0' AND tentego_img_vote.date LIKE '" . $date . "%' THEN '1' ELSE '0' END)) DESC LIMIT 1"); 
     $text = ''; 
     $return = ''; 
     while ($img = mysql_fetch_array($query)) { 
      $return.= $ads->load('#AD[object]#'); 
      $object = null; 
      $text = preg_replace("/\[object url=(.*)\]/", $object, $pattern); 
      $shortTitle = $img['title']; 
      if (strlen($shortTitle) > 200) { 
       $shortTitle = mb_substr($shortTitle, 0, 500, 'utf-8') . '<a href="' . $rewrite->img("#ID#", "#REWRITE-TITLE#") . '" style="color: #0080; font-size: 16px;"> [...] - Przejdź do wpisu</a>'; 
      } 
      else $shortTitle = $shortTitle . '<a href="' . $rewrite->img("#ID#", "#REWRITE-TITLE#") . '"style="color: #0080; font-size: 16px;"> - Przejdź do wpisu </a>'; 
      $text = str_replace("#TITLE#", nl2br($shortTitle) , $text); 
      $text = str_replace("#REWRITE-TITLE#", $rewrite->changeSigns($img['title']) , $text); 
      $text = str_replace("#ID#", $img['id'], $text); 
      // GÅ‚osy 
      $votes = mysql_query("SELECT SUM(IF(vote=0,1,0)) as votes 
              FROM `tentego_img_vote` WHERE `object_id`=" . $img['id'] . " GROUP BY object_id"); 
      $vote = mysql_fetch_array($votes); 
      if ($vote['votes'] != 0) { 
       $text = str_replace("#VOTE#", $vote['votes'], $text); 
      } 
      else { 
       $text = str_replace("#VOTE#", '0', $text); 
      } 
      $date = new DateTime($img['date']); 
      $text = str_replace("#DATE#", $date->format("d.m.y") . ', ' . $date->format("H:i") , $text); 
      if ($img['type'] == 'Myśl') { 
       // Owner 
       if ($img['owner'] != 0) { 
        $owner = mysql_fetch_array(mysql_query("SELECT tablicacms_users.user FROM `tablicacms_users` WHERE `id`=" . $img['owner'])); 
        $owner_name = $owner['user']; 
       } 
       else { 
        $owner_name = "Gość"; 
        $owner['id'] = 0; 
       } 
       $text = str_replace("#OWNER#", '<a href="' . $rewrite->user($img['owner'], $rewrite->changeSigns($owner_name)) . '">' . $owner_name . '</a>', $text); 
       // Owner Avatat 
       if ($img['owner'] != 0) { 
        $owner = mysql_fetch_array(mysql_query("SELECT * FROM `tablicacms_users` WHERE `id`=" . $img['owner'])); 
        $owner_name = $owner['user']; 
       } 
       else { 
        $owner_name = "Gość"; 
        $owner['id'] = 0; 
       } 
       if ($img['owner'] != 0) { 
        $owner = mysql_fetch_array(mysql_query("SELECT * FROM `tablicacms_users` WHERE `id`=" . $img['owner'])); 
        $owner_name = $owner['user']; 
       } 
       else { 
        $owner_name = "Gość"; 
        $owner['id'] = 0; 
        $owner['avatar'] = "upload/avatars/default.png"; 
       } 
       if ($owner['avatar'] != NULL) { 
        $owner_avatar = $owner['avatar']; 
       } 
       else { 
        $owner['avatar'] = "upload/avatars/default.png"; 
       } 
       $text = str_replace("#OWNER-AVATAR#", 'http://' . $_SERVER['HTTP_HOST'] . '/' . $owner['avatar'], $text); 
       $text = str_replace("#BOOK#", null, $text); 
      } 
      else if ($img['type'] == 'Cytat') { 
       // Owner 
       $owner = mysql_fetch_array(mysql_query("SELECT * FROM `tentego_author` WHERE `id`=" . $img['author'])); 
       $text = str_replace("#OWNER#", '<a href="' . $rewrite->author($img['author'], $rewrite->changeSigns($owner['author'])) . '">' . $owner['author'] . '</a>', $text); 
       if ($owner['avatar'] != null) { 
        $text = str_replace("#OWNER-AVATAR#", 'http://' . $_SERVER['HTTP_HOST'] . '/' . $owner['avatar'], $text); 
       } 
       else { 
        $text = str_replace("#OWNER-AVATAR#", 'http://' . $_SERVER['HTTP_HOST'] . '/ 
         upload/authors/author.jpeg', $text); 
       } 
       if ($img['book'] != null) { 
        $book = mysql_fetch_array(mysql_query("SELECT * FROM `tentego_content_books` WHERE `id`=" . $img['book'])); 
        $text = str_replace("#BOOK#", '<a href="' . $rewrite->book($book['id'], $rewrite->changeSigns($book['name'])) . '">' . $book['name'] . '</a>', $text); 
       } 
       else { 
        $text = str_replace("#BOOK#", null, $text); 
       } 
      } 
      // MODERATOR # 
      $text = str_replace("#MOD_TOOLS#", $this->mod_tools($img) , $text); 
      // KONIEC MODERATORA # 
      if ($user->verifyLogin()) { 
       $verify = mysql_num_rows(mysql_query("SELECT * FROM `tentego_img_vote` WHERE `object_id`=" . $img['id'] . " AND `user_id`=" . $user->userInfo('id'))); 
       if ($verify) $text = preg_replace('/\[FAV\=(.*)\|(.*)\]/', "$2", $text); 
       else $text = preg_replace('/\[FAV\=(.*)\|(.*)\]/', "$1", $text); 
      } 
      else $text = preg_replace('/\[FAV\=(.*)\|(.*)\]/', "", $text); 
      if ($user->verifyLogin()) { 
       $text = str_replace("#NOTES-POPUP#", '<a href="" class="showModal" onClick="addToNote(' . $img['id'] . ',0)"><i class="book icon"></i></a>', $text); 
      } 
      else $text = str_replace("#NOTES-POPUP#", null, $text); 
      $cat = mysql_fetch_array(mysql_query("SELECT * FROM `tentego_img_cat` WHERE `id`=" . $img['cat'])); 
      $text = str_replace("#COLOR#", $cat['color'], $text); 
      $text = str_replace("#CATEGORY#", '<a href="' . $rewrite->categories($img['cat'], $rewrite->changeSigns($cat['name'])) . '">' . $cat['name'] . '</a>', $text); 
      $return.= $text; 
     } 
    } 
    if (empty($return)) $return = "<div id=\"display_error\">" . $kernel->lang['object']['empty'] . "</div>"; 
    $page = $sett; 
    return $return; 
}