![](/img/trans.png)
[英]Echo separate array results as part of a MySql query PHP foreach loop
[英]Echo mysql results in a loop?
我正在使用turn.js做書。 “ deathnote” div
每個div
都會變成一個新頁面。
<div id="deathnote"> //starts book
<div style="background-image:url(images/coverpage.jpg);"></div> //creates new page
<div style="background-image:url(images/paper.jpg);"></div> //creates new page
<div style="background-image:url(images/paper.jpg);"></div> //creates new page
</div> //ends book
我正在做的是嘗試將3個“內容”(內容是一個名稱和死因) divs
一頁,然后生成一個新頁面。
所以這就是我想要的:
<div id="deathnote"> //starts book
<div style="background-image:url(images/coverpage.jpg);"></div> //creates new page
<div style="background-image:url(images/paper.jpg);"></div> //creates new page
<div style="background-image:url(images/paper.jpg);"> //creates new page but leaves it open
<div> CONTENT </div>
<div> CONTENT </div>
<div> CONTENT </div>
</div> //ends the page
</div> //ends book
看起來很簡單,但是內容是來自MySQL DB的數據,因此我必須在使用PHP時回顯它。 這是我到目前為止所擁有的
<div id="deathnote">
<div style="background-image:url(images/coverpage.jpg);"></div>
<div style="background-image:url(images/paper.jpg);"></div>
<div style="background-image:url(images/paper.jpg);"></div>
<div style="background-image:url(images/paper.jpg);"></div>
<div style="background-image:url(images/paper.jpg);"></div>
<div style="background-image:url(images/paper.jpg);"></div>
<?php
$pagecount = 0;
$db = new mysqli('localhost', 'username', 'passw', 'DB');
if($db->connect_errno > 0){
die('Unable to connect to database [' . $db->connect_error . ']');
}
$sql = <<<SQL
SELECT *
FROM `TABLE`
SQL;
if(!$result = $db->query($sql)){
die('There was an error running the query [' . $db->error . ']');
}
//IGNORE ALL OF THE GARBAGE ABOVE. IT IS SIMPLE CONNECTING SCRIPT THAT I KNOW WORKS
//THE METHOD I AM HAVING TROUBLE WITH IS BELOW
$pagecount = 0;
while($row = $result->fetch_assoc()){ //GETS THE VALUE (and makes sure it isn't nothing
echo '<div style="background-image:url(images/paper.jpg);">'; //THIS OPENS A NEW PAGE
while ($pagecount !== 3) { //KEEPS COUNT OF HOW MUCH CONTENT DIVS IS ON THE PAGE
while($row = $result->fetch_assoc()){
//START A CONTENT DIV
echo '<div class="content"><div class="name">' . $row['victim'] . '</div><div class="cod">' . $row['cod'] . '</div></div>';
//END A CONTENT DIV
$pagecount++; //UP THE PAGE COUNT
}
}
$pagecount=0; //PUT IT BACK TO 0
echo '</div>'; //END PAGE
}
$db->close();
?>
<div style="background-image:url(images/backpage.jpg);"></div> //BACK PAGE
</div>
此刻,我似乎正在引起無限循環,因此該頁面無法加載。 問題出在while
循環內。
任何幫助是極大的贊賞。 在此先感謝大家。 :)
請首先在本地實例中運行以下代碼,並確認以下代碼是您的預期概念。 之后,您可以更改結果集並告訴我,
<?php
$Numbers = range(1, 25); // change your result set here
$Limit = 3;
$i=0;
foreach($Numbers as $number){
if($i==$Limit){
echo "<hr>"; // new page
$i=0; // reset the limiter
}
echo $number; // Values to be displayed
$i++;
}
?>
我為您重寫了循環,現在循環遍歷了整個數據庫,並在需要時放置了開始div和結束div。
<div id="deathnote">
<div style="background-image:url(images/coverpage.jpg);"></div>
<div style="background-image:url(images/paper.jpg);"></div>
<div style="background-image:url(images/paper.jpg);"></div>
<?php
$pagecount = 0;
$db = new mysqli('localhost', 'username', 'passw', 'DB');
if($db->connect_errno > 0){
die('Unable to connect to database [' . $db->connect_error . ']');
}
$sql = <<<SQL
SELECT *
FROM `TABLE`
SQL;
if(!$result = $db->query($sql)){
die('There was an error running the query [' . $db->error . ']');
}
$pagecount=0;
while($row = $result->fetch_assoc()){
if($pagecount==0){ echo '<div style="background-image:url(images/paper.jpg);">';}
echo '<div class="content"><div class="name">' . $row['victim'] . '</div><div class="cod">' . $row['cod'] . '</div></div>';
if($pagecount==2){echo '</div>';}
$pagecount++;
if($pagecount==3){$pagecount=0;}
}
//this page count closes the last div (page) if you have less than three entries in it
if($pagecount==1||$pagecount==2){echo '</div>';}
$db->close();
?>
<div style="background-image:url(images/backpage.jpg);"></div> //BACK PAGE
</div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.