【问题标题】:Echo PHP array as HTML?将 PHP 数组作为 HTML 回显?
【发布时间】:2013-11-09 16:56:04
【问题描述】:

好的,所以我确实花了一整天的时间试图实现这一目标,但一无所获。 我正在创建一本翻书(使用 turn.js)。 我的姓名和死因存储在 MySQL 数据库中。 我想在每一页上打印 5 个名字和他们的死因。 要在 turn.js 中添加页面,我所要做的就是在

中添加一个

所以我将名称和死因值加载到数组中,然后用数组变量回显整个 div。

我真的很难把它变成代码。 目前我已经设法将它放到单独的页面上,但是我如何让它在一页上只打印 5 个,然后创建一个新页面(直到没有更多的名字)

这是我目前所拥有的。

<?php   
$dbc = mysql_connect('localhost', 'xxxx', 'xxxxxxx');
if (!$dbc) {
die('Not Connected: ' . mysql_error());
}

$db_selected = mysql_select_db("xxxxxx", $dbc);
if (!$db_selected)
{
die ("Can't Connect : " . mysql_error);
}
$query = "SELECT * FROM TABLE";
$result = mysql_query($query);

$victim = array();
$cod = array();
$count = 0;
while ($row = mysql_fetch_assoc($result)) {       
    $victim['$count'] = $row['Victim'];
    $cod['$count'] = $row['COD'];               
    $count++;   
}
?>
<div id="deathnote">
<div style="background-image:url(images/coverpage.jpg);"></div>
<div style="background-image:url(images/page1.jpg);"></div>
<div style="background-image:url(images/page2.jpg);"></div>
<div style="background-image:url(images/page3.jpg);"></div>
<div style="background-image:url(images/page4.jpg);"></div>
<div style="background-image:url(images/page5.jpg);"></div> 
<?php
for ($x=0; $x=$count; $x++) {
echo "<div style='background-image:url(images/page5.jpg);'></div><div class='content'><div class='name'>" . $victim['$x'] . "</div><div class='cod'>" . $cod['$x'] . "</div></div></div>";
}
?>  

任何帮助将不胜感激。 提前谢谢各位:)

【问题讨论】:

标签: php html mysql arrays


【解决方案1】:

查看 $_GET 变量 http://php.net/manual/de/reserved.variables.get.php,您可以在 URL 中设置变量,例如 http://lol.de/?form=1&to=5

$from = $_GET['from'];
$to = $_GET['to'];

if(!is_numeric($from) || !is_numeric($to)) die('SQL Injection');

$count = $to - $from;
$query = "SELECT * FROM TABLE LIMIT ".$from-",".$count;

然后创建一个动态链接,在其中将 5 添加到 $from 和 $to。

未经测试,只是一个想法。

【讨论】:

    【解决方案2】:

    检查代码的最后两行,例如:

    for ($x=0; $x=$count; $x++) {
    echo "<div style='background-image:url(images/page5.jpg);'></div><div class='content'><div class='name'>" . $victim['$x'] . "</div><div class='cod'>" . $cod['$x'] . "</div></div></div>";
    

    将它们更改为:

       $onPage = 5;
        $currentPage = 1;
    
    for ($x=0; $x=$count; $x++) {
    
            if (($x % $onPage) == 0)
            {
                echo "<div style='background-image:url(images/page" . $currentPage . "jpg);'></div>";
                $currentPage++;
            }
    
                echo "<div class='content'>"
                . "<div class='name'>" . $victim['$x'] . "</div>"
                . "<div class='cod'>" . $cod['$x'] . "</div>"
                . "</div>";
    
    }
    

    您可以使用“模数”运算符 - %,以获得您需要的结果。

    【讨论】:

      【解决方案3】:

      试试下面的代码。

      $recordPerPage = 5;
      <?php
      for ($x=1; $x<=$count; $x++) {
        if($x <= $recordPerPage ) {
      echo "<div style='background-image:url(images/page".$x.".jpg);'></div><div class='content'><div class='name'>" . $victim['$x'] . "</div><div class='cod'>" . $cod['$x'] . "</div></div></div>";
           }
      $x = $recordPerPage;
      $recordPerPage += $recordPerPage;
      }
      ?>  
      

      希望对你有所帮助!

      干杯!

      【讨论】:

        【解决方案4】:

        这可能会对您有所帮助。

        <?php
        $recordPerPageCount = 5;
        $pageCount = 1;
        for ($x=0; $x<$count; $x++) { 
          if($x % $recordPerPageCount == 0) { 
             //This block will execute each time after diplaying five records in a page 
             $pageCount++;
          }
        
          echo "<div style='background-image:url(images/page".$pageCount.".jpg);'></div><div class='content'><div class='name'>" . $victim['$x'] . "</div><div class='cod'>" . $cod['$x'] . "</div></div></div>";
        
        }
        ?>  
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-04-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-10-31
          相关资源
          最近更新 更多