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,028

HOME > PHP > PHP Forum > รบกวนหน่อยค่ะ คือต้องการ insert ข้อมูล โดยต้องเชื่อม 3 id อ่ะค่ะ ไม่รู้ว่าต้องทำอย่างไรบ้าง พอดีเพิ่งหัดค่ะ



 

รบกวนหน่อยค่ะ คือต้องการ insert ข้อมูล โดยต้องเชื่อม 3 id อ่ะค่ะ ไม่รู้ว่าต้องทำอย่างไรบ้าง พอดีเพิ่งหัดค่ะ

 



Topic : 115411



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



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




พอดีทำกระทู้อยู่อ่ะค่ะ โค้ดนี้เป็นโค้ดตอนตอบกระทู้ค่ะ
ต้องการให้ชื่อผู้ตอบเเสดงเป็นชื่อที่login เข้าไปอ่ะค่ะ
แต่ทีนี้มันจะต้องมี ID ทั้งหมด 3 ID เชื่อมกันคือ user_id ,ans_id,idคำถาม
ที่นี้ในนี้มันเชื่อมแค่ user_id กับidคำถาม มันรัน ans_id ค่ะ
ไม่ทราบว่าพอดีมีวิธีไหนบ้างคะ ที่จะเชื่อม 3 id อ่ะค่ะ หมดหนทางจริงๆ

Code (PHP)
// Include คลาส class.upload.php เข้ามา เพื่อจัดการรูปภาพ
require_once('class.upload.php') ;

session_start();
if(!isset($_SESSION['user_id']) || !isset($_SESSION['user_name'])) {
	 header("Location: user_login.php");
	 exit;
}
$user_id = $_SESSION['user_id'];
$user_name = $_SESSION['user_name'];
// ส่วนกำหนดการเชื่อมต่อฐานข้อมูล
$hostname_connection = "localhost";
$database_connection = "test";
$username_connection = "root";
$password_connection = "";
$connection = mysql_pconnect($hostname_connection, $username_connection, $password_connection)
		or trigger_error(mysql_error(),E_USER_ERROR); 
mysql_query( "SET NAMES UTF8" ) ;
 
 
//  ถ้าหากหน้านี้ถูกเรียก เพราะการ submit form  
//  ประโยคนี้จะเป็นจริงกรณีเดียวก็ด้วยการ submit form 
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
 
    // เริ่มต้นใช้งาน class.upload.php ด้วยการสร้าง instant จากคลาส
    $upload_image = new upload($_FILES['image_ans']) ; // $_FILES['image_name'] ชื่อของช่องที่ให้เลือกไฟล์เพื่ออัปโหลด
 
    //  ถ้าหากมีภาพถูกอัปโหลดมาจริง
    if ( $upload_image->uploaded ) {
 
        // ย่อขนาดภาพให้เล็กลงหน่อย  โดยยึดขนาดภาพตามความกว้าง  ความสูงให้คำณวนอัตโนมัติ
        // ถ้าหากไม่ต้องการย่อขนาดภาพ ก็ลบ 3 บรรทัดด้านล่างทิ้งไปได้เลย
        $upload_image->image_resize         = true ; // อนุญาติให้ย่อภาพได้
        $upload_image->image_x              = 300 ; // กำหนดความกว้างภาพเท่ากับ 400 pixel 
        $upload_image->image_ratio_y        = true; // ให้คำณวนความสูงอัตโนมัติ
 
        $upload_image->process( "upload_images" ); // เก็บภาพไว้ในโฟลเดอร์ที่ต้องการ  *** โฟลเดอร์ต้องมี permission 0777
 
        // ถ้าหากว่าการจัดเก็บรูปภาพไม่มีปัญหา  เก็บชื่อภาพไว้ในตัวแปร เพื่อเอาไปเก็บในฐานข้อมูลต่อไป
        if ( $upload_image->processed ) {
 
            $image_ans =  $upload_image->file_dst_name ; // ชื่อไฟล์หลังกระบวนการเก็บ จะอยู่ที่ file_dst_name
            $upload_image->clean(); // คืนค่าหน่วยความจำ
 			$created_ans = $result['created'];
			$created_ans = date('Y-m-d H:i:s');
			//$user_name  = $result['user_name'];
            // เก็บชื่อภาพลงฐานข้อมูล
            $insertSQL = sprintf("INSERT INTO answers (detail,image_ans,created_ans,ans_id,user_name,user_id) VALUES ( '%s','%s','%s','%s','%s','%s')",$detail,$image_ans,$created_ans,$id,$user_name,$user_id );

    }
           // echo $insertSQL;
			//echo "<img src = 'upload_images/$image_name'>";
            mysql_select_db($database_connection, $connection);
            $Result1 = mysql_query($insertSQL, $connection) or die(mysql_error());

       }// END if ( $upload_image->processed )
	   mysql_query("UPDATE questions SET reply = reply+1 WHERE id ='{$_POST['id']}' ");
 		header("Refresh: 2; url=web1.php");
		echo "<font size=5 color=red>อัพโหลดข้อมูลสำเร็จ<p /></font>";
    } //END if ( $upload_image->uploaded )
 
mysql_close();





Tag : PHP, MySQL









ประวัติการแก้ไข
2015-03-25 16:55:49
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-03-25 16:53:02 By : creditGirl View : 803 Reply : 7
 

 

No. 1



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



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

ตอน select มาแสดงก็แค่ join ตารางเองนิคับ ^^






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-03-25 17:46:52 By : progamer2000
 


 

No. 2



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



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


คือมันอยู่ในตารางเดียวกันอ่ะ ไม่ค่อยเข้าใจการ join เท่าไหร่อ่ะค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-03-26 09:27:01 By : creditGirl
 

 

No. 3



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



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


เอา structure ของ ตารางมา ครับ ขอเป็น export จาก phpmyadmin นะครับ ต้องการเป็น text
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-03-26 09:32:02 By : Chaidhanan
 


 

No. 4



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



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


ตามนี้ค่ะ

Code (SQL)
-- phpMyAdmin SQL Dump
-- version 2.10.3
-- http://www.phpmyadmin.net
-- 
-- Host: localhost
-- Generation Time: Mar 26, 2015 at 10:11 AM
-- Server version: 5.0.51
-- PHP Version: 5.2.6

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

-- 
-- Database: `test`
-- 

-- --------------------------------------------------------

-- 
-- Table structure for table `answers`
-- 

CREATE TABLE `answers` (
  `detail` text collate utf8_unicode_ci NOT NULL,
  `image_ans` varchar(100) collate utf8_unicode_ci NOT NULL,
  `created_ans` datetime NOT NULL,
  `id` int(11) NOT NULL auto_increment,
  `ans_id` int(11) NOT NULL,
  `user_name` varchar(100) collate utf8_unicode_ci NOT NULL,
  `user_id` int(11) NOT NULL,
  PRIMARY KEY  (`id`),
  FULLTEXT KEY `detail` (`detail`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=11 ;

-- 
-- Dumping data for table `answers`
-- 

INSERT INTO `answers` VALUES ('ตอบคำถาม', 'depositphotos_25941629-Europe-map_15.jpg', '2015-03-18 12:09:47', 1, 4, 'admin', 0);
INSERT INTO `answers` VALUES ('', '', '2015-03-18 12:16:59', 2, 4, '', 0);
INSERT INTO `answers` VALUES ('ตอบบบบบบบบบ', '', '2015-03-18 12:19:33', 3, 0, 'admin', 0);
INSERT INTO `answers` VALUES ('กกกกกกก', '', '2015-03-18 12:22:31', 4, 4, '', 0);
INSERT INTO `answers` VALUES ('ssssss', 'black_heart_2.png', '0000-00-00 00:00:00', 5, 0, 'user', 2);
INSERT INTO `answers` VALUES ('aaaaaa', 'cream_happy_ice_2.png', '2015-03-23 14:55:38', 6, 0, 'user', 2);
INSERT INTO `answers` VALUES ('aaaaaaaaa', 'cloud_fun.png', '2015-03-23 15:07:27', 7, 0, 'user', 2);
INSERT INTO `answers` VALUES ('ssssssss', 'red_heart_1.png', '2015-03-23 15:10:44', 8, 0, 'user', 2);
INSERT INTO `answers` VALUES ('eeeeeeWWW', 'faint.png', '2015-03-23 15:15:55', 9, 0, 'user', 2);
INSERT INTO `answers` VALUES ('sssss', '', '2015-03-23 15:23:36', 10, 0, 'user', 2);

-- --------------------------------------------------------

-- 
-- Table structure for table `questions`
-- 

CREATE TABLE `questions` (
  `id` tinyint(11) unsigned NOT NULL auto_increment,
  `user_id` int(10) NOT NULL,
  `topic` varchar(50) character set utf8 collate utf8_unicode_ci NOT NULL,
  `detail` text character set utf8 collate utf8_unicode_ci NOT NULL,
  `user_name` varchar(50) character set utf8 collate utf8_unicode_ci NOT NULL,
  `created` datetime NOT NULL,
  `view` int(4) NOT NULL,
  `reply` int(4) NOT NULL,
  `image` varchar(100) character set utf8 collate utf8_unicode_ci NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=9 ;

-- 
-- Dumping data for table `questions`
-- 

INSERT INTO `questions` VALUES (1, 2, 'ตั้งกระทู้ใหม่', 'ตั้งกระทู้ใหม่ตั้งกระทู้ใหม่ตั้งกระทู้ใหม่ตั้งกระทู้ใหม่ตั้งกระทู้ใหม่ตั้งกระทู้ใหม่\r\nตั้งกระทู้ใหม่ตั้งกระทู้ใหม่\r\nตั้งกระทู้ใหม่ตั้งกระทู้ใหม่ตั้งกระทู้ใหม่\r\nตั้งกระทู้ใหม่ตั้งกระทู้ใหม่\r\nตั้งกระทู้ใหม่', 'user', '2015-03-18 11:02:44', 6, 0, '2010110312141040281_14.jpg');
INSERT INTO `questions` VALUES (2, 2, 'ทดสอบ ตั้งกระทู้ใหม่', 'ทดสอบ ตั้งกระทู้ใหม่ทดสอบ ตั้งกระทู้ใหม่ทดสอบ ตั้งกระทู้ใหม่ทดสอบ ตั้งกระทู้ใหม่\r\nทดสอบ ตั้งกระทู้ใหม่\r\nทดสอบ ตั้งกระทู้ใหม่ทดสอบ ตั้งกระทู้ใหม่\r\nทดสอบ ตั้งกระทู้ใหม่ทดสอบ ตั้งกระทู้ใหม่\r\nทดสอบ ตั้งกระทู้ใหม่ทดสอบ ตั้งกระทู้ใหม่ทดสอบ ตั้งกระทู้ใหม่', 'user', '2015-03-18 11:03:35', 5, 0, '1371455488-A49JPG-o_2.jpg');
INSERT INTO `questions` VALUES (3, 1, 'testtttttt', 'testtttttttesttttttttesttttttttesttttttttesttttttttesttttttt\r\ntesttttttt\r\n\r\ntesttttttt\r\ntesttttttt', 'admin', '2015-03-18 11:09:07', 0, 0, 'shibuya_Tilt_Shift_3.jpg');
INSERT INTO `questions` VALUES (4, 1, 'test1', 'test1 test1 test1test1test1test1 test1 test1 \r\ntest1\r\n test1', 'admin', '2015-03-18 11:11:09', 30, 4, 'pontocho_1.jpg');
INSERT INTO `questions` VALUES (5, 2, 'เทสค่ะ', 'ตำบล บ้านใหม่ อำเภอ ปากเกร็ด นนทบุรี - จากที่อยู่อินเทอร์เน็ตของคุณ - ใช้ตำแหน่งที่แน่นอน - เรียนรู้เพิ่มเติม   ', 'user', '2015-03-18 14:07:49', 4, 0, '2010110312141040281_15.jpg');
INSERT INTO `questions` VALUES (6, 2, 'เทสสสสสสส', 'กำหนดให้ Google เป็นเครื่องมือค้นหาเริ่มต้นเพื่อให้ผลการค้นหามาจาก Google ทุกครั้งที่คุณค้นหา', 'user', '2015-03-18 14:08:45', 1, 0, 'depositphotos_25941629-Europe-map_13.jpg');
INSERT INTO `questions` VALUES (7, 2, 'ชื่อหัวข้อกระทู้    	', 'ชื่อหัวข้อกระทู้    	โปรดตรวจสอบแหล่งข้อมูลความช่วยเหลือของเบราว์เซอร์นั้นๆ เพื่อดูข้อมูลเกี่ยวกับการเปลี่ยนการตั้งค่าการค้นหา', 'user', '2015-03-18 14:11:58', 1, 0, 'depositphotos_25941629-Europe-map_14.jpg');
INSERT INTO `questions` VALUES (8, 2, 'ตั้งกระทู้ใหม่', 'ตั้งกระทู้ใหม่ตั้งกระทู้ใหม่ตั้งกระทู้ใหม่ตั้งกระทู้ใหม่ตั้งกระทู้ใหม่\r\nตั้งกระทู้ใหม่ตั้งกระทู้ใหม่ตั้งกระทู้ใหม่', 'user', '2015-03-18 14:12:27', 12, 0, 'Penguins_2.jpg');

-- --------------------------------------------------------

-- 
-- Table structure for table `user`
-- 

CREATE TABLE `user` (
  `user_id` int(10) unsigned NOT NULL auto_increment,
  `login` varchar(100) collate utf8_unicode_ci default NULL,
  `password` varchar(20) collate utf8_unicode_ci default NULL,
  `user_name` varchar(50) collate utf8_unicode_ci default NULL,
  `status` enum('ADMIN','USER') collate utf8_unicode_ci NOT NULL default 'USER',
  PRIMARY KEY  (`user_id`),
  UNIQUE KEY `login` (`login`),
  UNIQUE KEY `user_name` (`user_name`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;

-- 
-- Dumping data for table `user`
-- 

INSERT INTO `user` VALUES (1, 'admin', '12345678', 'admin', 'ADMIN');
INSERT INTO `user` VALUES (2, 'user', '12345678', 'user', 'USER');


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-03-26 10:17:04 By : creditGirl
 


 

No. 5



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



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


กรณีทำเป็นโชว์กระทู้
แยกการเรียก ออกเป็น สองส่วน
คิวรี่ question ก่อน แสดงหัวข้อ
Code (SQL)
select q.*, u.user_name, u.status 
from ( select * from `questions` where id=$q_id limit 1 ) q 
inner join `user` u on u.user_id = q.user_id


และ เรียก ส่วนของ answer ตามหลัง
Code (SQL)
select a.*, u.user_name, u.status 
from ( select * from `answers` where ans_id=$q_id ) q 
inner join `user` u on u.user_id = a.user_id


หมายเหตุ $q_id ได้จากการคลิก ลิสต์ หัวข้อคำถาม


ส่วนการโชว question หัวข้อคำถาม
Code (SQL)
select * from (
	select qu.*, count(a.id) count_answer, coalesce( max(a.created_ans), qu.created) last_answer 
	FROM (
		select q.*, u.user_name qName, u.status qStatus 
		from `questions` q inner join `user` u on u.user_id = q.user_id
	) qu
	left join `answers` a on a.ans_id=qu.id
	group by qu.id
) tmp
order by last_answer desc



ประวัติการแก้ไข
2015-03-26 11:53:57
2015-03-26 11:55:09
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-03-26 11:53:05 By : Chaidhanan
 


 

No. 6



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



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


แล้วถ้าต้องการ insert ข้อมูลเข้าไปล่ะคะ
พอดีในโค้ดที่ให้ไป ans_id ไม่มันขึ้นอ่ะค่ะ
คือต้องการ ans_id = questions.id ค่ะ
ตารางฐานข้อมูล
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-03-26 18:02:28 By : creditGirl
 


 

No. 7



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



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


ตอบความคิดเห็นที่ : 6 เขียนโดย : creditGirl เมื่อวันที่ 2015-03-26 18:02:28
รายละเอียดของการตอบ ::
นั่นนะสิครับทำไมมันไม่มี ใน statement insert into ตัว $id มันคืออะไรมาจากไหน
ก็ต้องกลับไปดู from ที่ส่ง ว่า questions.id ส่งมาด้วยตัวแปรอะไร หรือหลงลืมไปตรงไหนหรือเปล่าครับ



ปล. ดูที่ตัวอย่าง update ครับ ใช้ id เกียวกันใช่หรือเปล่าครับ


ประวัติการแก้ไข
2015-03-26 19:01:24
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-03-26 18:58:49 By : Chaidhanan
 

   

ค้นหาข้อมูล


   
 

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