|
|
|
พี่ num คะ ช่วยอีกทีนะคะ กระทู้ที่ส่งก่อน 10 โมงอ่ะค่ะ |
|
|
|
|
|
|
|
พี่คิดว่าไม่ว่าใครถ้าเคยเขียน mysql ต่อ database น่าจะทำได้นะ เลยอยากให้เขียนเองมากกว่า
แต่เขียนให้ก็ได้ครับ แต่ต่อไปต้องไปฝึกเขียนเพิ่มเติมด้วยนะ
<?php
if (isset($_GET['load'])){
header('Content-type:text/html;charset=tis-620');
$scode = $_POST['scode'];
mysql_connect('localhost','username','password');
mysql_select_db('data');
@mysql_select_db('SET NAMES TIS620');
//เปลี่ยน scode= เป็น columnname= ที่เก็บรหัสนักศึกษา
$r = mysql_query("SELECT name FROM student WHERE scode='{$scode}'");
if (mysql_num_rows($r)){
echo mysql_result($r,0);
}else{
echo 'not found student code '.$scode;
}
exit();
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="th" xml:lang="th">
<head>
<title>load data</title>
<meta http-equiv="Content-Type" content="text/html; charset=tis-620" />
<script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script>
<script type="text/javascript">
/*<![CDATA[*/
$(document).ready(function(){
//กำหนด event hanlder สำหรับ event click ปุ่ม load
$('#load').click(function(){
//นำค่าจาก textbox scode มาเก็บไว้ในตัวแปร
var s = $('#scode').val();
//request แบบ Ajax
$.ajax({
data:{scode:s}, //ส่งตัวแปร s ไปทาง $_POST['scode']
url:'?load', //ส่งตัวแปรไปทาง url ?load
type:'POST', //ส่งแบบ POST
dataType:'html', //รับข้อมูลแบบ html
success:function(data){ //callback function หลังจากได้รับข้อมูลคืนกลับมา
$('#sname').text(data);
},
error:function(){
alert('error');
}
});
});
});
/*]]>*/
</script>
</head>
<body>
<form>
<br /><input type="text" name="scode" id="scode" />
<br /><input type="button" id="load" value="load" />
<div id="sname"></div>
<br /><input type="submit" name="submit" value="submit" />
</form>
</body>
</html>
|
|
|
|
|
Date :
2009-06-15 09:51:31 |
By :
num |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แฮ่ๆ พิมพ์ผิด
@mysql_select_db('SET NAMES TIS620');
แก้เป็น
@mysql_query('SET NAMES TIS620');
|
|
|
|
|
Date :
2009-06-15 09:53:33 |
By :
num |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้ว ถ้าจะดึง ข้อมูลอื่นด้วย เช่น สาขา คณะ ต้องแก้ ตรงไหนบ้างค่ะ เราแก้แล้วerrorอ่ะ
|
|
|
|
|
Date :
2009-06-15 13:55:40 |
By :
paesalee |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถามเหมือนกันอีกแล้วครับ ตอบไปก่อนละครับ
$r = mysql_query("SELECT fname,surname FROM student WHERE student_id='{$student_id}'");
if (mysql_num_rows($r)){
echo implode(', ',mysql_fetch_assoc($r)); //แสดงทั้ง fname และ surname
}else{
echo 'not found student code '.$student_id;
}
https://www.thaicreate.com/php/forum/028268.html
ข้างบนเป็นการนำหลายๆ column มารวมเป็นข้อมูลเดียว
อาจจะเขียนเป็น tag html แยกเป็นส่วนๆ เลยก็ได้ครับ
$r = mysql_query("SELECT fname,surname FROM student WHERE student_id='{$student_id}'");
if (mysql_num_rows($r)){
$row = mysql_fetch_assoc($r);
echo '<input type="text" value="',htmlspecialchars($row['fname']),'"><br>';
echo '<input type="text" value="',htmlspecialchars($row['surname']),'"><br>';
}else{
echo 'not found student code '.$student_id;
}
แต่จะต้องเปลี่ยน
$('#sname').text(data);
เป็น
$('#sname').html(data);
|
|
|
|
|
Date :
2009-06-15 14:24:46 |
By :
num |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขออีกนิดนะค่ะ แล้วถ้าอยากดึงข้อมูลมาใส่textbox อ่ะ ลองแล้วมันerrorค่ะ จากตั้งอย่างดึงใส่divอ่ะ ต้องทำไงถึงดึงใส่textboxได้หรอค่ะ
|
|
|
|
|
Date :
2009-06-15 14:40:02 |
By :
paesalee |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$r = mysql_query("SELECT fname,surname FROM student WHERE student_id='{$student_id}'");
if (mysql_num_rows($r)){
//สร้างข้อมูลเช่น <div id="fname">f1</div><div name="surname">s1</div>
$row = mysql_fetch_assoc($r);
echo '<div id="fname">',htmlspecialchars($row['fname']),'</div>';
echo '<div id="surname">',htmlspecialchars($row['surname']),'</div>';
}else{
echo 'not found student code '.$student_id;
}
ส่วนตรง javascript
success: function(data){
$('#fname').val($('#fname',data).text());
$('#surname').val($('#surname',data).text());
}
แล้วก็ตรง html ข้างล่าง
<input type="text" id="fname" value="" >
<input type="text" id="surname" value="" >
โค้ดค่อนข้างยาวไม่รู้พิมพ์ผิดหรือเปล่า ลองเอาไปทดสอบดูก่อนครับ
|
|
|
|
|
Date :
2009-06-15 14:55:53 |
By :
num |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
งง อย่างแรงเลยค่ะ ไงช่วยส่งcodeแบบเต็มๆมาได้มั้ยค่ะ ขอบคุณที่ช่วยนะค่ะ
|
|
|
|
|
Date :
2009-06-15 15:26:11 |
By :
paesalee |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมได้เอาโค้ดข้างบนไปทดสอบดู มีจุด error จริงๆ ด้วยโทษทีครับ ตอนนี้แก้ให้ใช้ได้ละครับ
<?php
/*
CREATE TABLE `student` (
`id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`faculty` varchar(50) NOT NULL,
`department` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM;
insert into `student`(`id`,`name`,`faculty`,`department`) values (1,'A','F1','D1'),(2,'B','F2','D2');
*/
if (isset($_GET['load'])){
header('Content-type:text/html;charset=tis-620');
$scode = $_POST['scode'];
mysql_connect('localhost','root','12345');
mysql_select_db('test');
@mysql_query('SET NAMES TIS620');
$r = mysql_query("SELECT name,faculty,department FROM student WHERE id='{$scode}'");
if (mysql_num_rows($r)){
$row = mysql_fetch_assoc($r);
echo '<div>';
echo '<div id="name">',htmlspecialchars($row['name']),'</div>';
echo '<div id="faculty">',htmlspecialchars($row['faculty']),'</div>';
echo '<div id="department">',htmlspecialchars($row['department']),'</div>';
echo '</div>';
}else{
echo '<div>';
echo '<div id="error">not found student code '.htmlspecialchars($scode).'</div>';
echo '</div>';
}
exit();
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="th" xml:lang="th">
<head>
<title>load data</title>
<meta http-equiv="Content-Type" content="text/html; charset=tis-620" />
<script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script>
<script type="text/javascript">
/*<![CDATA[*/
$(document).ready(function(){
$('#load').click(function(){
var s = $('#scode').val();
$.ajax({
data:{scode:s},
url:'?load',
type:'POST',
dataType:'html',
success:function(data){
if ($('#error',data).size()>0){
$('#error').html($('#error',data).html());
}else{
$('#name').val($('#name',data).html());
$('#faculty').val($('#faculty',data).html());
$('#department').val($('#department',data).html());
}
},
error:function(){
alert('error');
}
});
});
});
/*]]>*/
</script>
</head>
<body>
<form>
<br />scode<input type="text" name="scode" id="scode"
onkeyup="$('#error').text('');$('#name,#faculty,#department').val('');" />
<input type="button" id="load" value="load" />
<span id="error" style="color:red"></span>
<br />name<input type="text" id="name" value="" />
<br />faculty<input type="text" id="faculty" value="" />
<br />department<input type="text" id="department" value="" />
<br /><input type="submit" name="submit" value="submit" />
</form>
</body>
</html>
jquery ajax example
|
|
|
|
|
Date :
2009-06-15 16:14:24 |
By :
num |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แก้นิดนึงครับ ใช้ .text แทน .html ไม่งั้นบางทีอาจจะได้ข้อมูลเพี้ยนๆ ครับ
$('#name').val($('#name',data).text());
$('#faculty').val($('#faculty',data).text());
$('#department').val($('#department',data).text());
|
|
|
|
|
Date :
2009-06-15 16:21:12 |
By :
num |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+1 ให้สำหรับความเอื้อเฟื้อ
|
|
|
|
|
Date :
2009-06-15 23:38:18 |
By :
plakrim |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|