捷径php回声代码

时间:2013-09-28 21:34:53

标签: php

我有一个html表,我希望从数据库表中回显内容:

<table style="width: 100%;">
<tbody>
<tr>
<td>
<?php
$ergebnis = mysql_query("SELECT Test FROM testtable");
while($row = mysql_fetch_object($ergebnis))
{
echo $row->Test;
}
</td>
 <td>
<?php
$ergebnis = mysql_query("SELECT Test2 FROM testtable");
while($row = mysql_fetch_object($ergebnis))
{
echo $row->Test2;
}
</td>
</tr>
</tbody>
</table>

有没有办法缩短php代码,因为它有点太长了以至于每个

 <?php
 $ergebnis = mysql_query("SELECT Test FROM testtable");
 while($row = mysql_fetch_object($ergebnis))
 {
 echo $row->Test;
 }

4 个答案:

答案 0 :(得分:3)

如果您的示例确实是您正在做的事情,您可能希望在一个查询中获取所有数据:

<?php
$ergebnis = mysql_query("SELECT Test, Test2 FROM testtable");
$recordset = mysql_fetch_array($ergebnis, MYSQL_ASSOC);
?>

<table style="width: 100%;">
    <tbody>
        <tr>
            <?php foreach (array('Test', 'Test2') as $column) { ?>
                <td>
                    <?php foreach ($recordset as $record) { ?>
                        <?php echo htmlspecialchars($record[$column], ENT_QUOTES, 'UTF-8'); ?>
                    <?php } ?>
                <td>
            <?php } ?>
        </tr>
    </tbody>
</table>

另请注意,mysql_*函数已被弃用,很快就会从语言中删除。如果您想确保您的代码没有开始发送通知,甚至将来停止运行,您可能希望开始使用mysqli_*PDO

http://php.net/manual/en/mysqlinfo.api.choosing.php

另请注意,我添加了htmlspecialchars()以防止可能的XSS attacks

答案 1 :(得分:0)

嗯,你可以通过一个函数来做到这一点:

function query($a){
$ergebnis = mysql_query("SELECT $a FROM testtable");
while($row = mysql_fetch_object($ergebnis))
{
echo $row->$a;
}
}

并将其称为:

<table style="width: 100%;">
<tbody>
<tr>
<td>
<?php
 $a = 'Test';
 query($a);
 ?>
</td>
 <td>
<?php
$a = 'Test2';
query($a);
?>
</td>
</tr>
</tbody>
</table>

答案 2 :(得分:0)

从中创建一个函数。并随时随地使用。

答案 3 :(得分:0)

你可以制作这样的函数:

function query($a){
$ergebnis = mysql_query("SELECT $a FROM testtable");
while($row = mysql_fetch_object($ergebnis))
{
echo $row->$a;
}
}