使用 Php / JQuery 显示图像


Displaying images using Php / JQuery

我在 MYSQL DB 中有 1000 张图片,我想以类似的方式排列它们 pinterest.com

虽然代码讲述了HTML文件的用法,但我找不到在PHP中使用它的方法。

http://masonry.desandro.com/demos/infinite-scroll.html

使用PHP如果我回显所有图像,那么页面将非常沉重。当我到达底部滚动时,如何集成砌体以从 MYSQL 数据库获取图像,以便页面轻盈?

对此有点困惑,我不是 PHP 专家。任何帮助将不胜感激。

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8" />
  <!--[if lt IE 9]><script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
  <title>Adi</title>
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Adi</title>
<link rel="stylesheet" type="text/css" href="style.css" />

<script src="jquery-1.7.1.min.js"></script>
<script src="jquery.masonry.min.js"></script>
<script src="jquery.infinitescroll.min.js"></script>
<script src="modernizr-transitions.js"></script>

</head>
<body>

<div id="container" class="transitions-enabled infinite-scroll clearfix">
<?php
// Make a MySQL Connection
mysql_connect("localhost", "ID", "Pass") or die(mysql_error());
mysql_select_db("DB") or die(mysql_error());
// Retrieve all the data from the "test " table
$result = mysql_query("SELECT * FROM test limit 10")
or die(mysql_error());  
// store the records of the "TABLENAME" table into $row array and loop through
while ( $row = mysql_fetch_array( $result, MYSQL_ASSOC ) ) {
// Print out the contents of the entry 
//echo "details: ".$row['id'];
echo '<div class="box">';
echo "<img src='"images/".$row['image']."'" alt='"name'" />";
echo '</div>';
}
?>
</div>
<p>Hi</p>
<p>&nbsp;</p>
<nav id="page-nav">
  <a href="2.php"></a>
</nav>
<script >

  $(function(){
    var $container = $('#container');
    $container.imagesLoaded(function(){
      $container.masonry({
        itemSelector: '.box',
        columnWidth: 60
      });
    });
    $container.infinitescroll({
      navSelector  : '#page-nav',    // selector for the paged navigation 
      nextSelector : '#page-nav a',  // selector for the NEXT link (to page 2)
      itemSelector : '.box',     // selector for all items you'll retrieve
      loading: {
          finishedMsg: 'No more pages to load.',
          img: 'http://i.imgur.com/6RMhx.gif'
        }
      },
      // trigger Masonry as a callback
      function( newElements ) {
        // hide new items while they are loading
        var $newElems = $( newElements ).css({ opacity: 0 });
        // ensure that images load before adding to masonry layout
        $newElems.imagesLoaded(function(){
          // show elems now they're ready
          $newElems.animate({ opacity: 1 });
          $container.masonry( 'appended', $newElems, true ); 
        });
      }
    );
  });

</script>

</body>
</html>

第 2 页.php包含

<?php
    // Make a MySQL Connection
    mysql_connect("localhost", "ID", "Pass") or die(mysql_error());
    mysql_select_db("DB") or die(mysql_error());
    // Retrieve all the data from the "test " table
    $result = mysql_query("SELECT * FROM test limit 5")
    or die(mysql_error());  
    // store the records of the "TABLENAME" table into $row array and loop through
    while ( $row = mysql_fetch_array( $result, MYSQL_ASSOC ) ) {
    // Print out the contents of the entry 
    //echo "details: ".$row['id'];
    echo '<div class="box">';
    echo "<img src='"images/".$row['image']."'" alt='"name'" />";
    echo '</div>';
    }
    ?>

如果你想展示它们真的很好,请看这个: http://isotope.metafizzy.co/它很容易集成,我自己也用过。

你要做的是这个。在你设置好所有的同位素之后。(它会告诉你如何)你在你的页面上设置一个PHP函数,就像这样。

<div id="container">
    <?php
        $QUERY = "SELECT * FROM `IMAGES` ORDER BY `ID` Limit 20;"; // 20 Image Limit
        $RESULTS = mysql_query($QUERY);
        while($ROW = mysql_fetch_assoc($RESULTS)) {
            echo '<div class=" Your Main Name For The Isotope Objects "><img src="' . $ROW['URL'] . '" /></div>';
        }
    ?>
</div>

while() 将继续通过您的数据库,直到它达到极限,为您提供 20 个带有图片的div。