รบกวนหน่อยครับ loop while เพื่อเรียกค่าจาก 2 table

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

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

soul
PHP Jr. Member
PHP Jr. Member
Posts: 17
Joined: 08/03/2010 9:47 am

Re: รบกวนหน่อยครับ loop while เพื่อเรียกค่าจาก 2 table

Post by soul » 09/03/2010 8:50 am

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

bm8408
PHP Full Member
PHP Full Member
Posts: 48
Joined: 28/01/2010 10:03 pm

Re: รบกวนหน่อยครับ loop while เพื่อเรียกค่าจาก 2 table

Post by bm8408 » 09/03/2010 9:08 am

soul wrote:คือตรงนี้ จะเป็นการนำค่าขึ้นมาแสดงทั้งหมดเลยใช่ป่าวครับ ส่งสัยครับแนะนำหน่อยครับ

คับผม
อยากได้ while 1 while 2 ก็ได้ เพราะ เชื่อมกันด้วย ID แล้ว
โฮสติ้ง300/ปี โดเมนเนม249/ปี บริการวิทยุออนไลน์,รับทำเว็บไซต์,ดูแลเว็บไซต์ หน่วยงานราชการ
http://www.hosting-th.net

soul
PHP Jr. Member
PHP Jr. Member
Posts: 17
Joined: 08/03/2010 9:47 am

Re: รบกวนหน่อยครับ loop while เพื่อเรียกค่าจาก 2 table

Post by soul » 09/03/2010 9:56 am

แล้วถ้าเป็นกรณีที่ผมส่งค่ามาจาก From ละครับ ผมควรทำยัง งัยเพราะว่า ผมใช้การค้นหาโดยการอ้างอิงจาก form แล้วส่งข้อมูลไปเปรียบเทียบ ถ้ามีก็ให้แสดง รายการทั้งหมด แต่ทีนี้ปัญหาติดตรงที่ว่า
ผมจะต้องดึงข้อมูลขึ้นมาถึงสอง table แล้วมาเปรียบเทียบกัน ผมเลยส่งสัยว่า ถ้าเราเรียก ข้อมูลทั้งสองtable ขึ้นมาได้แล้ว แล้วถ้าจะนำมาเปรียบเทียบกันแบบ code อันนี้นะครับ แบบนี้อะครับ code ถ้าผมเขียนให้ปีกกามันซ้อนทับกัน มันก็ไม่ยอม แสดงlist รายการทั้งหมด ก็เลยจำเป็นต้องเขียนแบบนี้ แนะนำหน่อยครับ ว่าถ้าจะเอามาเปรียบเทียบกันผมจะต้องเขียน code ยังงัยครับ

Code: Select all

<?
    while($objResult2 = mysql_fetch_array($objQuery2))
           {
              /////////// วนloop เพื่อแสดงค่าข้อมูลใน Table Ot ของ databaser mydatabase
			$CustomerID2=$objResult2['CustomerID'];
            $OTd27=$objResult2['Otd27'];
			$OTd28=$objResult2['Otd28'];
			$OTd29=$objResult2['Otd29'];
            $OTd30=$objResult2['Otd30'];
			$OTd31=$objResult2['Otd31'];
			$OTd01=$objResult2['Otd01'];
			$OTd02=$objResult2['Otd02'];
			$OTd03=$objResult2['Otd03'];
			$OTd04=$objResult2['Otd04'];
			$OTd05=$objResult2['Otd05'];
			$OTd06=$objResult2['Otd06'];
			$OTd07=$objResult2['Otd07'];
			$OTd08=$objResult2['Otd08'];
			$OTd09=$objResult2['Otd09'];
			$OTd10=$objResult2['Otd10'];
			$OTd11=$objResult2['Otd11'];
			$OTd12=$objResult2['Otd12'];
			$OTd13=$objResult2['Otd13'];
			$OTd14=$objResult2['Otd14'];
			$OTd15=$objResult2['Otd15'];
			$OTd16=$objResult2['Otd16'];
			$OTd17=$objResult2['Otd17'];
			$OTd18=$objResult2['Otd18'];
			$OTd19=$objResult2['Otd19'];
			$OTd20=$objResult2['Otd20'];
			$OTd21=$objResult2['Otd21'];
			$OTd22=$objResult2['Otd22'];
			$OTd23=$objResult2['Otd23'];
			$OTd24=$objResult2['Otd24'];
			$OTd25=$objResult2['Otd25'];
			$OTd26=$objResult2['Otd26'];
			
			
			echo"$OTd27";
			echo"$OTd28";
	        echo"$OTd29";
}
$sql3=mysql_query("select * from month where CustomerID='".$objResult2['CustomerID']."'");
while($fetch2=mysql_fetch_array($sql3)){
echo $fetch2['CustomerID'];

}
///////วน loop เรียกค่า จากtable  Month(ตารางปฏิบัติงาน)



		while(($objResult=mysql_fetch_assoc($objQuery))||($objResult2=mysql_fetch_array($objQuery2)))
		{
		
			
		//	}////////////////////
			$CustomerID=$objResult['CustomerID'];
			$d27=$objResult['d27'];
			$d28=$objResult['d28'];
			$d29=$objResult['d29'];
			$d30=$objResult['d30'];
			$d31=$objResult['d31'];
			$d01=$objResult['d01'];
			$d02=$objResult['d02'];
			$d03=$objResult['d03'];
			$d04=$objResult['d04'];
			$d05=$objResult['d05'];
			$d06=$objResult['d06'];
			$d07=$objResult['d07'];
			$d08=$objResult['d08'];
			$d09=$objResult['d09'];
			$d10=$objResult['d10'];
			$d11=$objResult['d11'];
			$d12=$objResult['d12'];
			$d13=$objResult['d13'];
			$d14=$objResult['d14'];
			$d15=$objResult['d15'];
			$d16=$objResult['d16'];
			$d17=$objResult['d17'];
			$d18=$objResult['d18'];
			$d19=$objResult['d19'];
			$d20=$objResult['d20'];
			$d21=$objResult['d21'];
			$d22=$objResult['d22'];
			$d23=$objResult['d23'];
			$d24=$objResult['d24'];
			$d25=$objResult['d25'];
			$d26=$objResult['d26'];
			$OTd27=$objResult2['Otd27'];
			
			$sum=($d27+$d28+$d29+$d30+$d31+$d01+$d02+$d03+$d04+$d05+$d06+$d07+$d08+$d09+$d10+$d11+$d12+$d13+$d14+$d15+$d16+$d17+$d18+$d19+$d20+$d21+$d22+$d23+$d24+$d25+$d26);      
			 
			
			
			
	  ?>

bm8408
PHP Full Member
PHP Full Member
Posts: 48
Joined: 28/01/2010 10:03 pm

Re: รบกวนหน่อยครับ loop while เพื่อเรียกค่าจาก 2 table

Post by bm8408 » 09/03/2010 10:14 am

soul wrote:แล้วถ้าเป็นกรณีที่ผมส่งค่ามาจาก From ละครับ ผมควรทำยัง งัยเพราะว่า ผมใช้การค้นหาโดยการอ้างอิงจาก form แล้วส่งข้อมูลไปเปรียบเทียบ ถ้ามีก็ให้แสดง รายการทั้งหมด แต่ทีนี้ปัญหาติดตรงที่ว่า
ผมจะต้องดึงข้อมูลขึ้นมาถึงสอง table แล้วมาเปรียบเทียบกัน ผมเลยส่งสัยว่า ถ้าเราเรียก ข้อมูลทั้งสองtable ขึ้นมาได้แล้ว แล้วถ้าจะนำมาเปรียบเทียบกันแบบ code อันนี้นะครับ แบบนี้อะครับ code ถ้าผมเขียนให้ปีกกามันซ้อนทับกัน มันก็ไม่ยอม แสดงlist รายการทั้งหมด ก็เลยจำเป็นต้องเขียนแบบนี้ แนะนำหน่อยครับ ว่าถ้าจะเอามาเปรียบเทียบกันผมจะต้องเขียน code ยังงัยครับ

Code: Select all

<?
    while($objResult2 = mysql_fetch_array($objQuery2))
           {
              /////////// วนloop เพื่อแสดงค่าข้อมูลใน Table Ot ของ databaser mydatabase
			$CustomerID2=$objResult2['CustomerID'];
            $OTd27=$objResult2['Otd27'];
			$OTd28=$objResult2['Otd28'];
			$OTd29=$objResult2['Otd29'];
            $OTd30=$objResult2['Otd30'];
			$OTd31=$objResult2['Otd31'];
			$OTd01=$objResult2['Otd01'];
			$OTd02=$objResult2['Otd02'];
			$OTd03=$objResult2['Otd03'];
			$OTd04=$objResult2['Otd04'];
			$OTd05=$objResult2['Otd05'];
			$OTd06=$objResult2['Otd06'];
			$OTd07=$objResult2['Otd07'];
			$OTd08=$objResult2['Otd08'];
			$OTd09=$objResult2['Otd09'];
			$OTd10=$objResult2['Otd10'];
			$OTd11=$objResult2['Otd11'];
			$OTd12=$objResult2['Otd12'];
			$OTd13=$objResult2['Otd13'];
			$OTd14=$objResult2['Otd14'];
			$OTd15=$objResult2['Otd15'];
			$OTd16=$objResult2['Otd16'];
			$OTd17=$objResult2['Otd17'];
			$OTd18=$objResult2['Otd18'];
			$OTd19=$objResult2['Otd19'];
			$OTd20=$objResult2['Otd20'];
			$OTd21=$objResult2['Otd21'];
			$OTd22=$objResult2['Otd22'];
			$OTd23=$objResult2['Otd23'];
			$OTd24=$objResult2['Otd24'];
			$OTd25=$objResult2['Otd25'];
			$OTd26=$objResult2['Otd26'];
			
			
			echo"$OTd27";
			echo"$OTd28";
	        echo"$OTd29";
}
$sql3=mysql_query("select * from month where CustomerID='".$objResult2['CustomerID']."'");
while($fetch2=mysql_fetch_array($sql3)){
echo $fetch2['CustomerID'];

}
///////วน loop เรียกค่า จากtable  Month(ตารางปฏิบัติงาน)



		while(($objResult=mysql_fetch_assoc($objQuery))||($objResult2=mysql_fetch_array($objQuery2)))
		{
		
			
		//	}////////////////////
			$CustomerID=$objResult['CustomerID'];
			$d27=$objResult['d27'];
			$d28=$objResult['d28'];
			$d29=$objResult['d29'];
			$d30=$objResult['d30'];
			$d31=$objResult['d31'];
			$d01=$objResult['d01'];
			$d02=$objResult['d02'];
			$d03=$objResult['d03'];
			$d04=$objResult['d04'];
			$d05=$objResult['d05'];
			$d06=$objResult['d06'];
			$d07=$objResult['d07'];
			$d08=$objResult['d08'];
			$d09=$objResult['d09'];
			$d10=$objResult['d10'];
			$d11=$objResult['d11'];
			$d12=$objResult['d12'];
			$d13=$objResult['d13'];
			$d14=$objResult['d14'];
			$d15=$objResult['d15'];
			$d16=$objResult['d16'];
			$d17=$objResult['d17'];
			$d18=$objResult['d18'];
			$d19=$objResult['d19'];
			$d20=$objResult['d20'];
			$d21=$objResult['d21'];
			$d22=$objResult['d22'];
			$d23=$objResult['d23'];
			$d24=$objResult['d24'];
			$d25=$objResult['d25'];
			$d26=$objResult['d26'];
			$OTd27=$objResult2['Otd27'];
			
			$sum=($d27+$d28+$d29+$d30+$d31+$d01+$d02+$d03+$d04+$d05+$d06+$d07+$d08+$d09+$d10+$d11+$d12+$d13+$d14+$d15+$d16+$d17+$d18+$d19+$d20+$d21+$d22+$d23+$d24+$d25+$d26);      
			 
			
			
			
	  ?>
8O while เยอะจัง

แล้วถ้าเป็นกรณีที่ผมส่งค่ามาจาก From ละครับ ผมควรทำยัง
ตอบ : ในกรณีที่เราส่ง from มาอีกหน้าหนึ่ง ต้องรับค่ามาก่อนนะครับ ค่าจาก from นั้น ๆ ถึงจะมาให้เราได้ เช่น

$search=$_REQUEST; # ค่านี้จะมาจากfrom 1
$sql=Mysql_query("select * from tb where search='$search'");# from ที่ 2
while($arr=mysql_fetch_array($sql)){

print $****;
}


มันก็ไม่ยอม แสดงlist รายการทั้งหมด ก็เลยจำเป็นต้องเขียนแบบนี้

ตอบ : ถ้าค่าไม่ได้อยู่ใน while ค่าที่ list มันจะไม่แสดงอ่ะครับ ค่าต้องอยู่ใน while เลย ค่าต่าง ๆ ก็จะออกมาเอง

เป็นคำแนะนำนะครับ
โฮสติ้ง300/ปี โดเมนเนม249/ปี บริการวิทยุออนไลน์,รับทำเว็บไซต์,ดูแลเว็บไซต์ หน่วยงานราชการ
http://www.hosting-th.net

soul
PHP Jr. Member
PHP Jr. Member
Posts: 17
Joined: 08/03/2010 9:47 am

Re: รบกวนหน่อยครับ loop while เพื่อเรียกค่าจาก 2 table

Post by soul » 09/03/2010 10:24 am

ผมเขียนเพื่อส่งค่ามาให้ไ้ด้แล้วแต่ว่าเวลาที่ผมเขียน ใ้ห้whil ซ้อนกันแบบนี้ สามารถเรียกค่าแสดงได้แต่ค่านั้นมันไม่ยอมวน loop ให้ มันแสดงข้อมูลของแค่ Id เีดียวอะครับ พอมีวิธีอื่นป่าว ครับ อย่างเช่น การเรียก whil จาก 2 table โดยเปรียบเทียบ
สามารถเรียกสองตารางอะครับ หรือว่าต้องแก้ที่คำสั่ง select เท่านั้นครับ

bm8408
PHP Full Member
PHP Full Member
Posts: 48
Joined: 28/01/2010 10:03 pm

Re: รบกวนหน่อยครับ loop while เพื่อเรียกค่าจาก 2 table

Post by bm8408 » 09/03/2010 10:45 am

soul wrote:ผมเขียนเพื่อส่งค่ามาให้ไ้ด้แล้วแต่ว่าเวลาที่ผมเขียน ใ้ห้whil ซ้อนกันแบบนี้ สามารถเรียกค่าแสดงได้แต่ค่านั้นมันไม่ยอมวน loop ให้ มันแสดงข้อมูลของแค่ Id เีดียวอะครับ พอมีวิธีอื่นป่าว ครับ อย่างเช่น การเรียก whil จาก 2 table โดยเปรียบเทียบ
สามารถเรียกสองตารางอะครับ หรือว่าต้องแก้ที่คำสั่ง select เท่านั้นครับ
มีครับ
1 เขียน while แรก ซ้อนกันกับ while 2 เช่น
$sql1=Mysql_Query("select * tb_1");
while($while1=mysql_fetch_array($sql1)){


$sql2=Mysql_Query("select * tb_2 where data='$while1[id]'");
while($while2=mysql_fetch_array($sql2)){


print $data2

}//end while2



print $data1
}//end while 1

2 query ธรรมดามา เพื่อเราค่านั้นไปใส่ไว้ใน while
$sql1=Mysql_Query("select * tb_1");
$arr=mysql_fetch_array($sql1);

$sql2=Mysql_Query("select * tb_2 where data='$arr[id]'");
while($while2=mysql_fetch_array($sql2)){


print $data2
print $data1 #สามารถมาว่างตรงนี้ได้ เพราะ query เห็นหมด
}//end while2

print $data1





ลองปรับแต่งเอานะครับ หรือไม่ต้อง select ใหม่เลย ครับ ผมว่า while เดียวก็น่าจะพอนะครับ
ถ้างง ก็ใช้ navicat นะครับ ทำการ query ง่ายดี
โฮสติ้ง300/ปี โดเมนเนม249/ปี บริการวิทยุออนไลน์,รับทำเว็บไซต์,ดูแลเว็บไซต์ หน่วยงานราชการ
http://www.hosting-th.net

soul
PHP Jr. Member
PHP Jr. Member
Posts: 17
Joined: 08/03/2010 9:47 am

Re: รบกวนหน่อยครับ loop while เพื่อเรียกค่าจาก 2 table

Post by soul » 09/03/2010 11:57 am

ขอบคุณครับที่ให้ความช่วยเหลือนะครับ :-D

soul
PHP Jr. Member
PHP Jr. Member
Posts: 17
Joined: 08/03/2010 9:47 am

Re: รบกวนหน่อยครับ loop while เพื่อเรียกค่าจาก 2 table

Post by soul » 10/03/2010 9:49 am

ยังไม่ได้เลยครับ ทำตามที่บอกแล้วอะครับ หรือว่าต้องเขียน select ใหม่จริงๆๆครับเนี้ย แง้ๆๆๆๆๆ

Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “Programming - PHP”

Who is online

Users browsing this forum: No registered users and 13 guests