现在,我的所有图像基本上都同时插入到了我的页面上(或出现在页面上)。如何创建订单,以便我的图像从左到左,从左到右,从上到下显示一个?
我正在使用MySQL来存储图像名称。因此,也许我应该通过升序创建ID,将其图像名称处理到我的php上来创建订单?我不知道,任何建议都将不胜感激。
这只是一小段代码,用以说明我的意思。这是循环的图像代码:
echo '<img src="https://s3.amazonaws.com/pictures/' . $objResult["Image"] . '.png" />
编辑:
这是更多上下文的代码:
<html>
<body>
<?php
$objConnect = mysql_connect("localhost","root","") or die(mysql_error());
$objDB = mysql_select_db("dfvdfv");
$strSQL = "SELECT * FROM images";
if (!isset($_GET['Page'])) $_GET['Page']='0';
$objQuery = mysql_query($strSQL);
$Num_Rows = mysql_num_rows($objQuery);
$Per_Page = 16; // Per Page
$Page = $_GET["Page"];
if(!$_GET["Page"])
{
$Page=1;
}
$Prev_Page = $Page-1;
$Next_Page = $Page+1;
$Page_Start = (($Per_Page*$Page)-$Per_Page);
if($Num_Rows<=$Per_Page)
{
$Num_Pages =1;
}
else if(($Num_Rows % $Per_Page)==0)
{
$Num_Pages =($Num_Rows/$Per_Page) ;
}
else
{
$Num_Pages =($Num_Rows/$Per_Page)+1;
$Num_Pages = (int)$Num_Pages;
}
$strSQL .=" order by ImagesID ASC LIMIT $Page_Start , $Per_Page";
$objQuery = mysql_query($strSQL);
$cell = 0;
echo '<table border="1" cellpadding="2" cellspacing="1"><tr>';
while($objResult = mysql_fetch_array($objQuery))
{
if($cell % 4 == 0) {
echo '</tr><tr>';
}
if($cell == 2) {
echo '<td>RESERVED</td>';
} elseif ($cell == 3) {
echo '<td>The other cell</td>';
} else {
echo '
<td><img src="https://s3.amazonaws.com/images/' . $objResult["Image"] . '" />' .
$objResult["ImagesName"] . '</td>'; }
$cell++;
}
echo '</tr></table>';
?>
<br />
view more:
<?php
if($Prev_Page)
{
echo " <a href='$_SERVER[SCRIPT_NAME]?Page=$Prev_Page'>prev</a> ";
}
{
echo "|";
}
if($Page!=$Num_Pages)
{
echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$Next_Page'>next</a> ";
}
?>
<?php
mysql_close($objConnect);
?>
</body>
</html>
最佳答案
假设您遍历一个循环来编写html并因此将图像设置为左侧,可以很容易地通过将css float属性设置为left来完成,将图像放入具有您选择的大小的div容器中,如果他们到达正确的边界。这将导致从左到右建立图像。
嵌入了您的代码段的代码示例:
// open container
echo '<div style="width:\'500px\'">';
foreach ($results as $key => $objResult) {
echo '<img style="float:left;" src="https://s3.amazonaws.com/pictures/' . $objResult["Picture"] . '.png" />';
}
// close container
echo '</div>';
我建议使用样式表,而不是直接设置样式属性,但是为了示例简单起见,就是这样。
评论中第二个问题的示例
if ($objResult["description"]) {
$imageTitle = $objResult["description"];
} else {
$imageTitle = $objResult["number"];
}
echo
'<td>'.
'<img src="https://s3.amazonaws.com/images/' . $objResult["Image"] . '" />' .
$imageTitle .
'</td>';
关于php - 如何创建显示图像的顺序? (一个MySQL + PHP问题),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5397844/