如何使用准备好的语句在 PHP 中输出 MySQL 表

问题描述 投票:0回答:2

我正在测试这段代码

$query = "SELECT * from `items`";

if ($stmt = $mysqli->prepare($query)) {

    /* execute statement */
    $stmt->execute();

    /* bind result variables */
    $stmt->bind_result($id, $code,....); // One by one all column names

    /* fetch values */
    while ($stmt->fetch()) {
        printf ("%s (%s)\n", $name, $code);
    }

    /* close statement */
    $stmt->close();
}

有没有更简单的方法将整个表格输出为 HTML 标记?

php mysql html database prepared-statement
2个回答
2
投票

有没有更简单的方法将整个表格输出为 HTML 标记?

当然。
学习使用模板

只需将准备好的语句与输出分开即可。
为此,首先将数据收集到数组中:

/* fetch values */
$data = array();
while ($row = $stmt->fetch()) {
    $data[] = $row;
}

然后包含一个带有您喜欢的 HTML 标记的模板

<table>
<?php foreach($data as $row): ?>
  <tr>
    <td>
      <a href="?id=<?= htmlspecialchars($row['id']) ?>">
        <?= htmlspecialchars($row['name']) ?>
      </a>
    </td>
  </tr>
<?php endforeach ?>
</table>
  

不过,整个问题与准备好的语句完全无关。


0
投票

以下代码片段可以满足您的要求..但我不确定这是否是更简单的方法..希望这会有所帮助。

对于 php,

$pricequery="SELECT price FROM technoxchange";
$result=mysql_query($pricequery);

while($row= mysql_fetch_array($result)){
   $prices [] = $row['price'];
}

echo json_encode( array( 'prices' => $prices ) ); 

对于js来说,

var p;
$.get("getTechnoXchange.php", function(data){
    p = data.prices;
});

$('#priceUnicus').html( p[0] ); 
$('#priceHire').html( p[1] ); 
$('#priceMonsterArena').html( p[2] ); 
© www.soinside.com 2019 - 2024. All rights reserved.