อยากเรียงหน้าใตมคอลัมน์ก่อนค่อยขึ้นแถวใหม่

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
nutt
PHP Newbie
PHP Newbie
โพสต์: 4
ลงทะเบียนเมื่อ: 01/01/1970 7:00 am

อยากเรียงหน้าใตมคอลัมน์ก่อนค่อยขึ้นแถวใหม่

โพสต์ที่ยังไม่ได้อ่าน โดย nutt »

ผมอยากให้หน้าแสดงสินค้าเรียงให้ครบ 4 คอลัมน์ก่อนแล้วค่อยขึ้นแถวต่อไป ผมเอาโค๊ดนี้ไปใช้มันเรียงแถวก่อนแล้วถึงจะเริ่มคอลัมน์ครับ จะต้องแก้ไขยังไงครับ รบกวนผู้รู้ช่วยด้วยครับ
รูปภาพ

โค๊ดครับ

$sql="SELECT * FROM order_tb AS h INNER JOIN products_tb AS p ON (h.product_id=p.product_id AND h.product_group=p.product_group) WHERE h.member_id ='".$u_id."' GROUP by order_id DESC";

//echo $sql;
$query=dbquery($sql);
$rows=dbrows($query);

#แบ่งหน้าแสดง
$per_page=20;
if (!$page) {
$page = 1;
}
$prev_page = $page - 1;
$next_page = $page + 1;
// Set up specified page
$page_start = ($per_page * $page) - $per_page;
$result = mysql_db_query($dbname,$sql);
$num_rows = $rows ;
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;
if (($page > $num_pages) || ($page < 0)) {
error("You have specified an invalid page number");
}
$sql="SELECT * FROM order_tb AS h INNER JOIN products_tb AS p ON (h.product_id=p.product_id AND h.product_group=p.product_group) WHERE h.member_id ='".$u_id."' order by order_id DESC LIMIT $page_start, $per_page ";
//echo $sql;
$query=dbquery($sql);
$rows=dbrows($query);
if($rows>0)
{
$per_col=12;
$rowcount = 2;
echo "<table width='100%'>";
echo "<tr><td width='50%' valign='top'>";
WHILE($data=dbarray($query))
{
$rowcount++;

$qt=dbquery("SELECT cat_name FROM catalogs_tb WHERE cat_id='".$data['product_type']."' ");
$tdata=dbarray($qt);
$type=$tdata['cat_name'];

if($data['order_status']=='1'){
$status="Processing";
}else if($data['order_status']=='2'){
$status="Finish";
}else if($data['order_status']=='3'){
$status="Cancel";
}else{
$status="Waitting";
}


PRINT("<table cellpadding='3' width=100%>");
PRINT("<tr><td>");

$sql_order="SELECT * FROM order_tb WHERE member_id ='".$u_id."' GROUP by order_id DESC";
$query_order=dbquery($sql_order);
$order=dbarray($query_order);
PRINT('<table width=100% border=0 >
<tr>
<td width="9%" rowspan=8 align=center valign=top><a href="#" onClick="NewWindow(\''.BASEDIR.'pages/zoom.php?pid='.$data['product_id'].'&type='.$data["product_group"].'&v=1\',\'preview\',\'760\',\'580\',\'center\',\'Front\');"><img src="'.IMAGES.'products/thumbnall/'.$data['img1'].'" alt="" style="margin-right:19px; " align="left" border="0"></a></td>
<td align=\"right\">Date</td>
<td ><b>'.$data["date_order"].'</b></td>
</tr>
<tr>
<td align="right">Order No.</td>
<td><b>'.$data["order_no"].' </b></td>
</tr>

<tr>
<td align=\"right\">Product</td>
<td><a href="index.php?p=product_detail&pid='.$data["product_id"].'&type='.$data["product_group"].'"><strong>'.$data["product_name"].'</strong></a></td>
</tr>

<tr>
<td align="right">Group</td>
<td><b>'.$data["product_group"].'</b></td>
</tr>

<tr>
<td align="right">Qlt.</td>
<td><b>'.$data["order_quantity"].'</b></td>
</tr>

<tr>
<td align="right">Price</td>
<td><b>'.$data["price"].'</b></td>
</tr>

<tr>
<td align="right">Gold Market</td>
<td><b><font color="#FFFFFF">'.$data["goldmarket"].'</font></b></td>
</tr>
<tr>
<td align="right">Status</td>
<td>

<b><font color="#FF0000">'.$status.'</font></b></td>
</tr>
</table>

<img src="images/spacer.gif" alt="" width="1" height="7"><br><span>');
print('<div align="right">
<img src="images/a2.gif" alt=""><a href="index.php?p=product_detail&pid='.$data["product_id"].'&type='.$data["product_group"].'">&nbsp;Details</a></div></span>');
PRINT("</td></tr>");
PRINT("</table><hr>");



if ($rowcount >= $per_col) {
echo "</td><td width='50%' valign='top'>";
$rowcount = 2;
}

}//End while



echo "</tr></table>";
#แสดงหน้า link ไปยังหน้าอื่นๆ
print "<table width='100%' border='0' cellspacing='0' cellpadding='0' align='center' >

<tr><td colspan=3 background=images/mem_line.png width=100% height=2></td></tr>
<tr><td colspan=3 height=5></td></tr>

<tr>
<td width='10%'>&nbsp;";
if ($prev_page) { echo "<a href='index.php?p=member&page=$prev_page'><img src=images/icon_back.gif border=0 alt=Back></a>"; };
print "&nbsp;</td>
<td width='80%'>";
for ($i = 1; $i <= $num_pages; $i++) {
if ($i != $page) {
echo "l <a href=index.php?p=member&page=$i> $i </a>"; } else { echo "l <B><font color=red> $i </font></B>"; }
};
print "</td>
<td width='10%'>&nbsp;";
if ($page != $num_pages) { echo "&nbsp;<B><a href='index.php?p=member&page=$next_page'><img src=images/icon_next.gif border=0 alt=next></a></B>" ; } ;
if ($page == 0 ) { echo "" ; } ;
print "&nbsp;</td>
</tr>
</table>";
#จบการแบ่งหน้า
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41336
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: อยากเรียงหน้าใตมคอลัมน์ก่อนค่อยขึ้นแถวใหม่

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

เอา จำนวน แถว ทั้งหมด มา หาร สี่ก่อน
แล้ว วน loop ตามจำนวนที่ได้ จะได้ row ทั้งหมด ใน row
ให้ มี 4 column ใช้ คำสั่ง fetch เอา ในแต่ ละ column

นี่เป็นเพียง 1 วิธี นะครับ ยังคิดได้หลายแบบ ลอง ดูครับ คิดเป็นแบบอื่นก็ได้ ในกระทู้ เก่าๆ ก็ เคยมี คนแนะนำไว้ อีก สองสามวิธี ลองหาดูครับ ว่า จะชอบ แบบไหน
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ภาพประจำตัวสมาชิก
nutt
PHP Newbie
PHP Newbie
โพสต์: 4
ลงทะเบียนเมื่อ: 01/01/1970 7:00 am

Re: อยากเรียงหน้าใตมคอลัมน์ก่อนค่อยขึ้นแถวใหม่

โพสต์ที่ยังไม่ได้อ่าน โดย nutt »

ลองเขียนโค๊ดให้ดูหน่อยครับ พอดีมันต้องแบ่งหน้าด้วย ผมไม่ค่อยเก่ง เพิ่งศึกษาครับ
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41336
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: อยากเรียงหน้าใตมคอลัมน์ก่อนค่อยขึ้นแถวใหม่

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

แบ่งหน้า ก็ เอาจำนวนทั้งหมด ที่ หาร 4 แล้ว มาคิด แบ่งหน้าต่อ
เหมือน โค้ด ที่ยกมา
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ตอบกลับโพส

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: Amazon [Bot], Bing [Bot] และบุคลทั่วไป 81