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 > สอบถามวิธีการแสดงข้อมูลใน array โดยแสดงเป็นชื่อในอีกตาราง



 

สอบถามวิธีการแสดงข้อมูลใน array โดยแสดงเป็นชื่อในอีกตาราง

 



Topic : 106532



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



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




ผมดัดแปลงจากตัวอย่างนี้นะครับ https://www.thaicreate.com/tutorial/ajax-add-insert-record.html

ผมมีข้อมูล 3 ตาราง

tb_service = ข้อมูลการ service
tb_service_type = ประเภทการ service
tb_car = ข้อมูลทะเบียนรถ

ใน tb_service ผมมีฟีลด์ service_type เก็บ id ในตารางของ tb_service_type รูปแบบจะเป็น 1,2,3

ถ้าผมจะเปลี่ยน 1,2,3 เป็นอย่างนี้ ต้องทำแบบไหนครับ
- PC
- Printer
- Notebook

หน้าจอ
tb_service
tb_service_type


AjaxPHPInsertRecord1
<?php
	/*** By Weerachai Nukitram***/
	/***  http://www.ThaiCreate.Com ***/	
?>
<html>
<head>
<title>ThaiCreate.Com Ajax Tutorial</title>
<meta charset="utf-8">
</head>
<script language="JavaScript">
	   var HttPRequest = false;

	   function doCallAjax(Mode) {
		  HttPRequest = false;
		  if (window.XMLHttpRequest) { // Mozilla, Safari,...
			 HttPRequest = new XMLHttpRequest();
			 if (HttPRequest.overrideMimeType) {
				HttPRequest.overrideMimeType('text/html');
			 }
		  } else if (window.ActiveXObject) { // IE
			 try {
				HttPRequest = new ActiveXObject("Msxml2.XMLHTTP");
			 } catch (e) {
				try {
				   HttPRequest = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			 }
		  } 
		  
		  if (!HttPRequest) {
			 alert('Cannot create XMLHTTP instance');
			 return false;
		  }
	
		  var url = 'AjaxPHPInsertRecord2.php';
		  var pmeters = "&tName=" + encodeURI( document.getElementById("txtName").value ) +
						"&tEmail=" + encodeURI( document.getElementById("txtEmail").value ) +
						"&tCountryCode=" + encodeURI( document.getElementById("txtCountryCode").value ) +
						"&tBudget=" + encodeURI( document.getElementById("txtBudget").value ) +
						"&tMode=" + Mode;

			HttPRequest.open('POST',url,true);

			HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			HttPRequest.setRequestHeader("Content-length", pmeters.length);
			HttPRequest.setRequestHeader("Connection", "close");
			HttPRequest.send(pmeters);
			
			
			HttPRequest.onreadystatechange = function()
			{

				 if(HttPRequest.readyState == 3)  // Loading Request
				  {
				   document.getElementById("mySpan").innerHTML = "Now is Loading...";
				  }

				 if(HttPRequest.readyState == 4) // Return Request
				  {
				   document.getElementById("mySpan").innerHTML = HttPRequest.responseText;
				   document.getElementById("txtCustomerID").value = '';
				   document.getElementById("txtName").value = '';
				   document.getElementById("txtEmail").value = '';
				   document.getElementById("txtCountryCode").value = '';
				   document.getElementById("txtBudget").value = '';
				  }
				
			}

	   }
	</script>
<body Onload="JavaScript:doCallAjax('LIST');">
<h1>My Customer</h1>
<form name="frmMain">
<table width="600" border="1">
  <tr>
    <th width="91"> <div align="center">Service ID</div></th>
    <th width="98"> <div align="center">Service Date</div></th>
    <th width="198"> <div align="center">Service Time</div></th>
    <th width="97"> <div align="center">Car ID</div></th>
    <th width="59"> <div align="center">Service Type</div></th>
  </tr>
  <tr>
	<td><div align="center"><input type="text" name="txtCustomerID" id="txtCustomerID" size="5" disabled></div></td>
	<td><input type="text" name="txtName" id="txtName" size="20"></td>
	<td><input type="text" name="txtEmail" id="txtEmail" size="10"></td>
	<td><div align="center"><input type="text" name="txtCountryCode" id="txtCountryCode" size="2"></div></td>
	<td align="right"><input type="text" name="txtBudget" id="txtBudget" size="20"></td>
  </tr>
</table>
<input type="button" name="btnAdd" id="btnAdd" value="Add" OnClick="JavaScript:doCallAjax('ADD');">
<br><br>
<span id="mySpan"></span>
</form>
</body>
</html>


AjaxPHPInsertRecord2
<?php
/*** By Weerachai Nukitram ***/
/***  http://www.ThaiCreate.Com ***/

$strMode = $_POST["tMode"];

$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("test");

if($strMode == "ADD")
{
	$strSQL = "INSERT INTO tb_service ";
	$strSQL .="(service_date,service_time,car_id,service_type) ";
	$strSQL .="VALUES ";
	$strSQL .="('".$_POST["tName"]."','".$_POST["tEmail"]."' ";
	$strSQL .=",'".$_POST["tCountryCode"]."','".$_POST["tBudget"]."') ";
	$objQuery = mysql_query($strSQL);
}


$strSQL = "SELECT tb_service.*,tb_car.car_no FROM tb_service LEFT JOIN tb_car ON tb_service.car_id=tb_car.car_id WHERE tb_service.car_id !='' ORDER BY tb_service.car_id ASC ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");

?>
<table width="70%" border="1">
  <tr>
    <th width="10"> <div align="center">Service ID</div></th>
    <th width="98"> <div align="center">วันที่ Service</div></th>
    <th width="98"> <div align="center">เวลาที่ Service</div></th>
    <th width="97"> <div align="center">ทะเบียนรถ</div></th>
    <th width="159"> <div align="center">ประเภท Service</div></th>
  </tr>
<?
while($objResult = mysql_fetch_array($objQuery))
{
?>
  <tr>
    <td><div align="center"><?=$objResult["id"];?></div></td>
    <td><?=$objResult["service_date"];?></td>
    <td><?=$objResult["service_time"];?></td>
    <td><div align="center"><?=$objResult["car_no"];?></div></td>
    <td align="right"><?=$objResult["service_type"];?></td>
  </tr>
<?
}
?>
</table>
<?
mysql_close($objConnect);
?>




Tag : PHP, MySQL, Ajax







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-03-04 16:10:14 By : giverplus View : 800 Reply : 5
 

 

No. 1



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



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


เราว่า เวลาเก็บข้อมูล น่าจะเก็บ แบบนี้ น่าจะดึงข้อมูล ออกมาเช็คตรวจสอบได้ง่ายกว่านะ

1 - 2014-02-06 12:00:00 1 1
2 - 2014-02-06 12:00:00 1 3
3 - 2014-02-06 12:00:00 1 6

หรือ ไม่งั้น ก็ ใช้ PK กับ FK แทน






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-04 16:28:22 By : FreshyMusiC
 


 

No. 2



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



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


คือตัวฐานข้อมูลจริงผมมีสิทธิ์แค่ select ออกมาเฉยๆ ครับ อันนี้เป็นฐานข้อมูลทดสอบ พอดีผมติดปัญหาตรงจุดนี้ครับ ยังไม่มีประสบการณ์ ยังไงรบกวนชี้ทางหน่อยนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-04 17:48:26 By : giverplus
 

 

No. 3



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

Hall of Fame 2012

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


Code (PHP)
<?
while($objResult = mysql_fetch_array($objQuery))
{
?>
  <tr>
    <td><div align="center"><?=$objResult["id"];?></div></td>
    <td><?=$objResult["service_date"];?></td>
    <td><?=$objResult["service_time"];?></td>
    <td><div align="center"><?=$objResult["car_no"];?></div></td>
    <td align="right">
	<?
	
	$explode=explode(","$objResult["service_type"]); // แยกตัดค่าให้เป็น array
	for($i=0;$i<count($explode);$i++){ // for จำนวน array ที่มีอยู่
		$select=mysql_query("select * from tb_service_type WHERE service_id='".$explode[$i]."'") or die (mysql_error()); //select array ที่อยู่มี
		$result=mysql_fetch_array($select);
		echo $result['service_name'].",";
	}
	?>
	
	</td>
  </tr>
<?
}
?>


แนะนำ : การต้องค่าชื่อ Fields ควรให้สอดคล้องกันครับ เช่น tb_service > service_type เป็น service_type_id เพื่อเป็นผลดีต่อการทำ Relation


ประวัติการแก้ไข
2014-03-04 17:59:12
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-04 17:57:56 By : Ex-[S]i[L]e[N]t
 


 

No. 4



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



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


ได้แล้วครับ ขอบคุณสำหรับน้ำใจงามๆ ทั้ง 2 ท่านด้วยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-04 19:55:59 By : giverplus
 


 

No. 5



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



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

เพิ่มเติมให้อีกนิดนะครับ

Code (PHP)
$all_id_in = str_replace(",", "', '", str_replace(' ', '', $objResult["service_type"]));
$sql = "select * from tb_service_type WHERE service_id IN('$all_id_in')";


https://www.thaicreate.com/community/php-function-implode-adapt.html
https://www.thaicreate.com/community/php-implode-apply.html


ประวัติการแก้ไข
2014-03-04 20:45:58
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-04 20:42:42 By : {Cyberman}
 

   

ค้นหาข้อมูล


   
 

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