2013-07-12 4 views
-1

PHP의 MySQL 쿼리에서 행 수를 가져 오는 데 문제가 있습니다.행 수를 반환하는 방법

<?php 

$con=* TESTED AND WORKING * 

// Check connection 

if (mysqli_connect_errno($con)) 
{ 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 


$retDiv = ""; 

$counter = 0; 

$result = mysqli_query($con,"SELECT * FROM `store` ORDER BY `num` DESC "); 
$num_rows = mysql_num_rows($result); 

while($row = mysqli_fetch_array($result)) 
{ 
    if ($counter>=5) 
    { 
     break; 
    } 
    else 
    { 
     $retDiv = "<div id=\"hs" . $row['num'] . "\" class=\"store-item " . $row['Artist'] . "\">\n"; 
     $retDiv = $retDiv . "<div id=\"". $row['Release'] . "-title\" class=\"album-title\">\n"; 
     $retDiv = $retDiv . "<h1 align=\"center\" style=\"text-transform:uppercase;\">" . $row['Release'] . "</h1></br>\n"; 
     $retDiv = $retDiv . "<h3 align=\"center\">" . $row['ReleaseName'] . "</h3>\n"; 
     $retDiv = $retDiv . "</div>\n"; 
     $retDiv = $retDiv . "<div id=\"" . $row['Release'] . "-description\" class=\"description\">\n"; 
     $retDiv = $retDiv . "<table width=\"100%\">\n"; 
     $retDiv = $retDiv . "<td width=\"50%\" style=\"padding-left:57px;padding-right:57px;padding-top:57px;padding-bottom:20px;\">\n"; 
     $retDiv = $retDiv . "<a id=\"" . $row['Release'] . "DivLink\" href=\"javascript:;\" onmousedown=\"toggleDivStore('" . $row['Release'] . "-expand','" . $row['Release'] . "DivLink','" . $row['Release'] . "','" . $row['Release'] . "b','" . $row['Release'] . "')\"><img name=\"" . $row['Release'] . "-art\" src = \"images/" . $row['Release'] . ".jpg\" class=\"album-art\" onmouseover=\"this.src='images/" . $row['Release'] . "b.jpg'\" onmouseout=\"this.src='images/" . $row['Release'] . ".jpg'\"></a>\n"; 
     $retDiv = $retDiv . "<td width=\"50%\" style=\"padding:20px;padding-top:0px;padding-bottom:0px;padding-left:0px;\">\n"; 
     $retDiv = $retDiv . "<p style=\"\">" . $row['Description'] . "</p>\n"; 
     $retDiv = $retDiv . "</td>\n"; 
     $retDiv = $retDiv . "</table>\n"; 
     $retDiv = $retDiv . "</div>\n"; 
     $retDiv = $retDiv . "<div class=\"album-expand\" id=\"RELEASE-expand\" style=\"display:none;\">\n"; 
     $retDiv = $retDiv . "</div>\n"; 
     $retDiv = $retDiv . "<div =\"" . $row['Release'] . "PaypalContainer\" class=\"album-paypal-container\">\n"; 
     $retDiv = $retDiv . $row['Paypal1']; 
     $retDiv = $retDiv . "</div>\n"; 
     $retDiv = $retDiv . "</div>\n"; 

     echo $retDiv; 
    } 
    $counter = $counter+1; 
} 


echo "<div id=\"retNum\"><script type=\"text/javascript\">numReleases =" . $num_rows . ";numPages=Math.ceil(numReleases/5)-1;</SCRIPT></div>"; 

mysqli_close($con); 

어떻게 retNum 자바 스크립트에 $num_rows와 행 개수를 반환하는 다음과 같이

test page에 대한 링크와 PHP 코드는?

+0

mysql_num_rows ($ result); mysqli_num_rows ($ result);를 사용하십시오. – crush

+0

감사합니다! 이 질문을 삭제해야합니까? – cthemc

답변

0

mysqli (i 참고)와 mysql (i의 LACK 참고)을 혼합합니다. 두 개의 라이브러리와 기능의 몸은 상호 운용하지 있습니다

$num_rows = mysql_num_rows($result); 
       ^--- missing an `i` here 
+0

감사합니다. marc! 이 질문을 삭제해야합니까? 처음에는 멍청한 질문에 대해 유감스럽게 게시했습니다. 나는 차이가 있다는 것을 몰랐다 – cthemc

+0

그것은 당신에게 달려있다. 답변이있는 질문을 삭제하면 계정이 다소 손상 될 수 있습니다. –

+0

나는 그것을 남겨두고 대답을 표시 할 것이다. 다시 한 번 감사드립니다! – cthemc

0

데이터베이스에서 설정 한 결과를 얻을 수 mysqli_query() 메소드를 사용하고, 결과의 행의 수는 (mysqli_num_rows를 호출하는 것으로 취득 할 수 있습니다) 메쏘드는 인자로 mysqli_result를 취하고 mysql_num_rows()를 사용하지 않는다. 확인 mysqli_num_rows()

0

PHP 로직을 사용하는 대신 SQL 쿼리에 "LIMIT 5"를 추가하십시오.

+0

나는 그것을 시도했지만 자바 스크립트로 돌아가려면 테이블의 총 행 수를 반환하고 싶다. 나는 비록 카운트를 별도로 사용할 수 있다고 생각한다. 귀하의 의견에 감사드립니다! – cthemc

+0

MySql 서버의 부하를 줄이기 위해 "SELECT count (*) FROM'store'"를 사용하여 총 레코드 수를 얻은 다음 LIMIT 절을 사용하여 후속 페이지를 제한 할 수 있습니다. – dar7yl

관련 문제