Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 108,451

HOME > PHP > PHP Forum > รบกวนแนะนำ PHP ดึงข้อมูลจาด DB แสดงข้อมูลเรียงแนวตั้ง(มีภาพครับ)



 

รบกวนแนะนำ PHP ดึงข้อมูลจาด DB แสดงข้อมูลเรียงแนวตั้ง(มีภาพครับ)

 



Topic : 124119



โพสกระทู้ ( 37 )
บทความ ( 0 )



สถานะออฟไลน์




ขอสอบถามครับ PHP แสดงข้อมูลเรียงแนวตั้งโดยดึงจากฐานข้อมูลมาแสดงแบบ multi ครับตามภาพครับ ท่านใดพอมีวิธีรบกวนแนะนำด้วยครับผม
multi



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-08-02 19:33:50 By : gigiyo View : 2887 Reply : 9
 

 

No. 1



โพสกระทู้ ( 3,966 )
บทความ ( 8 )



สถานะออฟไลน์


ใช้ css แบ่ง column เอาไม่ได้เหรอ? ทำเป็น grid งี้?
ผมว่ามันอยู่ที่ css เป็นหลักนะ มันก็เอา table ธรรมดาก็ได้ เอา if มาช่วยแสดงครบ 5 แล้วขึ้น table ใหม่ไรงี้






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-02 19:41:38 By : mr.v
 


 

No. 2



โพสกระทู้ ( 37 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : mr.v เมื่อวันที่ 2016-08-02 19:41:38
รายละเอียดของการตอบ ::
ตอนแรกจะทำที่ sql ใช้ cross apply,pivot แต่คิดว่า loop แนวตั้งครบไปแนวนอนครับ ตามที่แนะนำพอมีตัวอย่างไหมครับผม

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-03 09:46:40 By : gigiyo
 

 

No. 3



โพสกระทู้ ( 3,999 )
บทความ ( 7 )

Hall of Fame 2012

สถานะออฟไลน์


ตอบความคิดเห็นที่ : 2 เขียนโดย : gigiyo เมื่อวันที่ 2016-08-03 09:46:40
รายละเอียดของการตอบ ::
http://getbootstrap.com/css/ Grind

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-03 09:52:36 By : dudesaranyu
 


 

No. 4



โพสกระทู้ ( 37 )
บทความ ( 0 )



สถานะออฟไลน์


ขอโทษครับผมถามไม่ชัดเจน
รูปภาพคือตัวอย่างนะครับที่ถามไม่ได้หมายถึงหน้าตาครับ

เพิ่มเติมครับ คือผมคิวรี่ข้อมูลมาจากฐานข้อมูลแล้วนะครับ
จากนั้นต้องการนำข้อมูลที่คิวรี่มาได้ออกมาแสดง ทั้งหมด 70 เรทคอร์ด เรียงเป็นแถว 3 แถว
โดยข้อมูลใน1เรทคอร์ดมี 3 ฟิว ลำดับ,ชื่อ,ราคา

ซึ่งปกติการเราคิวรี่ข้อมูลมาและ repeat ข้อมูลมาแสดงจะออกมาแบบนี้ครับ

No. Name Price
1 test1 1000
2 test1 1000
3 test1 1000
4 test1 1000
.
.
.N

--------------------------------------------
สิ่งที่อยากถามครับและต้องการคือเรียงแนวตั้ง เมื่อครบมาเรียงใหม่อีก 1 คอลัม..ไปจนครบ
1 25 49
2 26 50
3 27 51
4 28 52
. . .
. . .
. . 70
24 48

รบกวนท่านที่พอเข้าใจช่วยแนะนำด่วยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-03 13:01:06 By : gigiyo
 


 

No. 5



โพสกระทู้ ( 37 )
บทความ ( 0 )



สถานะออฟไลน์


ทำแบบง่ายๆก่อนครับ คิวรี่แยก และใช้ ตัวแปรแทนค่า limit
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-03 16:00:21 By : gigiyo
 


 

No. 6



โพสกระทู้ ( 1,843 )
บทความ ( 10 )



สถานะออฟไลน์
Blogger

ลองวิธีนี้ดูครับ

Code (PHP)
<?php
$user = 'tobedev';
$pass = 'dev.1234';
try {
$dbh = new PDO('mysql:host=localhost:33065;dbname=tobedev_example', $user, $pass);
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}



$stm = $dbh->prepare("SELECT name, price FROM tb_product LIMIT 14");
$stm->execute();

$data = array();
$no=1;
while($result = $stm->fetch(PDO::FETCH_ASSOC)){
$result['no'] = $no++;
$data[] = $result;
}

$count = count($data); //หาจำนวนข้อมูลทั้งหมด
$row_num = 5; //กำหนดจำนวนแถวที่ต้องการ
$col_num = ceil($count/$row_num); //จำนวนคอลัมน์ที่จะแสดง

//สร้างอาร์เรย์ชุดใหม่
$new_data = array();
for($i=0;$i<$row_num;$i++) //วนลูปตามจำนวนแถวที่ต้องการ
{
$row = array();
$index = $i;
for($j=0;$j<$col_num;$j++) //วนลูปตามจำนวนคอลัมน์ที่คำนวณได้
{
$row[] = isset($data[$index]) ? $data[$index] : '';
$index += $row_num;//เลื่อนลำดับข้อมูลของคอลัมน์ต่อไป
}
$new_data[] = $row;
}

//สร้างตารางข้อมูล
echo '<table border=1 cellpadding=5 cellspaceing=1>';
//สร้างหัวข้อ
echo '<tr>';
for($i=0;$i<$col_num;$i++) //วนลูปตามจำนวนคอลัมน์ที่คำนวณได้
{
echo "<th>No</th>
<th>Name</th>
<th>Price</th>";
}
echo '</tr>';
//สร้างข้อมูล
foreach ($new_data as $row) {
echo "<tr>";
foreach ($row as $data) {
echo "<td style='background-color:#eeeeee'>$data[no]</td>
<td>$data[name]</td>
<td>$data[price]</td>";
}
echo "</tr>";
}
echo '</table>';

//echo '<pre>',print_r($new_data,true), '</pre>';

$stm = null;

$dbh = null;
?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-04 06:22:22 By : {Cyberman}
 


 

No. 7



โพสกระทู้ ( 5,104 )
บทความ ( 4 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


 <table class="table" id="tableRoom">
                <tbody>
                <hr>
                <?php
                if ($mysql->query(" SELECT * FROM [tb_room] ORDER BY CONVERT([nameRoom] USING tis620) ASC") > 0) {
                    $no = 1;
                    $i = 0;
                    $col = 4;
                    while ($rs = $mysql->fetch()) {
                        //echo $i;
                        if ($i % $col === 0) {
                            echo "<tr>";
                        }
                        ?>
                        <td><div  class="col-md-12">
                                <input  type="radio" id="room<?php echo $no; ?>" name="room" value="<?php echo $rs['idRoom']; ?>"> <?php echo $rs['nameRoom']; ?>
                            </div>
                        </td>
                        <?php
                        ++$no;
                        //++$i;
                        if (($i + 1) % $col === 0) {
                            echo "</tr>";
                        }
       ++$i;
                    }
                }
                //echo $i;
                if ($i > $col) {
                    for ($j = $i; $j % $col != 0; ++$j) {
                        ?>
                        <td><div  class="col-md-12"> &nbsp; </div></td>
                        <?php
                    }
                }

                if ($i % $col != 0) {
                    echo "</tr>";
                }
                ?>
                <tr>    
                    <td colspan="4">
                        <div class="col-md-2"><input type="radio" id="room99" name="room" value="99"> สถานที่(อื่นๆ) </div>
                        <div class="col-md-4"> <input type="text" class="form-control"  name="otherLocation" id="otherLocation"> </div>
                    </td>

                </tr>

                <tr>    
                    <td colspan="4">
                        <div class="col-md-4">
                            <button type="submit" class="btn btn-primary" id="btnAdd" rel="insert_remote_student"> บันทึก </button> 
                        </div>
                    </td>
                </tr>

                </tbody>
            </table>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-04 12:33:43 By : apisitp
 


 

No. 8

Guest


ลองใช้ Array key ให้เป็นประโยชน์ดูครับ
Logic ไม่ยาก
PHP
<?php
/**
* ดึงข้อมูลออกมาเป็น Array ที่มี index เป็นลำดับ
* ตัวอย่างข้อมูล
*/
for($i=1; $i<=52; $i++)
{
$data[$i] = ['name'=>'Name'.$i, 'price'=>'Price'.$i];
}

/**
* กำหนดแถวและคอลัมป์
*/

// กำหนดจำนวนคอลัมป์
$total_column = 3;

// แถว เขียน logic หรือ hardcode ไปเลยก็ได้
$total_row = ceil(count($data)/3); // หากมีเศษให้ปัดขึ้น


/**
* สร้างตาราง
*/

// \t = tab , \n = ขึ้นบรรทัดใหม่ เวลา View Source จะได้ดูง่าย
$table = "<table border='1'>\n";

for($row = 1; $row <= $total_row; $row++) // วนแถวตาม
{
$table .= "\t<tr>\n";
for($column = 1; $column <= $total_column; $column++ ) // วนคอลัมป์
{
$index = ($column-1)*$total_row + $row; //หาลำดับ Index

$table .= "\t\t<th>$index</th>\n";
$table .= "\t\t<td>".(isset($data[$index]['name']) ? $data[$index]['name'] : '')."</td>\n";// หากมีข้อมูลใน index นี้ให้แสดง หากไม่มีให้ว่าง
$table .= "\t\t<td>".(isset($data[$index]['price']) ? $data[$index]['price'] : '')."</td>\n";// หากมีข้อมูลใน index นี้ให้แสดง หากไม่มีให้ว่าง
}
$table .= "\t</tr>\n";
}

$table .= "</table>\n";

echo $table;

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-04 13:50:44 By : Mansuang
 


 

No. 9

Guest


ลองใช้ Array key ให้เป็นประโยชน์ดูครับ
Logic ไม่ยาก

* ขออภัย โพสก่อนหน้าไม่ทราบว่าจะแก้ไขยังไง
Code (PHP)
<?php
/**
 * ดึงข้อมูลออกมาเป็น Array ที่มี index เป็นลำดับ
 * ตัวอย่างข้อมูล
 */
for($i=1; $i<=52; $i++)
{
	$data[$i] = ['name'=>'Name'.$i, 'price'=>'Price'.$i];
}

/**
 * กำหนดแถวและคอลัมป์
 */

// กำหนดจำนวนคอลัมป์
$total_column = 3;

// แถว เขียน logic หรือ hardcode ไปเลยก็ได้
$total_row = ceil(count($data)/3); // หากมีเศษให้ปัดขึ้น


/**
 * สร้างตาราง
 */

// \t = tab , \n = ขึ้นบรรทัดใหม่ เวลา View Source จะได้ดูง่าย
$table = "<table border='1'>\n";

for($row = 1; $row <= $total_row; $row++) // วนแถวตาม 
{
	$table .= "\t<tr>\n";
		for($column = 1; $column <= $total_column; $column++ ) // วนคอลัมป์
		{
			$index = ($column-1)*$total_row + $row; //หาลำดับ Index

			$table .= "\t\t<th>$index</th>\n";
			$table .= "\t\t<td>".(isset($data[$index]['name']) ? $data[$index]['name'] : '')."</td>\n";// หากมีข้อมูลใน index นี้ให้แสดง หากไม่มีให้ว่าง
			$table .= "\t\t<td>".(isset($data[$index]['price']) ? $data[$index]['price'] : '')."</td>\n";// หากมีข้อมูลใน index นี้ให้แสดง หากไม่มีให้ว่าง
		}
	$table .= "\t</tr>\n"; 
}

$table .= "</table>\n";

echo $table;


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-08-04 13:52:39 By : Mansuang
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนแนะนำ PHP ดึงข้อมูลจาด DB แสดงข้อมูลเรียงแนวตั้ง(มีภาพครับ)
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: Voake, Comcube, รับทำเว็บไซต์ รับเขียนโปรแกรม , รับทำบัญชี , โรงงานผลิตครีม , สำนักงานบัญชี , รับจดทะเบียนบริษัท , Pangpond , รถมือสอง

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2020 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่