 |
ช่วยหน่อยทำไม่ได้จริง ๆ ค่ะ อธิบายไม่ถูกค่ะ คือว่า อยากจะได้เสิร์ทที่มันแสดงข้อมูลจาก 2 ตารางค่ะ |
|
 |
|
|
 |
 |
|
SQL JOIN
|
 |
 |
 |
 |
Date :
2010-02-02 17:59:31 |
By :
Sek-Artdrinker |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
select * from customer,student where customer.std_code=student.std_code
ขอแนะนำนิดนะคับ พวก pm key กับ rf key เขียนอยู่คนละตารางควรใช้เป็นชื่ออื่นที่สื่อถึงตารางที่ไป refer มาด้วยก็ดีนะคับ
|
 |
 |
 |
 |
Date :
2010-02-02 19:24:28 |
By :
Po[k]@za |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
มันขึ้นว่า Not found Data ทั้ง ๆ ที่มีข้อมูลอยู่อ่ะค่ะ
ต้องการ เสิร์ท แล้วก็ใช้ Join ไม่ได้อ่ะค่ะ
$query = "select * from customer,student where customer.std_code=student.std_code like '%$std_code%'";
เปลี่ยน student.std_code เป็น student.id แล้วก็ยังไม่ได้
ขอโทษนะค่ะ ทำไม่ได้จริง ๆ ค่ะ
|
 |
 |
 |
 |
Date :
2010-02-08 09:15:18 |
By :
pookpoy |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
SELECT student.*,customer.* FORM student INNER JOIN customer (ON student.std_code = customer.std_code) WHERE student.std_code = "ค่าที่รับมา";
ประมาณนี้มั้งครับ
|
 |
 |
 |
 |
Date :
2010-02-08 11:13:07 |
By :
ความรู้เท่าหางอึ่ง |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ไม่ได้ค่ะ...ขอบคุณนะค่ะ มีวิธีอื่นอีกมั้ยค่ะ....
|
 |
 |
 |
 |
Date :
2010-02-08 12:59:56 |
By :
pookpoy |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เง้ออออ มันขึ้นไรมามั้ง
|
 |
 |
 |
 |
Date :
2010-02-08 13:03:12 |
By :
ความรู้เท่าหางอึ่ง |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Parse error: syntax error, unexpected T_STRING in C:\xampp\htdocs\long\search.php on line 46
เรียกจากตาราง customer ค่ะ
|
 |
 |
 |
 |
Date :
2010-02-08 14:06:51 |
By :
pookpoy |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
export sQL ทั้งสองตารางมาแป๊ะไว้ได้ไหมครับ
|
 |
 |
 |
 |
Date :
2010-02-08 14:23:48 |
By :
ความรู้เท่าหางอึ่ง |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
$query = "select * from customer,student where customer.std_code=student.std_code AND student.std_code like '%$std_code%'"; เติม AND ด้วยคับ มันต้อง error อยู่แล้ว
|
 |
 |
 |
 |
Date :
2010-02-08 14:33:44 |
By :
Po[k]@za |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
อันแรกเป็นของ Customer
CREATE TABLE `customer` (
`dayofweek` varchar(50) collate utf8_unicode_ci NOT NULL,
`timein` varchar(50) collate utf8_unicode_ci NOT NULL,
`timeout` varchar(50) collate utf8_unicode_ci NOT NULL,
`std_code` varchar(50) collate utf8_unicode_ci NOT NULL,
`gro` varchar(50) collate utf8_unicode_ci NOT NULL,
`active` varchar(50) collate utf8_unicode_ci NOT NULL,
`chk_status` varchar(50) collate utf8_unicode_ci NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
อันที่สอง เป็นของ Student ค่ะ
CREATE TABLE `student` (
`id` varchar(12) collate utf8_unicode_ci NOT NULL,
`pre_name` varchar(10) collate utf8_unicode_ci NOT NULL,
`name` varchar(30) collate utf8_unicode_ci NOT NULL,
`lastname` varchar(50) collate utf8_unicode_ci NOT NULL,
`birtday` varchar(20) collate utf8_unicode_ci NOT NULL,
`pin_id` varchar(20) collate utf8_unicode_ci NOT NULL,
`std_level` varchar(10) collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
 |
 |
 |
 |
Date :
2010-02-08 14:37:29 |
By :
pookpoy |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ได้แล้วค่ะ...มันโชว์

แต่ว่าจะเอา mysql_query("SET NAMES TIS620");
ไปใส่ตรงไหนดี
ใส่ล่าง $db = new mysqli($host, $user, $pass, $dbname);

|
 |
 |
 |
 |
Date :
2010-02-08 15:20:23 |
By :
pookpoy |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
SELECT student.*,customer.* FROM student INNER JOIN customer ON (student.id = customer.std_code) WHERE id = "ค่าที่รับมา"
โทดหนะครับผมไม่รู้ว่า std_code ของตาราง customer เป็นคีย์รองของตาราง studentหรือเปล่าครับ
ถ้าใช่ เขียนเหมือนด้านบนก้อคงจะได้แล้วอ่ะครับ
ีคีย์รองกับคีย์หลักน่าจะตั้งให้มันเหมือน ๆ กันอ่ะครับ
|
 |
 |
 |
 |
Date :
2010-02-08 15:20:31 |
By :
ความรู้เท่าหางอึ่ง |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตั้งแล้วค่ะพี่....
พอดีมีคนเขาบอกให้ลองตั้งชื่อให้ไม่เหมือนกันดู ก็ทำตามเขาบอกมา
แต่ตอนนี้เปลี่ยนเป็น std_code เหมือนกันแล้วค่ะ
ขอบคุณนะค่ะพี่.... *-*
join ขึ้นแล้วแต่
มันไม่ขึ้น ภาษาไทยค่ะ
|
 |
 |
 |
 |
Date :
2010-02-08 15:39:28 |
By :
pookpoy |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
 
|
 |
 |
 |
 |
Date :
2010-02-08 15:48:55 |
By :
ความรู้เท่าหางอึ่ง |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
mysql_query("SET NAMES TIS620");
ตัวนี้ของผมใช้ตอนเก็บขอ้มุลอะคับ
คือ ใช้เป็น tis หรือ utf คับ
db อขงคุณจะเป็นอะไรผมขอใช้ตัวเก่าละกัน คุณก็ไปแปลความหมายเอาเอง
ลองที่ตัวจะสแดงค่าก่อนนคับ สมมติ เราให้ iconv('UTF-8','TIS-620',$arr['std_name']);
Code (PHP)
include "include/config.inc.php";
$db=mysql_connect($host,$username,$password) or die ("ไม่สามารถติดต่อฐานข้อมูลได้");
mysql_select_db($dbname, $db) or die ("ไม่สามารถเลือกฐานข้อมูลได้");
mysql_query("SET character_set_results=utf8");
mysql_query("SET character_set_client=utf8");
mysql_query("SET character_set_connection=utf8");
ปล อันนี้ตัวอย่าง db เป็น utf แต่ถ้าเป็น tis ก็ลองปรับดู ไม่ได้ยังไงก็โพสอีกที
|
 |
 |
 |
 |
Date :
2010-02-08 15:51:21 |
By :
Po[k]@za |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขึ้น Error เหมือนข้างบนค่ะ
|
 |
 |
 |
 |
Date :
2010-02-08 16:03:36 |
By :
pookpoy |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ออที่ผมให้มันของ mysql อะ -*- ลองเอาไปเปลี่ยนเป็น oracle ดูคับ
|
 |
 |
 |
 |
Date :
2010-02-08 16:07:18 |
By :
Po[k]@za |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Fatal error: Call to undefined function oracle_query() in C:\xampp\htdocs\long\search.php on line 37
ปอยใช้ sql นี่ค่ะ
|
 |
 |
 |
 |
Date :
2010-02-08 16:26:03 |
By :
pookpoy |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
$host="localhost";
$dbname="mydatabase";
$user="root";
$pass="12345";
$db = new mysqli($host, $user, $pass, $dbname);
mysql_query("SET character_set_results=TIS-620");
mysql_query("SET character_set_client=TIS-620");
mysql_query("SET character_set_connection=TIS-620");
ใส่แบบนี้หรอค่ะ
แต่มันขึ้น Error เหมือนเดิมค่ะ
|
 |
 |
 |
 |
Date :
2010-02-08 16:28:47 |
By :
pookpoy |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (PHP)
$host="localhost";
$dbname="mydatabase";
$user="root";
$password="12345";
$db=mysql_connect($host,$username,$password) or die ("ไม่สามารถติดต่อฐานข้อมูลได้");
mysql_select_db($dbname, $db) or die ("ไม่สามารถเลือกฐานข้อมูลได้");
mysql_query("SET character_set_results=utf8");
mysql_query("SET character_set_client=utf8");
mysql_query("SET character_set_connection=utf8");
ลองใช้แบบนี้ดู
|
 |
 |
 |
 |
Date :
2010-02-08 16:56:29 |
By :
Po[k]@za |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (PHP)
$host="localhost";
$dbname="mydatabase";
$user="root";
$password="12345";
$db=mysql_connect($host,$username,$password) or die ("ไม่สามารถติดต่อฐานข้อมูลได้");
mysql_select_db($dbname, $db) or die ("ไม่สามารถเลือกฐานข้อมูลได้");
mysql_query("SET character_set_results=utf8");
mysql_query("SET character_set_client=utf8");
mysql_query("SET character_set_connection=utf8");
$result=mysql_query("select * from customer,student where customer.std_code=student.std_code AND student.std_code like '%1%' "); // 1 คือรหัสที่รับค่าเข้ามาหานะคับ
$arr=mysql_fetch_array($result);
echo iconv('UTF-8','TIS-620',$arr['std_name']);
ลองดูคับถ้าไม่มีอะไรผิดพลาดต้องออก เปิดหน้าใหม่ขึ้นมาลองเลยคับ ลองดูพวกชื่อตารางกับฟิวด้วยนะคับ เผื่อไม่ตรง
|
 |
 |
 |
 |
Date :
2010-02-08 17:04:42 |
By :
Po[k]@za |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Fatal error: Call to a member function real_escape_string() on a non-object in C:\xampp\htdocs\long\search.php on line 48
|
 |
 |
 |
 |
Date :
2010-02-08 17:20:52 |
By :
pookpoy |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Parse error: syntax error, unexpected T_ELSE in C:\xampp\htdocs\long\updata1\long.php on line 48
|
 |
 |
 |
 |
Date :
2010-02-08 17:26:53 |
By :
pookpoy |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|