![](/img/trans.png)
[英]How to reuse same query code (Not result) in other stored procedures mysql?
[英]Reuse a mysql query resultset on same PHP page
我有一個工作結果集,在運行時循環顯示作者和鏈接列表。 工作正常。 我需要能夠在同一頁面中顯示相同的數據集兩次。 我寧願不要兩次運行相同的查詢。 如何將結果集(如下所示的顯示 output)設置為 var,並在兩個表示點獲得相同的 output? 不久前我看到了一些關於使用 for each 循環的內容,但不知道該怎么做。
查詢:
if($stmtr = mysqli_prepare($link, $sql8)){
// Bind variables to the prepared statement as parameters
mysqli_stmt_bind_param($stmtr, "s", $param_stripurlslash);
// Set parameters
$param_stripurlslash = $stripurlslash;
// Attempt to execute the prepared statement
if(mysqli_stmt_execute($stmtr)){
$resultAuthor = mysqli_stmt_get_result($stmtr);
$usera = mysqli_fetch_assoc($resultAuthor, MYSQLI_ASSOC);
} else {
echo "Oops! Something went wrong. Please try again later.";
}
}
顯示器 output:
<?php
while ($row = mysqli_fetch_assoc($resultAuthor)) {
if ($row['book_author_first_name_only'] == 0 ) {
echo "<a class='fw-bold author-link' href='#" . $row['book_id'] . "'>" . $row['book_author_first_name'] . ' ' . $row['book_author_last_name'] . "</a>";
} else {
echo "<a class='fw-bold author-link' href='#" . $row['book_id'] . "'>" . $row['book_author_first_name'] . "</a>";
}
}
?>
老實說,你已經完成了 99% 的工作。
你可以替換這個:
while ($row = mysqli_fetch_assoc($resultAuthor)) {
if ($row['book_author_first_name_only'] == 0 ) {
echo "<a class='fw-bold author-link' href='#" . $row['book_id'] . "'>" . $row['book_author_first_name'] . ' ' . $row['book_author_last_name'] . "</a>";
} else {
echo "<a class='fw-bold author-link' href='#" . $row['book_id'] . "'>" . $row['book_author_first_name'] . "</a>";
}
}
和:
$rows = mysqli_fetch_all($resultAuthor, MYSQLI_ASSOC);
一次獲取所有行並將它們存儲在一個數組( $rows
)中。
您會注意到這看起來與您在while (...) { }
循環中使用的每次 1 條記錄的版本非常相似。
現在,您可以根據需要簡單地迭代這些數據:
foreach ($rows as $row) {
if ($row['book_author_first_name_only'] == 0 ) {
echo "<a class='fw-bold author-link' href='#" . $row['book_id'] . "'>" . $row['book_author_first_name'] . ' ' . $row['book_author_last_name'] . "</a>";
} else {
echo "<a class='fw-bold author-link' href='#" . $row['book_id'] . "'>" . $row['book_author_first_name'] . "</a>";
}
}
// and again
foreach ($rows as $row) {
// ... do something else with each $row
}
// and again
foreach ($rows as $row) {
// ... do something else with each $row
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.