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 > สอบถามเกี่ยวกับการเขียนตอบกลับ webboard ครับ



 

สอบถามเกี่ยวกับการเขียนตอบกลับ webboard ครับ

 



Topic : 135443



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



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




ติดปัญหาตรงที่มันตอบกลับได้เเค่ครั้งเดียวครับผม


show_detail
<?php

	$item = $_GET['item'];
	$link = mysqli_connect("localhost", "root", "", "board");

	function renHTML($strTemp)		{
		$strTemp = nl2br(htmlspecialchars($strTemp));
		return $strTemp;
	}
	
	$sql = "SELECT * FROM question Where qno = '$item'";	
	$result = mysqli_query($link,$sql);
	$dbarr = mysqli_fetch_array($result);
?>
คำถาม <b>
<?php
	echo renHTML($dbarr['qtopic']);	
?>
</b><br>
<table width="100%" border="1"  bgcolor="#E0E0E0" bordercolor="black">
<tr><td>
<?php
	echo renHTML($dbarr['qdetail']);	
?><br>
	โดย <b>
<?php echo renHTML($dbarr['qname']);	
?></b>
	</td></tr>
	</table><br>
<?php

	$sql = "SELECT * FROM Answer Where aquestionno=$item;";
	$result = mysqli_query($link,$sql);
	if ($result) 
	{
		while ($dbarr = mysqli_fetch_array($result))	 
		{
?>
คำตอบที่ : <b>
<?php 
	echo $dbarr['ano'];	
?></b><br>
	<table width="100%" border="1">
	<tr><td>
<?php
	echo renHTML($dbarr['adetail']);	
?><br>
โดย <b>
<?php
	echo renHTML($dbarr['aname']);	
?></b>
</td></tr>
</table><br>
<?php
  }
}

echo "<form method=post action=add_answer.php?answerno=".$item.">";
mysqli_close($link);
?>
คำตอบ : <br>

<textarea cols="40" rows="5" name="a_answer"></textarea><br>

ชื่อ : <input type="text" name="a_name" size="30"><br><br>
<input type="submit" value="ส่งคำตอบ">&nbsp;
<input type="reset" value="ยกเลิก">

</form>



[head]add_answer.php/head]
$link = mysqli_connect("localhost", "root", "", "board");	
	
	
    $answerno =$_GET["answerno"];
    $a_answer =$_POST["a_answer"];
	$a_name = $_POST["a_name"];
	
	$sql = "SELECT * FROM Answer Where aquestionno = $answerno;";
	$count = 1;
	$result = mysqli_query($link,$sql);

	while ($dbarr = mysqli_fetch_array($result))	 
	{
		$count++;		
	}

$sql = "INSERT INTO Answer Values ($answerno, $count, '$a_answer', '$a_name');";
$result = mysqli_query($link,$sql);
if ($result) 
{
	
	$sql = "UPDATE question Set qcount = qcount+1 WHERE qno = '$answerno'";
	$result = mysqli_query($link,$sql);
	echo "บันทึกแล้ว<br><br>";
	echo "<a href=show_detail.php?item=$answerno>กลับไปยังกระทู้</a><br>";
	echo "<a href=show_question.php>หน้าหลัก</a>";
}
else {
  echo "บันทึกไม่สำเร็จ";
}
mysqli_close($link);





Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2020-08-05 09:18:01 By : bannana View : 697 Reply : 7
 

 

No. 1



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



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

จะแก้ปัญหานี้ได้ สงสัยต้องคัดลอกโค้ดไปรันดู...แต่ติดตรงฐานข้อมูล
ลองแคปภาพการแสดงผลมาดูหน่อยครับ ว่าตอบกลับได้ครั้งเดียวเป็นอย่างไร






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-08-05 15:34:19 By : PhrayaDev
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : PhrayaDev เมื่อวันที่ 2020-08-05 15:34:19
รายละเอียดของการตอบ ::
นี่โค้ดทั้งหมดครับ คือพิมตอบกลับอีกครั้งแล้วมันขึ้นบันทึกไม่สำเร็จครับ


add_answer.php
<?php
	$answerno =$_GET["answerno"];
    $a_answer =$_POST["a_answer"];
	$a_name = $_POST["a_name"];
	
	$link = mysqli_connect("localhost", "root", "", "board");	
	$sql = "SELECT * FROM Answer Where aquestionno = $answerno;";
	$count = 1;
	$result = mysqli_query($link,$sql);

	while ($dbarr = mysqli_fetch_array($result))	 
	{
		$count++;		
	}

$sql = "INSERT INTO Answer "." Value ($answerno, $count, '$a_answer', '$a_name');";
$result = mysqli_query($link,$sql);
if ($result) 
{
	
	$sql = "UPDATE question Set qcount = qcount+1"." WHERE qno = $answerno;";
	$result = mysqli_query($link,$sql);
	echo "บันทึกแล้ว<br><br>";
	echo "<a href=show_detail.php?item=$answerno>กลับไปยังกระทู้</a><br>";
	echo "<a href=show_question.php>หน้าหลัก</a>";
}
else {
  echo "บันทึกไม่สำเร็จ";
}
mysqli_close($link);
?>



form_question.php
<html>
<head>
</head>
<body>
<H2>Web Board</H2><p>
<form name="form1" method="post" action="Insert_Question.php">
    หัวข้อกระทู้ : 
    <input type="text" name="topic"><p>
  	<textarea name="detail" cols="75" rows="10"></textarea>
  <p>
    ชื่อผู้ตั้งกระทู้ :
    <input type="text" name="name"><p>
    <input type="submit" name="Submit" value="ส่งกระทู้">    
    <input type="reset" name="Submit2" value="ยกเลิก">
</form>
</body>
</html>



insert
<?php

	$con= mysqli_connect("localhost","root","","board") 
	or die("Error: " . mysqli_error($con));
 	mysqli_query($con, "SET NAMES 'utf8' ");

	$topic = $_POST['topic'];
	$detail = $_POST['detail'];
	$name = $_POST['name'];

	if(isset($_POST['submit'])){
	}
			
	$sql = "SELECT * FROM question  " ;
	$count = 0;
	$result = mysqli_query($con, $sql);


	while($dbarr= mysqli_fetch_array($result)){
		$count++;
	}

	$itemno= $count + 1;

	$sql = "INSERT INTO question(qno, qtopic, qdetail, qname, qcount) Values($itemno, '$topic', '$detail', '$name', 0)";
	$result = mysqli_query($con, $sql);

	if ($result)
	{
		echo "คุณสร้างกระทู้สำเร็จ<p>";
	}



	echo "<a href=show_question.php>แสดงกระทู้ทั้งหมด</a><br>";
	echo "<a href=form_question.php>กลับสู่หน้ำฟอร์มตั้งกระทู้ใหม</axbz>";
    
	

	
	
?>



show_detail
<?php

	$item = $_GET['item'];
	
	$link = mysqli_connect("localhost", "root", "", "board");

	function renHTML($strTemp)		{
		$strTemp = nl2br(htmlspecialchars($strTemp));
		return $strTemp;
	}
	
	$sql = "SELECT * FROM question Where qno = '$item'";	
	$result = mysqli_query($link,$sql);
	$dbarr = mysqli_fetch_array($result);
?>
คำถาม <b>
<?php
	echo renHTML($dbarr['qtopic']);	
?>
</b><br>
<table width="100%" border="1"  bgcolor="#E0E0E0" bordercolor="black">
<tr><td>
<?php
	echo renHTML($dbarr['qdetail']);	
?><br>
	โดย <b>
<?php echo renHTML($dbarr['qname']);	
?></b>
	</td></tr>
	</table><br>
<?php

	$sql = "SELECT * FROM Answer Where aquestionno=$item;";
	$result = mysqli_query($link,$sql);
	if ($result) 
	{
		while ($dbarr = mysqli_fetch_array($result))	 
		{
?>
คำตอบที่ : <b>
<?php 
	echo $dbarr['ano'];	
?></b><br>
	<table width="100%" border="1">
	<tr><td>
<?php
	echo renHTML($dbarr['adetail']);	
?><br>
โดย <b>
<?php
	echo renHTML($dbarr['aname']);	
?></b>
</td></tr>
</table><br>
<?php
  }
}

echo "<form method=post action=add_answer.php?answerno=".$item.">";
mysqli_close($link);
?>
คำตอบ : <br>

<textarea cols="40" rows="5" name="a_answer"></textarea><br>

ชื่อ : <input type="text" name="a_name" size="30"><br><br>
<input type="submit" value="ส่งคำตอบ">&nbsp;
<input type="reset" value="ยกเลิก">

</form>



show_question
<html>
<body>
<H2>กระทู้</H2>
<hr>
<?php
	$link = mysqli_connect("localhost", "root", "", "board");		
	
	$sql = "SELECT * FROM question Order By qno Desc;";
	$result = mysqli_query($link,$sql);
	while ($dbarr = mysqli_fetch_array($result))	
	{
			echo $dbarr['qno'];
			echo "&nbsp;<a href=show_detail.php?item=$dbarr[qno]>$dbarr[qtopic]</a>&nbsp;";
			echo $dbarr['qname'];		
			echo "&nbsp;[" . $dbarr['qcount'] . "]<br>\n";	
	}
mysqli_close($link);
?>
<hr><a href="form_question.php">ตั้งกระทู้ใหม่</a>
</body></html>




แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-08-05 16:28:38 By : bannana
 

 

No. 3



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



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


ตอบความคิดเห็นที่ : 2 เขียนโดย : bannana เมื่อวันที่ 2020-08-05 16:28:38
รายละเอียดของการตอบ ::
ฟหก

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-08-05 16:29:24 By : bannana
 


 

No. 4



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



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

add_answer บรรทัด 28 ลองเพิ่มคำสั่งนี้

Code (PHP)
printf("Error: %s\n", mysqli_error($link));


แล้วนำ error มาดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-08-05 17:36:42 By : PhrayaDev
 


 

No. 5



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



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


ตอบความคิดเห็นที่ : 4 เขียนโดย : PhrayaDev เมื่อวันที่ 2020-08-05 17:36:42
รายละเอียดของการตอบ ::
Error: Duplicate entry '7' for key 'PRIMARY' ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-08-05 18:06:15 By : bannana
 


 

No. 6



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



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


primary key มันควรเป็น auto number เพื่อป้องกันปัญหานี้ไม่ใช่หรือ?
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-08-06 10:14:21 By : mr.v
 


 

No. 7



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



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

มี 2 ทางเลือก (จริงๆ มีหลายวิธี)
1. (phpMyAdmin) เอา PRIMARY/UNIQUE KEY ออกจากตาราง Answer
2. (phpMyAdmin) ใส่ AUTO INCREMENT ให้กับฟิลด์ที่ตั้งเป็น PRIMARY/UNIQUE KEY ในตาราง Answer และ
add_answer.php line 16 เปลี่ยนคำสั่งคิวรีใหม่โดยไม่ต้อง insert column ที่ถูกตั้งเป็น AUTO INCREMENT สมมติเป็น คอลัมน์แรก เช่น

Code (PHP)
$sql = "INSERT INTO Answer (col2, col3, col4)"." Value ($count, '$a_answer', '$a_name');";




3. (PHP) ถ้ารู้ PRIMARY/UNIQUE KEY อยู่อันไหนก็เช็คตัวแปรที่ insert ในคอลัมน์นั้นไม่ให้ซ้ำกันก่อนค่อยพ่วงในคิวรี
4. (AJAX Test ค่าซ้ำ)

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2020-08-06 13:09:45 By : PhrayaDev
 

   

ค้นหาข้อมูล


   
 

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