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

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


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

 
Topic : 135443



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



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



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


show_detail
01.<?php
02. 
03.    $item = $_GET['item'];
04.    $link = mysqli_connect("localhost", "root", "", "board");
05. 
06.    function renHTML($strTemp)      {
07.        $strTemp = nl2br(htmlspecialchars($strTemp));
08.        return $strTemp;
09.    }
10.     
11.    $sql = "SELECT * FROM question Where qno = '$item'";   
12.    $result = mysqli_query($link,$sql);
13.    $dbarr = mysqli_fetch_array($result);
14.?>
15.คำถาม <b>
16.<?php
17.    echo renHTML($dbarr['qtopic']);
18.?>
19.</b><br>
20.<table width="100%" border="1"  bgcolor="#E0E0E0" bordercolor="black">
21.<tr><td>
22.<?php
23.    echo renHTML($dbarr['qdetail']);   
24.?><br>
25.    โดย <b>
26.<?php echo renHTML($dbarr['qname']);
27.?></b>
28.    </td></tr>
29.    </table><br>
30.<?php
31. 
32.    $sql = "SELECT * FROM Answer Where aquestionno=$item;";
33.    $result = mysqli_query($link,$sql);
34.    if ($result)
35.    {
36.        while ($dbarr = mysqli_fetch_array($result))    
37.        {
38.?>
39.คำตอบที่ : <b>
40.<?php
41.    echo $dbarr['ano'];
42.?></b><br>
43.    <table width="100%" border="1">
44.    <tr><td>
45.<?php
46.    echo renHTML($dbarr['adetail']);   
47.?><br>
48.โดย <b>
49.<?php
50.    echo renHTML($dbarr['aname']); 
51.?></b>
52.</td></tr>
53.</table><br>
54.<?php
55.  }
56.}
57. 
58.echo "<form method=post action=add_answer.php?answerno=".$item.">";
59.mysqli_close($link);
60.?>
61.คำตอบ : <br>
62. 
63.<textarea cols="40" rows="5" name="a_answer"></textarea><br>
64. 
65.ชื่อ : <input type="text" name="a_name" size="30"><br><br>
66.<input type="submit" value="ส่งคำตอบ">&nbsp;
67.<input type="reset" value="ยกเลิก">
68. 
69.</form>


[head]add_answer.php/head]
01.$link = mysqli_connect("localhost", "root", "", "board");  
02.     
03.     
04.    $answerno =$_GET["answerno"];
05.    $a_answer =$_POST["a_answer"];
06.    $a_name = $_POST["a_name"];
07.     
08.    $sql = "SELECT * FROM Answer Where aquestionno = $answerno;";
09.    $count = 1;
10.    $result = mysqli_query($link,$sql);
11. 
12.    while ($dbarr = mysqli_fetch_array($result))    
13.    {
14.        $count++;      
15.    }
16. 
17.$sql = "INSERT INTO Answer Values ($answerno, $count, '$a_answer', '$a_name');";
18.$result = mysqli_query($link,$sql);
19.if ($result)
20.{
21.     
22.    $sql = "UPDATE question Set qcount = qcount+1 WHERE qno = '$answerno'";
23.    $result = mysqli_query($link,$sql);
24.    echo "บันทึกแล้ว<br><br>";
25.    echo "<a href=show_detail.php?item=$answerno>กลับไปยังกระทู้</a><br>";
26.    echo "<a href=show_question.php>หน้าหลัก</a>";
27.}
28.else {
29.  echo "บันทึกไม่สำเร็จ";
30.}
31.mysqli_close($link);




Tag : PHP

Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2020-08-05 09:18:01 By : bannana View : 742 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
01.<?php
02.    $answerno =$_GET["answerno"];
03.    $a_answer =$_POST["a_answer"];
04.    $a_name = $_POST["a_name"];
05.     
06.    $link = mysqli_connect("localhost", "root", "", "board");  
07.    $sql = "SELECT * FROM Answer Where aquestionno = $answerno;";
08.    $count = 1;
09.    $result = mysqli_query($link,$sql);
10. 
11.    while ($dbarr = mysqli_fetch_array($result))    
12.    {
13.        $count++;      
14.    }
15. 
16.$sql = "INSERT INTO Answer "." Value ($answerno, $count, '$a_answer', '$a_name');";
17.$result = mysqli_query($link,$sql);
18.if ($result)
19.{
20.     
21.    $sql = "UPDATE question Set qcount = qcount+1"." WHERE qno = $answerno;";
22.    $result = mysqli_query($link,$sql);
23.    echo "บันทึกแล้ว<br><br>";
24.    echo "<a href=show_detail.php?item=$answerno>กลับไปยังกระทู้</a><br>";
25.    echo "<a href=show_question.php>หน้าหลัก</a>";
26.}
27.else {
28.  echo "บันทึกไม่สำเร็จ";
29.}
30.mysqli_close($link);
31.?>



form_question.php
01.<html>
02.<head>
03.</head>
04.<body>
05.<H2>Web Board</H2><p>
06.<form name="form1" method="post" action="Insert_Question.php">
07.    หัวข้อกระทู้ :
08.    <input type="text" name="topic"><p>
09.    <textarea name="detail" cols="75" rows="10"></textarea>
10.  <p>
11.    ชื่อผู้ตั้งกระทู้ :
12.    <input type="text" name="name"><p>
13.    <input type="submit" name="Submit" value="ส่งกระทู้">   
14.    <input type="reset" name="Submit2" value="ยกเลิก">
15.</form>
16.</body>
17.</html>


insert
01.<?php
02. 
03.    $con= mysqli_connect("localhost","root","","board")
04.    or die("Error: " . mysqli_error($con));
05.    mysqli_query($con, "SET NAMES 'utf8' ");
06. 
07.    $topic = $_POST['topic'];
08.    $detail = $_POST['detail'];
09.    $name = $_POST['name'];
10. 
11.    if(isset($_POST['submit'])){
12.    }
13.             
14.    $sql = "SELECT * FROM question  " ;
15.    $count = 0;
16.    $result = mysqli_query($con, $sql);
17. 
18. 
19.    while($dbarr= mysqli_fetch_array($result)){
20.        $count++;
21.    }
22. 
23.    $itemno= $count + 1;
24. 
25.    $sql = "INSERT INTO question(qno, qtopic, qdetail, qname, qcount) Values($itemno, '$topic', '$detail', '$name', 0)";
26.    $result = mysqli_query($con, $sql);
27. 
28.    if ($result)
29.    {
30.        echo "คุณสร้างกระทู้สำเร็จ<p>";
31.    }
32. 
33. 
34. 
35.    echo "<a href=show_question.php>แสดงกระทู้ทั้งหมด</a><br>";
36.    echo "<a href=form_question.php>กลับสู่หน้ำฟอร์มตั้งกระทู้ใหม</axbz>";
37.     
38.     
39. 
40.     
41.     
42.?>



show_detail
01.<?php
02. 
03.    $item = $_GET['item'];
04.     
05.    $link = mysqli_connect("localhost", "root", "", "board");
06. 
07.    function renHTML($strTemp)      {
08.        $strTemp = nl2br(htmlspecialchars($strTemp));
09.        return $strTemp;
10.    }
11.     
12.    $sql = "SELECT * FROM question Where qno = '$item'";   
13.    $result = mysqli_query($link,$sql);
14.    $dbarr = mysqli_fetch_array($result);
15.?>
16.คำถาม <b>
17.<?php
18.    echo renHTML($dbarr['qtopic']);
19.?>
20.</b><br>
21.<table width="100%" border="1"  bgcolor="#E0E0E0" bordercolor="black">
22.<tr><td>
23.<?php
24.    echo renHTML($dbarr['qdetail']);   
25.?><br>
26.    โดย <b>
27.<?php echo renHTML($dbarr['qname']);
28.?></b>
29.    </td></tr>
30.    </table><br>
31.<?php
32. 
33.    $sql = "SELECT * FROM Answer Where aquestionno=$item;";
34.    $result = mysqli_query($link,$sql);
35.    if ($result)
36.    {
37.        while ($dbarr = mysqli_fetch_array($result))    
38.        {
39.?>
40.คำตอบที่ : <b>
41.<?php
42.    echo $dbarr['ano'];
43.?></b><br>
44.    <table width="100%" border="1">
45.    <tr><td>
46.<?php
47.    echo renHTML($dbarr['adetail']);   
48.?><br>
49.โดย <b>
50.<?php
51.    echo renHTML($dbarr['aname']); 
52.?></b>
53.</td></tr>
54.</table><br>
55.<?php
56.  }
57.}
58. 
59.echo "<form method=post action=add_answer.php?answerno=".$item.">";
60.mysqli_close($link);
61.?>
62.คำตอบ : <br>
63. 
64.<textarea cols="40" rows="5" name="a_answer"></textarea><br>
65. 
66.ชื่อ : <input type="text" name="a_name" size="30"><br><br>
67.<input type="submit" value="ส่งคำตอบ">&nbsp;
68.<input type="reset" value="ยกเลิก">
69. 
70.</form>



show_question
01.<html>
02.<body>
03.<H2>กระทู้</H2>
04.<hr>
05.<?php
06.    $link = mysqli_connect("localhost", "root", "", "board");      
07.     
08.    $sql = "SELECT * FROM question Order By qno Desc;";
09.    $result = mysqli_query($link,$sql);
10.    while ($dbarr = mysqli_fetch_array($result))   
11.    {
12.            echo $dbarr['qno'];
13.            echo "&nbsp;<a href=show_detail.php?item=$dbarr[qno]>$dbarr[qtopic]</a>&nbsp;";
14.            echo $dbarr['qname'];      
15.            echo "&nbsp;[" . $dbarr['qcount'] . "]<br>\n";   
16.    }
17.mysqli_close($link);
18.?>
19.<hr><a href="form_question.php">ตั้งกระทู้ใหม่</a>
20.</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)
1.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,765 )
บทความ ( 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)
1.$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 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)





ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่