รบกวน แนะนำหน่อยคะ ทั้งๆที่ฐานก็มี ทำไมมันยังฟ้องว่าผิดพลาดอีก
จะทำอะไรครับ ลองอธิบายให้ครบๆ เดี๋ยวก็มีคนช่วยตอบ ดูผ่านๆแล้วมัน code มันผิดเยอะเลย
Date :
2010-12-21 15:24:28
By :
ARAYA1
ขอดูโค้ดไฟล์ connect_db.php หน่อยได้ไหมครับ เพราะว่าโค้ดมันดึงมาจากโน้น
Date :
2010-12-21 15:58:14
By :
fresh
นี้คือ connect_db นะคะ
<?
$dbname="test2";
$con = mysql_connect("localhost","root","123");
mysql_query("SET NAMES 'tis620' ");
if($con){
echo "การเชื่อมต่อฐานข้อมูลสำเร็จ";
}else{
die('การเชื่อมต่อผิดพลาด');
}
?>
Date :
2010-12-21 16:02:20
By :
จิจิ
ผิดอะไรบ้างคะ ช่วยหน่อยคะ หนูปวดหัวหมดแล้วคะ
Date :
2010-12-21 16:34:43
By :
จิจิ
$sql = "SELECT * FROM test where id ='$id ' ";
$id มาจากไหนครับ
Date :
2010-12-21 16:46:02
By :
PlaKriM
มาจากในฐานคะ เมื่อทำการบันทึกลงไป $id เป็นการเก็บแบบลำดับที่ 1 2 3 เวลาเราเพิ่มข่าวเข้าไปคะ
Date :
2010-12-21 19:51:17
By :
จิจิ
$sql = "SELECT * FROM test where id ='$id' ";
$echo $sql ออกมาดูครับ $id น่าจะไม่มีค่าเพราะเห็นเอา $no มารับ $no งงมากมาย
ส่งมาทาง url ใช่ไหม เช่น abc.php?id=<? echo $id; ?>
เวลาจะรับไปใช้งาน ใช้ $_GET['id'] ครับ
Date :
2010-12-21 21:37:21
By :
PlaKriM
ยังไม่ได้คะ มันกลับหายยิ่งกว่าเดิม ตอนนี้ no เปลี่ยนเป็น id แล้วนะคะ ลองเขียนแบบที่คุณแนะนำแล้วคะ ยังไม่ได้อีกคะ
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874" />
<table width="500" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="2"></td>
</tr>
<tr>
<td colspan="2">
<?
require("connect_db.php");
mysql_select_db ($dbname,$con);
mysql_query ('SET NAMES tis620');
$sql = "SELECT * FROM test where id ='$id' ";
$mysql_run = mysql_query($sql);
$num_rows = mysql_num_rows($mysql_run);
$end_row = $num_rows-4;
for ($i=($num_rows-1);$i>$end_row;$i--){
?>
<table width="500" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="3" bgcolor="#367EC8"><strong><font face="Angsana New" color="#FFFFFF">
<?php echo $hnew ; ?>
</font></strong></td>
</tr>
<tr>
<td colspan="3" bgcolor="#5FADFD"><label></label>
<table width="500" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="32"> </td>
<td width="468"> <?php echo $new; ?></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#5FADFD"><div align="right" class="style1">
<? } ?> </div></td>
<td width="226" bgcolor="#5FADFD"> </td>
<td width="242" bgcolor="#5FADFD"><div align="right" class="style1">
</tr>
</table>
</td>
</tr>
<tr>
<td width="388" bgcolor="#5FADFD"> </td>
<td width="112" bgcolor="#5FADFD"><div align="center"><a href="?form=news">อ่านทั้งหมด</a></div></td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
</table>
Date :
2010-12-22 11:08:52
By :
จิจิ
ไม่มีใครช่วยเลยหรออออ ติดตรงนี้แล้วค๊าาาา ช่วยหน่อยค๊าา
Date :
2010-12-22 16:31:40
By :
จิจิ
$sql = "SELECT * FROM test where id ='$id' ";
$mysql_run = mysql_query($sql) or die(mysql_error() .'<br />'. $sql);
เปลี่ยนเป็นนี่ครับ แล้วเอามาแปะว่ามันเกิดอะไรขึ้น แน่ใจว่าส่ง parameter id มา
Date :
2010-12-22 16:38:30
By :
PlaKriM
คะ ทำไมมันฟ้องว่าอย่างนี้คะ
Parse error: syntax error, unexpected ')', expecting ',' or ';' in C:\AppServ\www\show.php on line 29
นี้โค๊ดที่แก้ล่าสุดคะ
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874" />
<table width="500" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="2"></td>
</tr>
<tr>
<td colspan="2">
<?
require("connect_db.php");
mysql_select_db ($dbname,$con);
mysql_query ('SET NAMES tis620');
$sql = "SELECT * FROM test where id ='$id' ";
$mysql_run = mysql_query($sql) or die(mysql_error() .'<br />'. $sql);
$mysql_run = mysql_query($sql);
$num_rows = mysql_num_rows($mysql_run);
$end_row = $num_rows-4;
for ($i=($num_rows-1);$i>$end_row;$i--){
?>
<table width="500" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="3" bgcolor="#367EC8"><strong><font face="Angsana New" color="#FFFFFF">
<?php echo $hnew) ; ?>
</font></strong></td>
</tr>
<tr>
<td colspan="3" bgcolor="#5FADFD"><label></label>
<table width="500" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="32"> </td>
<td width="468"> <?php echo $new) ; ?></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#5FADFD"><div align="right" class="style1">
<? } ?> </div></td>
<td width="226" bgcolor="#5FADFD"> </td>
<td width="242" bgcolor="#5FADFD"><div align="right" class="style1">
</tr>
</table>
</td>
</tr>
<tr>
<td width="388" bgcolor="#5FADFD"> </td>
<td width="112" bgcolor="#5FADFD"><div align="center"><a href="?form=news">อ่านทั้งหมด</a></div></td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
</table>
หากพี่ต้องการโค๊ดทั้งหมด เดี๋ยวบอกได้นะคะ
Date :
2010-12-22 22:25:30
By :
จิจิ
line 29 อยู่ซอกไหนของประเทศไทยครับ ครอบ tag php ให้ด้วยนะ
แล้วถามกลับเลยว่า $id นี่เข้าใจไหมว่ามันมาจาำกไหน
Date :
2010-12-22 22:57:38
By :
PlaKriM
เท่าที่ดูจาก code แล้วมีข้อสงสัย และข้อผิดมากๆเลยอยู่ 2 จุดนะครับ
จุดแรก
ตัวแปร $id
ตอนนี้ ตัวแปร $id นั้นไม่มีค่าอะไรเลยนะครับ เป็นค่า default ของมันอยู่
เพราะดูจาก code จะไม่มีการดึง ค่ามาเก็บไว้ที่ตัวแปร $id เลยนะครับ
จุดที่สอง
ที่มันฟ้อง error line 29 กับ line 37
สังเกตที่ <?php echo $hnew) ; ?> จะมี ( เกินมาตัวหนึ่งนะครับ
Date :
2010-12-23 01:03:22
By :
Light
ตอนนี้แก้เป็นแบบนี้แล้วคะ แต่ก็ยังไม่ได้เหมือนเดิมคะ
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874" />
<table width="500" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="2"></td>
</tr>
<tr>
<td colspan="2">
<?
require("connect_db.php");
mysql_select_db ($dbname,$con);
mysql_query ('SET NAMES tis620');
$sql = "SELECT * FROM test where hnew ='$hnew' ";
$mysql_run = mysql_query($sql) or die(mysql_error() .'<br />'. $sql);
$mysql_run = mysql_query($sql);
$num_rows = mysql_num_rows($mysql_run);
$end_row = $num_rows-6;
for ($i=($num_rows-1);$i>$end_row;$i--){
?>
<table width="500" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="3" bgcolor="#367EC8"><strong><font face="Angsana New" color="#FFFFFF">
<?php echo mysql_result ($mysql_run,$i,'hnew') ; ?>
</font></strong></td>
</tr>
<tr>
<td colspan="3" bgcolor="#5FADFD"><label></label>
<table width="500" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="32"> </td>
<td width="468"> <?php echo mysql_result ($mysql_run,$i,'new') ; ?></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#5FADFD"><div align="right" class="style1">
<? } ?> </div></td>
<td width="226" bgcolor="#5FADFD"> </td>
<td width="242" bgcolor="#5FADFD"><div align="right" class="style1">
</tr>
</table>
</td>
</tr>
<tr>
<td width="388" bgcolor="#5FADFD"> </td>
<td width="112" bgcolor="#5FADFD"><div align="center"><a href="?form=news">อ่านทั้งหมด</a></div></td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
</table>
Date :
2010-12-23 09:25:05
By :
จิจิ
รบกวนหน่อยนะคะ ยังไม่ได้เลย ไม่รู้จะแก้ยังไงแล้วคะ
Date :
2010-12-23 09:29:29
By :
จิจิ
รบกวนหน่ยอนะคะ ใครก็ได้ช่วยทีคะ
Date :
2010-12-23 11:34:52
By :
จิจิ
ผมว่า"คุณจิจิ"ยังไม่เข้าใจการทำงานของระบบแน่เลย เพราะตัวแปร $id นั้นไม่มีค่าอะไรเลยนะครับเป็นค่า default ของมันอยู่
ซึ่งเมื่อคุณเอาไป SELECT ค่าที่ได้มันก็ไม่มีมันก็จะกลายเป็นว่า SELECT * FROM test where id ='ค่าว่าง' ";ซึ่งมันไม่มีทางได้แน่นอน
เอาแบบง่ายเลยนะครับ SELECT * FROM test where id ='ใส่ค่าลงไปครับ' ";หรือใช้เป็น SELECT * FROM test
แนะนำให้ไปศึกษาทำความเข้าใจครับ
POST
GET
Date :
2010-12-23 11:48:19
By :
namebom
ตรงนี้
Code (PHP)
require("connect_db.php");
mysql_select_db ($dbname,$con);
mysql_query ('SET NAMES tis620');
$sql = "SELECT * FROM test where hnew ='$hnew' ";
$mysql_run = mysql_query($sql) or die(mysql_error() .'<br />'. $sql);
$mysql_run = mysql_query($sql);
เปลี่ยนเป็น
Code (PHP)
require("connect_db.php");
mysql_select_db ($dbname,$con);
mysql_query ('SET NAMES tis620');
$sql = "SELECT * FROM test where hnew ='$hnew' ";
$mysql_run = mysql_query($sql) or die(mysql_error() .'<br />'. $sql);
die($sql);
จากนั้น copy output มาดูหน่อย
อ้อ copy url ของหน้านี้ ณ ตอนรันมาดูด้วย
ประวัติการแก้ไข 2010-12-23 12:51:39 2010-12-23 12:52:44
Date :
2010-12-23 12:50:59
By :
PlaKriM
ออกมาอย่างนี้คะ
Date :
2010-12-23 13:25:03
By :
จิจิ
อย่างที่ผมบอก $hnew เป็นค่าว่าง
Date :
2010-12-23 14:12:03
By :
namebom
แล้วต้องแก้ไขยังไงคะ เท่าที่เก็บในฐาน ตัวแปรนี้ มันไม่ใช่ค่าว่างคะ เป็นหัวข้อข่าวคะ
Date :
2010-12-23 14:15:13
By :
จิจิ
ที่คุณ Superman บอกคือ มันถูกส่งมาเป็นค่าว่าง นั้นก็คือ $hnew มันเป็นค่าว่าง ยังไม่ได้ทำการ POST หรือ GET ค่ามาจากที่อื่น มันจึงว่างอยู่ ถูกไหมครับลูกเพ่
Date :
2010-12-23 14:21:26
By :
EucifeR
แล้วต้องทำยังไงคะ ให้มันแสดงออกมาคะ ขอรบกวนหน่อยคะ
Date :
2010-12-23 14:29:52
By :
จิจิ
ถ้าคุณจิจิตอบมาอย่างนี้ต้องไปศึกษาตรงนี้ก่อนครับ
SELECT
Date :
2010-12-23 14:37:41
By :
namebom
คะตรงนี้พอทราบคะ อยากให้มันออกมาเนี่ย ต้องแก้ตรงไหน แก้ยังไง ตรงน้แล้วนะคะ ขอร้องจริงๆ
Date :
2010-12-23 14:53:40
By :
จิจิ
แนะนำให้เอาหน้าก่อนหน้า show กับ หน้า show มาแปะให้พี่ๆ เขาช่วยแก้ไขให้ครับ
ยังไม่ได้ส่ง parameter อะไรมาเลย ถ้ามันมีค่าก็ผีหลอกแล้วครับ
Date :
2010-12-23 14:54:39
By :
PlaKriM
ได้คะ นี้คะ หนูให้ตั้งแต่หน้า formเลยนะคะ
นี้หน้าฟอร์ม
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874" />
<form id="form2" name="form2" method="post" action="new.php">
<table width="500" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="2"><strong>หัวข้อข่าว</strong></td>
</tr>
<tr>
<td colspan="2"><input name="hnew" type="text" id="hnew" size="30" maxlength="30" /></td>
</tr>
<tr>
<td colspan="2"><strong>รายละเอียด</strong></td>
</tr>
<tr>
<td colspan="2"><textarea name="new" cols="55" rows="4" id="new"></textarea></td>
</tr>
<tr>
<td width="95"> </td>
<td width="405"><input type="submit" name="Submit2" value="Submit" />
<input type="reset" name="Reset" value="Reset" /></td>
</tr>
</table>
</td>
</tr>
<tr bgcolor="#C8F4F7">
<td> </td>
</tr>
</table>
</form>
นี้หน้าก่อนหน้า show
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874" />
<title>Untitled Document</title>
</head>
<body>
<?
include"connect_db.php";
$hnew = $_POST["hnew"];
$new = $_POST["new"];
$sql="select * from test where hnew ='$hnew' ";
$result = mysql_db_query($dbname,$sql);
$sql = "insert into test (id,hnew,new)
value('id','$hnew','$new')";
$result = mysql_db_query($dbname,$sql);
if($result){
echo " บันทึกข้อมูลเรียบร้อย";
}else{
echo "ไม่สามารถบันทึกข้อมูลได้<br>";
}
mysql_close();
?>
</body>
</html>
Date :
2010-12-23 14:57:43
By :
จิจิ
FORM ส่งค่าไป new.php เเต่ ไปเรียกในหน้า show.php ใช่ไหมครับ ลองเปลี่ยนที่ส่งไปไปหน้า show.php ดูครับ
Date :
2010-12-23 15:03:50
By :
EucifeR
เปลี่ยนตามที่คุณShadow[L บอกแล้วคะ มันก็ขึ้นแบบนี้คะ
การเชื่อมต่อฐานข้อมูลสำเร็จ SELECT * FROM test where hnew =''
Date :
2010-12-23 15:09:46
By :
จิจิ
<?php echo mysql_result ($mysql_run,$i,'new') ; ?>
echo ทำไมเหรอครับ สงสัย???
Date :
2010-12-23 15:11:48
By :
EucifeR
ตอนนี้เอาออกแล้วคะ เป็นแย่างนี้แทนคะ <?php echo $new ?>
Date :
2010-12-23 15:35:35
By :
จิจิ
echo คือการเเสดงผลนิครับ ไม่ใช่คำสั่งให้ตัวฐานข้อมูลทำงานนะครับ
ถ้าคุณจะให้ mysql_result ($mysql_run,$i,'new')
ก็ต้องเอา echo ออก <?php mysql_result ($mysql_run,$i,'new') ; ?>
นะครับ
ประวัติการแก้ไข 2010-12-23 15:41:19
Date :
2010-12-23 15:40:50
By :
EucifeR
ถ้าตาที่คุณบอกมันก็จะ error เหมือนเดิมคะ ไม่มีอะไรเกิดขึ้น เหมือนเดิม
Date :
2010-12-23 15:46:27
By :
จิจิ
พี่ๆช่วยหน่อยคะ ขอร้องๆ
Date :
2010-12-24 09:24:12
By :
จิจิ
คุณจิจิสะดวกส่งข้อมูลโปรแกรมให้ผมได้หรือเปล่าว [email protected] เพราะดูแล้วสงสัยจะยาว
Date :
2010-12-24 09:46:20
By :
namebom
ได้คะ
Date :
2010-12-24 09:55:01
By :
จิจิ
ส่งไปแล้วนะคะ
Date :
2010-12-24 10:00:27
By :
จิจิ
ได้หรือยังหนอครับ พอดีเพิ่งมาอ่านดู ไม่รู้ทำได้หรือยัง คงได้แล้วหนอครับ ดีใจด้วยนะ
Date :
2010-12-26 12:16:45
By :
fresh
ยังคะ ช่วยหน่อยนะคะ ยังไม่ได้เลย พี่ๆๆ ช่วยหน่อยยยยยยยยย
Date :
2010-12-26 16:26:25
By :
จิจิ
ลองส่งตัวโปรแกรมมาให้ผมหน่อยสิครับ
เดี่ยวจะดูให้
[email protected]
Date :
2010-12-26 21:14:59
By :
lightkung
บันทึกแล้ว ไม่มีในฐานข้อมูลคะ ไม่ได้เกิดผิดพลาดอะไร หนูม่รู้ว่าทำไม เป็นที่ฐานหรือป่าวคะ คุณbom ช่วยหน่อยคะ
Date :
2010-12-28 09:38:21
By :
จิจิ
แล้วได้ลองใช้ฐานข้อมูลของผมหรือยังครับ
Date :
2010-12-28 11:25:25
By :
namebom
ใช้แล้วคะ ไม่ได้แสดงผิดพลาดอะไร แต่ไม่มีใฐานคะ
Date :
2010-12-28 11:34:34
By :
จิจิ
คุณจิลองเอาโค้ตนี้ไปวางแทนของเดิมหน้า new.php ลองดูครับ
Code (PHP)
if(($hnew!="") and ($new !="")){
Date :
2010-12-28 13:50:05
By :
namebom
ได้แล้วววววววววววววว ขอบคุณมากๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆคุณ bom มากกกกกกกกกกกกกกกกกกกกกกกก
Date :
2010-12-28 15:02:21
By :
จิจิ
Load balance : Server 00