如何最小化代码并避免重复

  • 本文关键字:最小化 代码 php
  • 更新时间 :
  • 英文 :


我正在学习PHP。

我想计算考试中一个班级所有科目的缺勤学生人数。

我使用以下代码提取一个类和两个主题的数据。

我想计算四个班级和 27 个科目的缺勤学生人数 如何通过使用最少的代码和避免重复来实现这一点?

<?php

/*Query to calculate number of absent students in FYBA in all 6 subjects.  
by counting studid (student id)  
Economics = marks1e*/

$e = mysql_query('select count(studid) from examdbf1 where exam_id =   14153 and faculty = 1 and sem = 1 and repeater = 1 and marks1e = 'AA'');
$ea = mysql_fetch_array($e);
echo '<br>'. $ea['count(studid)'] . '<br>';

/*Marathi Optional = marks2e*/

$mo = mysql_query('select count(studid) from examdbf1 where exam_id = 14153 and faculty = 1 and sem = 1 and repeater = 1 and marks2e = 'AA'');
$moa = mysql_fetch_array($mo);
echo '<br>'. $moa['count(studid)'] . '<br>';

使用注释中的代码,将***marks1e***更改为$m[$x] -

$m = array("marks1e", "marks2e", "marks3e", "marks4e", "marks5e", "marks6e"); 
$mcount = count($m); 
for($x = 0; $x < $mcount; $x++) { 
    $e = mysql_query('SELECT count(studid) FROM examdbf1 WHERE exam_id = 14153 AND faculty = 1 AND sem = 1 AND repeater = 1 AND '.$m[$x].' = 'AA''); 
    $ea = mysql_fetch_array($e); 
    echo '<br>'.$m[$x].': '. $ea['count(studid)'] . '<br>';
}

同样,由于您只是从 $m 更改值,因此您可以执行foreach() -

$m = array("marks1e", "marks2e", "marks3e", "marks4e", "marks5e", "marks6e"); 
foreach($m as $n) { 
    $e = mysql_query('SELECT count(studid) FROM examdbf1 WHERE exam_id = 14153 AND faculty = 1 AND sem = 1 AND repeater = 1 AND '.$n.' = 'AA''); 
    $ea = mysql_fetch_array($e); 
    echo '<br>'.$n.': '. $ea['count(studid)'] . '<br>';
}

最新更新