|
|
|
พอจะมี code ที่เรียงภาพและข้อมูลจากฐานข้อมูลตามภาพนี้มั้ยคะ |
|
|
|
|
|
|
|
ขอบคุณค่ะพี่ meannerss
มีอีกนิดนึง พอดีน้องดึงจากฐานข้อมูลตาม code ด้านล่างนี้อ่ะค่ะ ไม่รู้จะแก้ยังไงต่อดี อยากให้แต่ละภาพต่อกันโดยไม่ต้องมีช่องว่าง (ตามลูกศรสีแดงเข้มอ่ะค่ะ) พอช่วยดูทีได้มั้ยคะ
Code (PHP)
<div align="center">
<?
$strSQL = "SELECT * FROM pic";
$objQuery = mysql_query($strSQL);
$Num_Rows = mysql_num_rows($objQuery);
$Per_Page = 20; // 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 id desc LIMIT $Page_Start , $Per_Page";
$objQuery = mysql_query($strSQL);
echo"<table border=\"0\" cellspacing=\"1\" cellpadding=\"1\"><tr>";
$intRows = 0;
while($objResult = mysql_fetch_array($objQuery))
{
$idg = $objResult["id"];
$topicg = $objResult["topic"];
$photog = $objResult["photo"];
echo "<td>";
$intRows++;
?>
<table width="162" border="0" align="center" cellpadding="1" cellspacing="1" class="brdc">
<tr>
<td width="102" height="21" align="center">
<?
echo "<img src=picimg/$photog width=170 border=0>";
?>
</td>
</tr>
<tr>
<td align="center"> <div align="left">
<? echo "<font size=2 color=#666666>$topicg</font>"; ?>
</div></td>
</tr>
</table>
<div align="left"> </div>
</div>
<div align="center">
<?
echo"</td>";
if(($intRows)%4==0)
{
echo"</tr>";
}
}
echo"</tr></table>";
?>
</div>
ผลลัพท์
ขอบคุณมากๆ ค่ะ
|
|
|
|
|
Date :
2014-06-09 21:25:54 |
By :
because |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่ไช่แบบนั้นนะครับ
- 1แถวแนวตั้งจะมีแค่ 1 TD เท่านั้น
- ข้อเสียของการเรียงแบบนี้คือเราจะได้ภาพที่ 1 2 3..N เรียงลงมาในแนวตั้ง และตัดแถวใหม่เมื่อถึงจำนวนที่ต้องการ
ลองๆแบบนี้ดูทั้งหมดทั้งปวงมีแค่ 1 TR และ 3 TD
** Per_Page = 21 ละกันเพื่อให้ลงตัวแถวละ 7 รูป
Code (PHP)
<div align="center">
<?
$strSQL = "SELECT * FROM pic";
$objQuery = mysql_query($strSQL);
$Num_Rows = mysql_num_rows($objQuery);
$Per_Page = 21; // 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 id desc LIMIT $Page_Start , $Per_Page";
$objQuery = mysql_query($strSQL);
echo"<table border=\"0\" cellspacing=\"1\" cellpadding=\"1\"><tr>";
$intRows = 0;
while($objResult = mysql_fetch_array($objQuery))
{
$idg = $objResult["id"];
$topicg = $objResult["topic"];
$photog = $objResult["photo"];
if(($intRows)%7==0)
{
echo"<td valign='top' >";
}
?>
<table width="162" border="0" align="center" cellpadding="1" cellspacing="1" class="brdc">
<tr>
<td width="102" height="21" align="center">
<?
echo "<img src=picimg/$photog width=170 border=0>";
?>
</td>
</tr>
<tr>
<td align="center"> <div align="left">
<? echo "<font size=2 color=#666666>$topicg</font>"; ?>
</div></td>
</tr>
</table>
<div align="left"> </div>
</div>
<div align="center">
<?
//ขอตัดส่วนปิดTD ออกก่อนขี้เกียจคิด(อันที่จริงไม่ใส่ก็ได้) แต่เพื่อความสมบูรณ์ของ HTML ค่อยมาเติมเอาทีหลัง
//if(($intRows)%7==0)
//{
// echo"</td>";
//}
$intRows++;
}
echo"</tr></table>";
?>
</div>
|
|
|
|
|
Date :
2014-06-09 23:21:32 |
By :
meannerss |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พี่ meannerss คะ จาก No.3 อ่ะค่ะ
ถ้าทำตาม code ที่ให้มา มันจะได้ 7 แถว ๆ ละ 3 รูปอ่ะค่ะ
ซึ่งถ้าเปลี่ยนจาก 7 สมมุติเป็น 5 มันก็จะได้แถวละ 7 รูป
ซึ่งดูแล้ว มันมีค่าตามแถวของ if(($intRows)%7==0) ตรงนี้อ่ะค่ะ
ถ้าต้องการแถวละ 4 รูป สักประมาณ 5 แถว ต้องเขียนยังไงอ่ะคะ
ขอบคุณค่ะ
|
|
|
|
|
Date :
2014-06-17 06:17:28 |
By :
because |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$td=array(); // ใช้เก็บ html แต่ละแถว
$col=5; // อยากได้กี่คอลัมน์ก็กำหนดเอา
$row=4; // อยากได้กี่ภาพต่อคอลัมน์กำหนดเอา
$w=100; // ความกว้างของ image
$idx=0; // กำหนดค่าเริ่มต้นที่ คอลัมน์ 0
$rs=msyql_query('select id from tb limit '.($col*$row));
while($ro=mysql_fetch_assoc($rs)){
$td[$idx].="<img src='image_[$ro[id]].jpg' width=$w /><br />";
$idx=($idx +1) ^ $col;
}
echo "<table><tr>";
for($i=0; $i<$col; $i++) echo "<td>$td[$i]</td>";
echo '</tr></table>';
โค๊ดนี้ แสดง 5 คอลัมน์ ๆ ละ 4 ภาพ ส่วนอื่นประยุกต์ใช้เอานะครับ พวกข้อความที่จะให้แสดง
|
|
|
|
|
Date :
2014-06-18 13:18:04 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|