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

Registered : 109,037

HOME > PHP > PHP Forum > การนำข้อมูลที่เป็น อาร์เรย์ ยัดใส่ดาต้าเบส ทำยังไงครับ



 

การนำข้อมูลที่เป็น อาร์เรย์ ยัดใส่ดาต้าเบส ทำยังไงครับ

 



Topic : 055586



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

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

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



ผมได้ทำการเก็บข้อมูลมาเป็นอาร์เรย์ โดยใช้ session(array) ในการเก็บค่าindex ซึ่งมันวนค่าที่ได้ออกมาถูกต้อง แต่ติดตรงที่ตอนผมจะทำการ วนข้อมูลเพื่อ insert ใส่ ฐานข้อมูลมันดันขึ้นอันสุดท้ายมาให้ลองดูโค๊ดนะครับ
Code (PHP)
<?php session_start();
		if (!isset($_SESSION['PROFILE'])){ $_SESSION['PROFILE'] = array(); }
		if (isset($_POST['Name']) && isset($_POST['LastName']) && isset($_POST['Company']) && isset($_POST['Email']) && isset($_POST['Address']) && isset($_POST['Aumpur']) && isset($_POST['Province']) && isset($_POST['Zipcode']) && isset($_POST['Country']) && isset($_POST['Tel']) && isset($_POST['Fax'])){
	$PROFILE = array(
		'Name' => $_POST['Name'],
		'Lastname' => $_POST['Lastname'],
		'Company' => $_POST['Company'], 
		'Email' => $_POST['Email']	,	
		'Address' => $_POST['Address'],
		'Aumpur' => $_POST['Aumpur'],
		'Province' => $_POST['Province'],
		'Zipcode' => $_POST['Zipcode'],
		'Country' => $_POST['Country'],
		'Tel' => $_POST['Tel'],
		'Fax' => $_POST['Fax']
		);
	$_SESSION['PROFILE'][] =  $PROFILE;
	header('Location: ' . $_SERVER['PHP_SELF']);
}
?>


ส่วนนี่จะเป็นข้อมูลที่วนลูปมากจาก อาร์เรย์
Code (PHP)
		$i=0;
        foreach ($_SESSION['CART'] as $itemNumber => $item) {
			$i++;
		if($i%2==0){
			$bg ="#eeeeee";
		}else{
			$bg ="#f8f8f8";
		}
        ?>
            <table width="100%" border="0" cellspacing="1" cellpadding="1" height="30" bgcolor="#FFFFFF" bordercolor="#CCCCCC">
              <tr id="item<?=$itemNumber;?>" bgcolor="<?=$bg?>">
                <th width="70%" align="left" class="style1" scope="col"><?=$item['id']?>&nbsp;<?=$item['name']?></th>
                <td width="10%" align="center" class="style1" scope="col"><?=number_format($item['priceper'],2,'.',',')?></td>
                <td width="10%" align="center" class="style1" scope="col"><?=$item['unit']?></td>
                <td width="10%" align="center" class="style1" scope="col"><?=number_format($item['unit'] * $item['priceper'],2,'.',',')?></td>
              </tr>
            </table>
            <? } ?>
            <table width="100%" border="0" align="center" cellpadding="1" cellspacing="1">
              <tr>
                <td width="90%" height="20" align="right" bgcolor="#CCCCCC" scope="col" class="style1">รวม</td>
                <td width="10%" align="center" bgcolor="#CCCCCC" scope="col" class="style1"><?=number_format($_SESSION['total'],2,'.',','); ?></td>
                </tr>
              <tr>
                <td align="right" height="20" bgcolor="#CCCCCC" scope="col" class="style1">ภาษีมูลค่าเพิ่ม 7%</td>
                <td align="center" bgcolor="#CCCCCC" scope="col" class="style1"><?=number_format(0.07*$_SESSION['total'],2,'.',','); ?></td>
                </tr>
              <tr>
                <th align="right" height="20" bgcolor="#CCCCCC" scope="col" class="style1">ราคารวมทั้งหมด</th>
                <th bgcolor="#CCCCCC" scope="col" class="style1"><?=number_format((0.07*$_SESSION['total'])+$_SESSION['total'],2,'.',','); ?></th>
                </tr>
      </table>


แล้วผมลองทดสอบด้วยการวนลูปข้อมูลออกมาแสดงดูก่อน เพื่อที่หากว่าแสดงครบผมจะได้ทำการ ยัดใส่ฐานข้อมูลได้ทันที แต่มันดันเอาข้อมูลอันล่างสุดมาแสดงครับ
Code (PHP)
<?php
	session_start();
	$id = $item['id'];
	$name = $item['name'];
	$price= number_format($item['priceper'],2,'.',',');
	$unit = $item['unit'];
	$total= $price - $unit;
	for($i=0;$i<count($name);$i++){//ทดสอบการดึงค่า id มาดูก่อนว่ามาไหม ปรากฏว่ามันมาแต่อันสุดท้าย
		echo $id[$i];
	}
?>


จะได้เห็นดังรูปครับ
ytytyter



Tag : PHP, MySQL, Ajax, jQuery, CakePHP









ประวัติการแก้ไข
2011-02-05 11:52:38
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-02-05 11:50:35 By : Dragons_first View : 1480 Reply : 11
 

 

No. 2



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

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

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

จุดประสงค์คือทำยังไงให้ข้อมูลที่มีในอาร์เรย์ แสดงครบเพื่อที่จะทำการ insert ข้อมูลได้ครบถ้วนทุกข้อมูลครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-05 11:54:51 By : Dragons_first
 


 

No. 3



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

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

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


print_r($_SESSION['CART']); ดูซิครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-05 11:59:22 By : PlaKriM
 

 

No. 4



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

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

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

ได้ตามรูปนี้นะครับ

ffff
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-05 12:23:50 By : Dragons_first
 


 

No. 5



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

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

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

ถ้าผมเข้าใจไม่ผิด พี่อั๋นจะให้ผมวนค่าใน session['cart'] ลงฐานข้อมูลหรอครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-05 12:24:48 By : Dragons_first
 


 

No. 6



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

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

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


มันเป็น array 2 มิตินะครับ ไม่อยากแก้ตัวที่สร้าง session อะนะ

Code (PHP)
foreach($_SESSION['CART'][0] as $carts){
echo '<br />' . $carts[id];
}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-05 12:29:57 By : PlaKriM
 


 

No. 7



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

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

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

ขอบคุณพี่อั๋นนะครับ คือ มันก็ยังเป็นปัญหาเดิมๆ แต่เปลี่ยนวิธีแก้ไขใหม่ มันก็ยังเหมือนเดิมครับคือข้อมูลมันแสดงไม่ครบอ่ะครับ ไม่รู้ว่าโค๊ดที่ผมเขียนเนี่ยมันเพี้ยนตรงไหนถึงส่งค่ามาให้ไม่หมด เช่น
อันนี้ที่พี่อั๋นแก้ให้นะครับ
Code (PHP)
foreach($_SESSION['CART'][0] as $carts){
echo '<br />' . $carts[id];
}


ข้อมูลที่ได้จากการรันโค๊ดอันนี้แล้วมันจะเป็นแบบนี้ครับ
N
t
1
1
f

มันแสดงแค่นี้จริงๆครับ

แต่ถ้าหากว่าตัดเอาค่าในอาร์เรย์ออก มันก็จะแสดงครบครับ(ปัญหาเดิม+2)
Code (PHP)
foreach($_SESSION['CART'][0] as $carts){
echo '<br />' . $carts;//ตัดเอา ['id'] ออกไปครับ
}


มันก็จะแสดงครบถ้วน แต่มาแค่ชุดเดียวครับ ซึ่งจริงการวนลูปค่ามันจะต้องออกมาครบตามจำนวนที่มีอยู่ในข้อมูล ถูกไหมครับ

NF000001
test
100
1
fer3.jpg

แต่ข้อมูลมันก็ยังออกแค่ชุดเดียวเท่านั้น มันไม่ได้ออกมา 3 ชุดเหมือนดังในรายการสั่งซื้อ ซึ่งปัญหาตรงนี้แหละครับที่ผมสงสัยจึงเอามาถาม

รบกวนพี่อั๋นชี้แนะให้อีกหน่อยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-05 12:52:06 By : Dragons_first
 


 

No. 8



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

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

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


ดูผิด จริงๆ ถ้าเป็น array แบบนี้
foreach ($_SESSION['CART'] as $itemNumber => $item) {
echo '<br />' . $item['id'];
}

แบบนี้ก็น่าจะได้นี่นา
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-05 13:04:01 By : PlaKriM
 


 

No. 9



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

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

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


ไม่งั้นก็เอาหน้าที่ each ข้อมูลใน array มาแสดง ทั้งหมดมาดูหน่อย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-05 13:05:19 By : PlaKriM
 


 

No. 10



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

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

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


Code (PHP)
$carts = array(
 0 => array('id'=>'111','name'=>'aaaaaaaaaa','pic'=>'aaa.jpg',), 
 1 => array('id'=>'222','name'=>'bbbbbbbbbb','pic'=>'bbb.jpg',), 
 2 => array('id'=>'333','name'=>'ccccccccccc','pic'=>'ccc.jpg',), 
);
foreach($carts as $cart){
	echo '<br />id=' . $cart['id'] . ', name=' . $cart['name'] . ', pic=' . $cart['pic'];
}


ลักษณะเดียวกันกะ session น้องอ้นคุง เลย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-05 13:12:37 By : PlaKriM
 


 

No. 11



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

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

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

เอ่อขอบคุณพี่อั๋นมากๆนะครับ พอผมเห็นพี่เขียนโค๊ดแบบนี้
Code (PHP)
foreach ($_SESSION['CART'] as $itemNumber => $item) {
echo '<br />' . $item['id'];
}


ทำให้ผมนึกขึ้นได้ว่า ผมก็เขียนแบบนี้เหมือนกันตอนให้มันแสดงมาเป็น list แล้วทำไมผมถึงได้ปัญญาอ่อนคิดไม่ได้เนอะว่าก็เอาตัวที่วนนั่นน่ะแหละมาเขียนอีกรอบ แต่เปลีย่นจากให้มันแสดงเป็น list ก็จับยัดเข้าฐานข้อมูลแทน
เปลืองพื้นที่พี่วินนะนี่

ยังไงก็ขอบคุณพี่อั๋นอีกรอบครับทำให้ผมคิดได้ แต่มันเกิดขึ้นได้กับทุกคนครับที่เขียนเองมึนเอง 55555++
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-05 13:52:06 By : Dragons_first
 


 

No. 12



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

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

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



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-05 22:21:17 By : PlaKriM
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : การนำข้อมูลที่เป็น อาร์เรย์ ยัดใส่ดาต้าเบส ทำยังไงครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

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