如何简化这个php脚本
关于如何简化下面的php脚本,有什么建议吗?这是我之前的问题: 与此相关联的, 我在这里要做的是根据选中的复选框输出数据。 但是我的代码不是很好,如果两个结果满足条件,它会显示两个表。 正如您在下面的代码中所看到的,关于如何简化此过程,您有什么建议吗如何简化这个php脚本,php,mysql,Php,Mysql,关于如何简化下面的php脚本,有什么建议吗?这是我之前的问题: 与此相关联的, 我在这里要做的是根据选中的复选框输出数据。 但是我的代码不是很好,如果两个结果满足条件,它会显示两个表。 正如您在下面的代码中所看到的,关于如何简化此过程,您有什么建议吗 $id = mysql_real_escape_string($_POST['idnum']); if ( $_POST['yr'] == 'year' and $_POST['sec'] == 'section' ){ $resul
$id = mysql_real_escape_string($_POST['idnum']);
if ( $_POST['yr'] == 'year' and $_POST['sec'] == 'section' ){
$result2 = mysql_query("SELECT * FROM student WHERE IDNO='$id'");
echo "<table border='1'>
<tr>
<th>IDNO</th>
<th>YEAR</th>
<th>SECTION</th>
</tr>";
while($row = mysql_fetch_array($result2))
{
echo "<tr>";
echo "<td>" . $row['IDNO'] . "</td>";
echo "<td>" . $row['YEAR'] . "</td>";
echo "<td>" . $row['SECTION'] . "</td>";
echo "</tr>";
}
echo "</table>";
}
if ( $_POST['yr'] == 'year' and $_POST['sec'] == 'section' and $_POST['lname'] == 'lastname'){
$result3 = mysql_query("SELECT * FROM student WHERE IDNO='$id'");
echo "<table border='1'>
<tr>
<th>IDNO</th>
<th>YEAR</th>
<th>SECTION</th>
<th>LASTNAME</th>
</tr>";
while($row = mysql_fetch_array($result3))
{
echo "<tr>";
echo "<td>" . $row['IDNO'] . "</td>";
echo "<td>" . $row['YEAR'] . "</td>";
echo "<td>" . $row['SECTION'] . "</td>";
echo "<td>" . $row['LASTNAME'] . "</td>";
echo "</tr>";
}
echo "</table>";
}
mysql_close($con);
?>
$id=mysql\u real\u escape\u字符串($\u POST['idnum']);
如果($_POST['yr']='year'和$_POST['sec']=='section'){
$result2=mysql_查询(“从学生中选择*,其中IDNO='$id');
回声“
IDNO
年
部分
";
while($row=mysql\u fetch\u数组($result2))
{
回声“;
回显“$row['IDNO']”;
回显“$行['年]”;
回显“$行['节]”;
回声“;
}
回声“;
}
如果($\u POST['yr']='year'和$\u POST['sec']='section'和$\u POST['lname']='lastname'){
$result3=mysql_查询(“从学生中选择*,其中IDNO='$id');
回声“
IDNO
年
部分
姓氏
";
while($row=mysql\u fetch\u数组($result3))
{
回声“;
回显“$row['IDNO']”;
回显“$行['年]”;
回显“$行['节]”;
回显“$row['LASTNAME']”;
回声“;
}
回声“;
}
mysql_close($con);
?>
您应该将PHP与HTML结合使用,如下所示
<?PHP $id = mysql_real_escape_string($_POST['idnum']);
if ( $_POST['yr'] == 'year' and $_POST['sec'] == 'section' ){
$result2 = mysql_query("SELECT * FROM student WHERE IDNO='$id'");
?>
<table border='1'>
<tr>
<th>IDNO</th>
<th>YEAR</th>
<th>SECTION</th>
</tr>
<?PHP
while($row = mysql_fetch_array($result2))
{
<tr>
<td> <?PHP echo $row['IDNO'] ?>
<td> <?PHP echo $row['YEAR'] ?></td>
<td> <?PHP echo $row['SECTION'] ?></td>
</tr>
<?PHP } ?>
</table>
<?PHP }
if ( $_POST['yr'] == 'year' and $_POST['sec'] == 'section' and $_POST['lname'] == 'lastname'){
$result3 = mysql_query("SELECT * FROM student WHERE IDNO='$id'");
?>
<table border='1'>
<tr>
<th>IDNO</th>
<th>YEAR</th>
<th>SECTION</th>
<th>LASTNAME</th>
</tr>
<?PHP }
while($row = mysql_fetch_array($result3))
{
?>
<tr>
<td> <?PHP echo $row['IDNO'] ?></td>
<td> <?PHP echo $row['YEAR'] ?></td>
<td> <?PHP echo $row['SECTION'] ?> </td>
<td> <?PHP echo $row['LASTNAME'] ?> </td>
</tr>";
<?PHP } ?>
</table>
<?PHP } ?>
<?PHP mysql_close($con); ?>
您应该将PHP与HTML结合使用,如下所示
<?PHP $id = mysql_real_escape_string($_POST['idnum']);
if ( $_POST['yr'] == 'year' and $_POST['sec'] == 'section' ){
$result2 = mysql_query("SELECT * FROM student WHERE IDNO='$id'");
?>
<table border='1'>
<tr>
<th>IDNO</th>
<th>YEAR</th>
<th>SECTION</th>
</tr>
<?PHP
while($row = mysql_fetch_array($result2))
{
<tr>
<td> <?PHP echo $row['IDNO'] ?>
<td> <?PHP echo $row['YEAR'] ?></td>
<td> <?PHP echo $row['SECTION'] ?></td>
</tr>
<?PHP } ?>
</table>
<?PHP }
if ( $_POST['yr'] == 'year' and $_POST['sec'] == 'section' and $_POST['lname'] == 'lastname'){
$result3 = mysql_query("SELECT * FROM student WHERE IDNO='$id'");
?>
<table border='1'>
<tr>
<th>IDNO</th>
<th>YEAR</th>
<th>SECTION</th>
<th>LASTNAME</th>
</tr>
<?PHP }
while($row = mysql_fetch_array($result3))
{
?>
<tr>
<td> <?PHP echo $row['IDNO'] ?></td>
<td> <?PHP echo $row['YEAR'] ?></td>
<td> <?PHP echo $row['SECTION'] ?> </td>
<td> <?PHP echo $row['LASTNAME'] ?> </td>
</tr>";
<?PHP } ?>
</table>
<?PHP } ?>
<?PHP mysql_close($con); ?>
虽然我不是一个PHP人士,但我会根据何时在表中包含姓氏列进行逻辑分析。是否希望此帮助和保持简化
$ShowLastName = ( $_POST['yr'] == 'year'
and $_POST['sec'] == 'section'
and $_POST['lname'] == 'lastname');
$id = mysql_real_escape_string($_POST['idnum']);
$result2 = mysql_query("SELECT * FROM student WHERE IDNO='$id'");
echo "<table border='1'>
<tr>
<th>IDNO</th>
<th>YEAR</th>
<th>SECTION</th> ";
if( $ShowLastName )
echo "<th>LASTNAME</th> ";
echo "</tr>";
while($row = mysql_fetch_array($result2))
{
echo "<tr>";
echo "<td>" . $row['IDNO'] . "</td>";
echo "<td>" . $row['YEAR'] . "</td>";
echo "<td>" . $row['SECTION'] . "</td>";
if( $ShowLastName )
echo "<td>" . $row['LASTNAME'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysql_close($con);
?>
$ShowLastName=($\u POST['yr']=='year'
和$_POST['sec']=='section'
和$_POST['lname']='lastname');
$id=mysql\u real\u escape\u字符串($\u POST['idnum']);
$result2=mysql_查询(“从学生中选择*,其中IDNO='$id');
回声“
IDNO
年
第节”;
如果($ShowLastName)
呼应“姓氏”;
回声“;
while($row=mysql\u fetch\u数组($result2))
{
回声“;
回显“$row['IDNO']”;
回显“$行['年]”;
回显“$行['节]”;
如果($ShowLastName)
回显“$row['LASTNAME']”;
回声“;
}
回声“;
mysql_close($con);
?>
虽然我不是一个PHP人士,但我会根据何时在表中包含姓氏列进行逻辑分析。是否希望此帮助和保持简化
$ShowLastName = ( $_POST['yr'] == 'year'
and $_POST['sec'] == 'section'
and $_POST['lname'] == 'lastname');
$id = mysql_real_escape_string($_POST['idnum']);
$result2 = mysql_query("SELECT * FROM student WHERE IDNO='$id'");
echo "<table border='1'>
<tr>
<th>IDNO</th>
<th>YEAR</th>
<th>SECTION</th> ";
if( $ShowLastName )
echo "<th>LASTNAME</th> ";
echo "</tr>";
while($row = mysql_fetch_array($result2))
{
echo "<tr>";
echo "<td>" . $row['IDNO'] . "</td>";
echo "<td>" . $row['YEAR'] . "</td>";
echo "<td>" . $row['SECTION'] . "</td>";
if( $ShowLastName )
echo "<td>" . $row['LASTNAME'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysql_close($con);
?>
$ShowLastName=($\u POST['yr']=='year'
和$_POST['sec']=='section'
和$_POST['lname']='lastname');
$id=mysql\u real\u escape\u字符串($\u POST['idnum']);
$result2=mysql_查询(“从学生中选择*,其中IDNO='$id');
回声“
IDNO
年
第节”;
如果($ShowLastName)
呼应“姓氏”;
回声“;
while($row=mysql\u fetch\u数组($result2))
{
回声“;
回显“$row['IDNO']”;
回显“$行['年]”;
回显“$行['节]”;
如果($ShowLastName)
回显“$row['LASTNAME']”;
回声“;
}
回声“;
mysql_close($con);
?>
您应该做几件事:
首先,您应该将显示代码与程序逻辑分离。
你真的应该使用一个模板引擎,比如
在第二步中,您应该将数据库代码移动到一个单独的类中
通过这种分离,您可以更清晰、更好地读取源代码。
现在,您可以对不同的业务案例做出更好的反应。
使用被调用的PHP文件作为控制器,它充当数据检索和输出之间的代理 你应该做几件事:
首先,您应该将显示代码与程序逻辑分离。
你真的应该使用一个模板引擎,比如
在第二步中,您应该将数据库代码移动到一个单独的类中
通过这种分离,您可以更清晰、更好地读取源代码。
现在,您可以对不同的业务案例做出更好的反应。
使用被调用的PHP文件作为控制器,它充当数据检索和输出之间的代理 不是答案,但如果您想使用&&
而不是和
,则需要调查sql注入攻击,并且您确实不想在互联网站上发布您的根MYSQL密码:)我想您不应该回显html标记。。。那太难看了。只需退出PHP,编写HTML,然后再次启动PHP块。但这只是一个风格问题。我看不出你的问题有什么不同。它应该是平等的吗?或者它应该有不同的WHERE子句?而且,你没有从前面的答案中学到什么。我觉得再回答你一次毫无意义。我没有从中了解到什么具体的答案?不是答案,但你想使用&
而不是和,你需要调查sql注入攻击,你真的不想在互联网站上发布你的根MYSQL密码:)我想你不应该回显html标记。。。那太难看了。只需退出PHP,编写HTML,然后再次启动PHP块。但这只是一个风格问题。我看不出你的问题有什么不同。它应该是平等的吗?或者它应该有不同的WHERE子句?而且,你没有从前面的答案中学到什么。我觉得再回答你一次毫无意义。我没有从哪个具体的答案中学到什么?