0

私は本を​​作るためにturn.jsを使用しています。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

私がやっていることは、divs1ページに3つの「コンテンツ」(名前と死因であるコンテンツ)を取得してから、新しいページを生成しようとしています。

だからここに私が欲しいものがあります:

<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ループ内にあります。

どんな助けでも大歓迎です。よろしくお願いします。:)

4

2 に答える 2

0

最初にローカル インスタンスで以下のコードを実行し、1 つ以下が想定されるコンセプトであることを確認してください。その後、結果セットを変更してお知らせください。

  <?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++;
        }             
      ?>
于 2013-10-31T05:40:45.720 に答える
0

ループを書き直しました。ループはデータベース全体を反復処理し、必要に応じて開始 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>
于 2013-10-31T06:27:55.637 に答える