2015-08-10 3 views
0

У меня есть страница, отображающая журналы студентов по дате, году, разделу и IN/OUT. Мой вопрос, как подсчитать количество студентов, которые отображались при фильтрации.подсчет отображаемых данных

скриншот: http://oi60.tinypic.com/2a5ejgg.jpg

Это код.

//SET UP SQL STATEMENT 
$WHERE=''; 
if ($year<>'0') 
{ 
    $WHERE = " student.year = $year "; 
} 

if ($section<>'0') 
{ 
    if ($WHERE=='') 
    { 
     $WHERE = " student.section = '" . $section . "'"; 
    } 
    else 
    { 
     $WHERE = $WHERE . "and student.section = '" . $section . "'"; 
    } 
} 
//SET UP SQL STATEMENT 
if ($in_out<>'0') 
{ 
    if ($WHERE=='') 
    { 
     $WHERE = " `log`.status_log = '" . $in_out . "'"; 
    } 
    else 
    { 
     $WHERE = $WHERE . "and `log`.status_log = '" . $in_out . "'"; 
    } 
} 
//SET UP SQL STATEMENT 
if ($datefilter<>'') 
{ 
    if ($WHERE=='') 
    { 
     $WHERE = " `log`.date_log = '" . $datefilter . "'"; 
    } 
    else 
    { 
     $WHERE = $WHERE . "and `log`.date_log = '" . $datefilter . "'"; 
    } 
} 
$start = ($page-1)*$per_page; 

if ($WHERE=='') 
{ 
    //SET UP SQL STATEMENT 
    $sql = "SELECT `log`.id, (student.id) as ids, student.name, 
        student.`year`, student.section, `log`.date_log, 
        `log`.time_log, `log`.ampm, `log`.status_log, 
        section.sec_name 
      FROM `log` 
       Inner Join student ON student.cardcode = `log`.stud_id 
       Inner Join section ON section.id = student.section 
      order by `log`.id DESC 
      limit $start,$per_page"; 
} 
else 
{//SET UP SQL STATEMENT SELECT COUNT(*) AS totalin FROM log WHERE status_log='in' 
    $sql = "SELECT `log`.id, (student.id) as ids, student.name, 
        student.`year`, student.section, `log`.date_log, 
        `log`.time_log, `log`.ampm, `log`.status_log, 
        section.sec_name 
      FROM `log` 
       Inner Join student ON student.cardcode = `log`.stud_id 
       Inner Join section ON section.id = student.section 
      WHERE $WHERE 
      order by `log`.id DESC 
      limit $start,$per_page"; 

} 
//EXECUTE SQL STATEMENT 
$result = mysql_query($sql); 


//OOP ALL QUERY DATA ON LOAD AS LIST 
while($row = mysql_fetch_array($result)) 
{ 
    echo '<tr style="font-size: 12px;" class="record">'; 
    echo '<td ><a style="text-decoration:none; color:#4F6B72" href="studentlog.php?id='.$row['ids'].'"</a>' .$row['name']. '</td>'; 
    if ($row['year']=='1') 
    { echo '<td>&nbsp;1st</td>';} 
    else if ($row['year']=='2') 
    { echo '<td>&nbsp;2nd</td>';} 
    else if ($row['year']=='3') 
    { echo '<td>&nbsp;3rd</td>';} 
    else if ($row['year']=='4') 
    { echo '<td>&nbsp;4th</td>';} 
    echo '<td >'. $row['sec_name']. '</td>'; 
    echo '<td >'. $row['status_log'] .'</td>'; 
    echo '<td>'.$row['date_log'].'</td>'; 
    echo '<td>'.$row['time_log'] . ' ' . $row['ampm'] .'</td>'; 
} 
+3

Покажите нам код. Мы программисты, а не пророки. – Patrick2607

+0

Я отказался от этого, потому что вам не нравился общий код. Поделитесь соответствующим кодом, который вы хотите фильтровать. –

+0

сэр хороший день я опубликовал код –

ответ

0

После того, как Вы выполнили запрос, Вы можете нам mysql_num_rows(), который говорит вам, фактическое количество возврата строк в запросе

Так

//EXECUTE SQL STATEMENT 
$result = mysql_query($sql);   

$rows_returned = mysql_num_rows($result); 

Как представляется очевидным, вы просто изучение PHP и MYSQL я могу предложить вам не использовать расширение mysql_!

Вместо узнать mysqli_ или PDOsee this document for why

+0

thankyou sir.but sir У меня вопрос, как подсчитать отображаемые данные сэр? –

+0

Вперед Я слушаю – RiggsFolly

+0

Вы имеете в виду, как подсчитать фактические строки данных, которые вы видите на странице? Или как подсчитать все возможные строки, соответствующие фильтру в базе данных. – RiggsFolly

Смежные вопросы