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 > การเก็บค่าเข้า database พร้อมกัน แต่คนละตาราง โดยใช้ไอดีที่ได้มาจากค่าตารางแรก ทำยังไงคะ



 

การเก็บค่าเข้า database พร้อมกัน แต่คนละตาราง โดยใช้ไอดีที่ได้มาจากค่าตารางแรก ทำยังไงคะ

 



Topic : 122009



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



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




ดด
ค่าตารางแรก

Code (SQL)
CREATE TABLE `strength` (
  `strID` int(3) NOT NULL,
  `strLevel` enum('+','++') NOT NULL,
  `strItemRef` varchar(10) NOT NULL,
  `strDescription` varchar(300) NOT NULL,
  `itemID` int(3) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Code (PHP)
if($_POST)
{
	 $strLevel   = $_POST['level'];
	 $strItemRef = $_POST['itemref'];
	 $strDescription = $_POST['strDescription'];
	 
	 $sql = "INSERT INTO strength(strLevel, strItemRef, strDescription,itemID) 
	 VALUES ('".$strLevel."','".$strItemRef."','".$strDescription."','".$itemID."') ";
	 $objQuery = mysql_query($sql);
}  
.....
if($_POST){
..... ต่อตรงนี้

}


ซึ่ง ตารางที่สอง ต้องเอาค่า strID ที่เป็น pk จากตารางแรกมา แล้วเก็บเข้าอีกตารางนึง แล้วก็เอาค่า keyID จาก checkbox มาเก็บใส่ เราสามารถ เขียนโค้ดแยกเก็บได้ป่าวคะ โดยทำต่อจาก if($_POST) เลย

Code (SQL)
CREATE TABLE `strengthkf` (
  `strengthKFID` int(3) NOT NULL,
  `keyID` int(3) NOT NULL,
  `strID` int(3) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;




Tag : PHP, MySQL, HTML/CSS, JavaScript







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-03-19 01:31:37 By : um0000um View : 1797 Reply : 9
 

 

No. 1



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


Code
CREATE TABLE `strength` ( `strID` int(3) NOT NULL , ## AUTOINCREMENT `strLevel` enum('+','++') NOT NULL, `strItemRef` varchar(10) NOT NULL, `strDescription` varchar(300) NOT NULL, `itemID` int(3) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;


Code (PHP)
if($_POST)
{
	$strLevel   = $_POST['level'];
	$strItemRef = $_POST['itemref'];
	$strDescription = $_POST['strDescription'];
	 
	$sql = "INSERT INTO strength(strLevel, strItemRef, strDescription,itemID) 
	VALUES ('".$strLevel."','".$strItemRef."','".$strDescription."','".$itemID."') ";
	$objQuery = mysql_query($sql);
	/* *************************************** */
	$strID=mysql_insert_id();
	/* *************************************** */
        foreach($_POST['chkbox'] as $key=>$value){
		$sq1 = "insert into table2 set strID=$strID, .........");
		mysql_query($sq1);
	}
}









ประวัติการแก้ไข
2016-03-19 08:34:25
2016-03-19 08:35:06
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-19 08:33:40 By : Chaidhanan
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : Chaidhanan เมื่อวันที่ 2016-03-19 08:33:40
รายละเอียดของการตอบ ::

ค่าใน checkbox ให้เก็บได้หลา่ยค่าคะ แบบ strID=1 มี keyID 1,2,3
Code (PHP)
    <tr>
     	<td valign="top">Relavant Keyfactor</td>
        <td>
        <?php 
		 $sql = " SELECT relevantkf.keyID , keyfactor.keyName
          FROM relevantkf INNER JOIN keyfactor ON relevantkf.keyID = keyfactor.keyID
          INNER JOIN itemreview ON relevantkf.itemID = itemreview.itemID
          WHERE itemreview.itemID ='$itemID' ";
	  //  $sql = "SELECT unit.unitID ,unit.unitName FROM unit";
	    $objQuery = mysql_query($sql);
	    while($fetch = mysql_fetch_assoc($objQuery)){ ?>
        <li>
        <input type="checkbox" name="chkKey[]" 
        value="<?php echo $fetch["keyID"];?>"> <?php echo $fetch["keyName"];?>
        </li>
        <?php  } ?>
        </td>
    </tr>


ค่า keyID ไ่ม่เข้าเลยค่ะ
Code (PHP)
if($_POST)
{
	 $strLevel   = $_POST['level'];
	 $strItemRef = $_POST['itemref'];
	 $strDescription = $_POST['strDescription'];
	 
	 $sql = "INSERT INTO strength(strLevel, strItemRef, strDescription,itemID) 
	 VALUES ('".$strLevel."','".$strItemRef."','".$strDescription."','".$itemID."') ";
	 $objQuery = mysql_query($sql);
	 
	 $strID = mysql_insert_id();
	 
	 foreach($_POST['chkKey'] as $key=>$value)
	   {
		 
		 $sq1 = "INSERT INTO strengthkf(keyID, strID)
		 VALUES ('".$chkKey[$i]."','".$strID."')";
		         
		 mysql_query($sq1);
       } 
}  






ประวัติการแก้ไข
2016-03-19 22:48:02
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-19 22:46:07 By : um0000um
 

 

No. 3



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



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


ได้แล้วค่ะ แก้เป็น
Code (PHP)
		 
		 $sq1 = "INSERT INTO strengthkf(keyID, strID)
		 VALUES ('".$_POST['chkKey'][$key]."','".$strID."')";
		         
		 $qr= mysql_query($sq1);
       } 

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-19 22:57:07 By : um0000um
 


 

No. 4



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : Chaidhanan เมื่อวันที่ 2016-03-19 08:33:40
รายละเอียดของการตอบ ::
ถ้าเราต้องการโชวค่าที่กด submit ไปอันล่าสุด

Code (PHP)
<?php
    include("db_connect_edpex.php");
   
    $sql = "SELECT * FROM strengthkf
            INNER JOIN strength ON strengthkf.strID = strength.strID
            INNER JOIN relevantkf ON strengthkf.keyID = relevantkf.keyID
            WHERE strength.strID = '$strID' ";

    $objQuery = mysql_query($sql)or die(mysql_error());
	//echo $objQuery;

    while($result = mysql_fetch_array($objQuery)){ ?>
<form>
<table width="643" height="459" border="1" align="center" cellpadding="3" cellspacing="3">

  <tr>
         <td width="115">Level</td>
    	 <td width="501">
     		 <?php echo $result["strLevel"]; ?>
    	 </td>
  </tr>
  
  <tr>
   		<td>Item ref</td>
    	<td>
     	    <?php echo $result["strItemRef"]; ?>
   		</td>
  	</tr>
    
    
     
    <tr>
     	<td valign="top">Relavant Keyfactor</td>
        <td>
        <?php 
		
	    while($fetch = mysql_fetch_assoc($objQuery)){ ?>
        <li>
        <input type="checkbox" name="chkKey[]" 
        value="<?php echo $fetch["keyID"];?>"> <?php echo $fetch["keyName"];?>
        </li>
        <?php  } ?>
        </td>
    </tr>
    
    
      <tr>
    	<td>Description</td>
     	<td><?php echo $result["strDescription"]; ?></td>
    </tr>
    

        <?php
          }  
?>

</table>
</form>



ตรง แถว โชว์ $result["strLevel"]; กับ แถว โชว์ Relavant Keyfactor ต้องทำยังไงคะ ถึงจะเอาค่าที่เลือกมาโชวแบบ มีค่าที่เลือกค้างไว้ใน button radio แถว Level และก็ checkbox แถว Relavant Keyfactor


หะพ



ประวัติการแก้ไข
2016-03-20 00:21:48
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-20 00:20:31 By : um0000um
 


 

No. 5



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


ก่อนจะให้แสดง check box mark ให้คูณก๊อปปี โค๊ดแบบตอนใส่ข้อมูลมาแสดงครับ

และเพิ่มตัวแปร if เข้าไปใน แต่ละ tag เพื่อแสดงค่าเช็ค

<input type=checkbox value="x1' name=chk <?=($result['chk1']=='x1' ? 'checked' : '')?> >

ประยุกต์เอาเองนะครับ value name $result กำหนดค่าให้ถูก
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-20 09:17:37 By : Chaidhanan
 


 

No. 6



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



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


ตอบความคิดเห็นที่ : 5 เขียนโดย : Chaidhanan เมื่อวันที่ 2016-03-20 09:17:37
รายละเอียดของการตอบ ::
Code (PHP)
  <td>
         <?php 
		 $sql = " SELECT relevantkf.keyID , keyfactor.keyName
          FROM relevantkf INNER JOIN keyfactor ON relevantkf.keyID = keyfactor.keyID
          INNER JOIN itemreview ON relevantkf.itemID = itemreview.itemID
          WHERE itemreview.itemID ='$itemID' ";
	
	    $objQuery = mysql_query($sql);
	    while($fetch = mysql_fetch_assoc($objQuery)){ ?>
        <li>
        <input type="checkbox" name="chkKey[]" 
        value= "<?php $fetch["keyID"];?>" <?=($result["keyID"] == $fetch["keyID"] ? 'checked' : '')?>  /> 
		<?php echo $fetch["keyName"];?>
        </li>
        <?php  } ?>
         
      
        </td>

สมมุติ ติ้กไปสองอัน แต่มันโชว check แค่ค่าแรกอะคะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-20 22:40:43 By : um0000um
 


 

No. 7



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


$result["keyID"] มันคืออะไรครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-21 06:24:58 By : Chaidhanan
 


 

No. 8



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



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


ตอบความคิดเห็นที่ : 7 เขียนโดย : Chaidhanan เมื่อวันที่ 2016-03-21 06:24:58
รายละเอียดของการตอบ ::

ตอน save ลง db
Code (PHP)
<?php   //save strength into db
  

$itemID = $_POST['itemID']; //get from hidden value
if($_POST)
{
	 $strLevel   = $_POST['level'];
	 $strItemRef = $_POST['itemref'];
	 $strDescription = $_POST['strDescription'];
	 
	 $sql = "INSERT INTO strength(strLevel, strItemRef, strDescription,itemID) 
	 VALUES ('".$strLevel."','".$strItemRef."','".$strDescription."','".$itemID."') ";
	 $objQuery = mysql_query($sql);
	 
	 $strID = mysql_insert_id();
	 
	 foreach($_POST['chkKey'] as $key=>$value)
	   {
		 
		 $sq1 = "INSERT INTO strengthkf(keyID, strID)
		 VALUES ('".$_POST['chkKey'][$key]."','".$strID."')"; //get keyID into strKF table 
		         
		 $qr= mysql_query($sq1);
       } 
	   }  
?>


Code (PHP)
ดึงมาจาก db เพื่อโชวค่า
<?php  //fetch to show strength detail 
    include("db_connect_edpex.php");
   
    $sql = "SELECT * FROM strengthkf
            INNER JOIN strength ON strengthkf.strID = strength.strID
            INNER JOIN relevantkf ON strengthkf.keyID = relevantkf.keyID
            WHERE strength.strID = '$strID' ";

    $objQuery = mysql_query($sql)or die(mysql_error());
	//echo $objQuery;

    while($result = mysql_fetch_array($objQuery)){ ?>
<form >
<table width="643" height="459" border="1" align="center" cellpadding="3" cellspacing="3">

  <tr>
         <td width="115">Level</td>
    	 <td width="501">
         
      <input type="radio" name="level" id="+" value="+" <?=($result["strLevel"]=='+' ? 'checked' : '')?> />+ 
      <input type="radio" name="level" id="++" value="++" <?=($result["strLevel"]=='++' ? 'checked' : '')?> />++
     		
    	 </td>
  </tr>
  
  <tr>
   		<td>Item ref</td>
    	<td>
     	    <?php echo $result["strItemRef"]; ?>
   		</td>
  	</tr>
    
    
     
    <tr>
     	<td valign="top">Relavant Keyfactor</td>
        <td>
         <?php 
		 $sql1 = " SELECT relevantkf.keyID , keyfactor.keyName
          FROM relevantkf INNER JOIN keyfactor ON relevantkf.keyID = keyfactor.keyID
          INNER JOIN itemreview ON relevantkf.itemID = itemreview.itemID
          WHERE itemreview.itemID ='$itemID' ";
	
	    $objQuery = mysql_query($sql1);
	    while($fetch = mysql_fetch_assoc($objQuery)){ ?>
        <li>
        <input type="checkbox" name="chkKey[]" 
        value= "<?php $fetch["keyID"];?>" <?=($result["keyID"] == $fetch["keyID"] ? 'checked' : '')?>  /> 
		<?php echo $fetch["keyName"];?>
        </li>
        <?php  } ?>
         
      
        </td>
    </tr>
    
     
      <tr>
    	<td>Description</td>
     	<td><?php echo $result["strDescription"]; ?>
   	   </td>
    </tr>
    <?php
          }  
?>
  

</table>
 	<a href="edit_strength.php?strID=<?=$strID?>">Edit</a>

  <input type="submit" name="edit" id="edit" value="Add new Strength" />
</form>


ดึงค่ามาจากดาตาเบสคะ


ประวัติการแก้ไข
2016-03-21 23:09:45
2016-03-22 20:35:19
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-21 23:08:12 By : um0000um
 


 

No. 9



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



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


Code (PHP)
<form action="check_save.php" method="POST" >

 <tr>
     	<td valign="top">Relavant Keyfactor</td>
        <td>
        <?php
		 include("db_connect_edpex.php");
		 $sql = "SELECT * from keyfactor";
	
	   	 $objQuery = mysql_query($sql);
	     while($fetch = mysql_fetch_assoc($objQuery)){ ?>
        <li>
        <input type="checkbox" name="chkKey[]" 
        value="<?php echo $fetch["keyID"];?>"> <?php echo $fetch["keyName"];?>
        </li>
        <?php  } ?>
        <input type="submit" name="submit" id="submit" value="Submit"></td>
    </tr>

</form>

โชว์ค่ามาทำเป็น check box
แแ


Code (PHP)
<?php   //save strength into db
include("db_connect_edpex.php");
if($_POST)
{
	 foreach($_POST['chkKey'] as $key=>$value)
	   {
		 $strID =5;
		 $sq1 = "INSERT INTO strengthkf(keyID, strID)
		 VALUES ('".$_POST['chkKey'][$key]."','".$strID."')"; //get keyID into strKF table 
		         
		 $qr= mysql_query($sq1) or die(mysql_error());
       } 
	   }  
?>

 <?php 
		 $sql = "SELECT DISTINCT strengthkf.keyID FROM strengthkf where strengthkf.strID =5";
	     $objQuery = mysql_query($sql);
	  
	     while($result = mysql_fetch_array($objQuery)){ 
		 echo $result["keyID"]; 
         
         $sql1 = "SELECT * from keyfactor";
         $objQuery = mysql_query($sql1);
         while($fetch = mysql_fetch_assoc($objQuery)){ ?> 
         
         <li>  
        <input type="checkbox" name="chkKey[]" 
        value= "<?php $fetch["keyID"];?>" <?=($result["keyID"] == $fetch["keyID"] ? 'checked' : '')?>  /> 
 <?php echo $fetch["keyName"];?>
        </li>  
         <?php } ?>
<?php } ?>
 

มันมาแค่ค่าเดียวอ่าค่ะ แต่ถ้าลอง echo $result["keyID"]; จะมาครบ เช่น 1 2 3
หหห
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-23 22:42:14 By : um0000um
 

   

ค้นหาข้อมูล


   
 

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