Q อยากทราบวิธีการบันทึกข้อมูลลงฐานข้อมูล ตามแถบเมนูฟอร์มที่กรอก

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
birdkritsna
PHP Super Member
PHP Super Member
โพสต์: 234
ลงทะเบียนเมื่อ: 16/09/2019 9:57 am

Q อยากทราบวิธีการบันทึกข้อมูลลงฐานข้อมูล ตามแถบเมนูฟอร์มที่กรอก

โพสต์ที่ยังไม่ได้อ่าน โดย birdkritsna »

คือผมมีแถบเมนูฟอร์ม อยู่ 3 อัน ซึ่งแต่ละอัน จะมีการบันทึกให้ลงฐานข้อมูล ซึ่งปัญหาคือ บันทึกได้แค่ฟอร์มเดียว จะทำอย่างไรให้ form แต่ละอัน สามารถบันทึกเข้าฐานข้อมูลได้ โดยให้มีปุ่ม submit แค่ปุ่มเดียว

1.jpg
1.jpg (27.95 KiB) Viewed 1601 times
อันนี้โค๊ด insert ลงฐาน ของ แถบตัวเมนูฟอร์มตัวแรก

โค้ด: เลือกทั้งหมด

<?php
                                                require_once 'connect.php';
                                                $sql = "INSERT INTO $table_con (name, use_date, ip)"
                                                . "VALUES ('$name' , '$date', '$ip')";
                                                mysqli_query($con, $sql) or die('Save Error');
                                                $last_id = mysqli_insert_id($con);
                                              }
                                              }
                                               ?>
อยากทราบว่า จะสามารถกำหนดแต่ละฟอร์มให้บันทึกลงฐานข้อมูล ได้ไหมครับ (แต่ละฟอร์ม บันทึกลงฐานคนละตาราง)


โค๊ดของแถบ html และ image ผมทำฟอร์มและปุ่ม submit แยกกันแต่ละฟอร์มอยู่

โค้ด: เลือกทั้งหมด

<form class="form-horizontal" name="frm" method="post" id="form1" action="">
                        <br>
                        <div class="col-md-12">
                                    <div class="form-group">
                                        <label for="inputname" class="col-sm-2 control-label"><?php echo $lang_name; ?> : </label>
                                        <div class="col-sm-10">
                                        <input required name="name" type="text" class="form-control"  placeholder="<?php echo $lang_pleaseyourname ?>"  value="">
                                        </div>
                                    </div>
                            <br>
                            <ul class="nav nav-tabs" role="tablist">
                                <li role="presentation" class="active"><a href="#html" aria-controls="html" role="tab" data-toggle="tab"><?php echo $lang_htmllist; ?></a></li>
                                <li role="presentation"><a href="#image" aria-controls="image" role="tab" data-toggle="tab"><?php echo $lang_imagelist; ?></a></li>
                                <li role="presentation"><a href="#form" aria-controls="form" role="tab" data-toggle="tab"><?php echo $lang_formlist; ?></a></li>
                            </ul>
                            <!--------------แถบเมนู code html------------------>
                            <div class="tab-content">
                                <div role="tabpanel" class="tab-pane active" id="html"><br>
                                  <div class="col-md-12">
                                        <div class="form-group">
                                            <label for="inputarea-value" class="col-sm-2 control-label"><?php echo $lang_html; ?> :</label>
                                            <div class="col-sm-10">
                                        <div >
                                            <textarea name="html2" id="html2" ></textarea>
                                            <script>
                                                CKEDITOR.replace('html2');
                                                function CKupdate() {
                                                    for (instance in CKEDITOR.instances)
                                                        CKEDITOR.instances[instance].updateElement();
                                                }
                                            </script>
                                          </div>
                                        </div>
                                            <div class="col-md-12">
                                              <div align="center" class="g-recaptcha" required data-sitekey="<?php echo $keyrecaptcha; ?>"></div><br>
                                            </div><br>
                                              <div  class="col-md-12">
                                                <center>
                                                      <input class=" btn btn-success" type="submit" name="submit" id="submit1" value="<?php echo $lang_converter; ?>" /> &nbsp;
                                                      <input type="reset" name="reset" class="btn btn-warning" onclick="window.location = 'index2.php?lang=<?php echo $lang; ?>';">
                                                  </center>
                                              </div>    
                                        </div>
                                    </div> 
                                </div>
                    </form>
                <!--------------แถบเมนู image------------------>
                             <div role="tabpanel" class="tab-pane" id="image"><br>
                                <form class="form-horizontal" name="frm" method="post" id="form2" action="">
                               <div class="col-md-12">
                                    <div class="form-group">
                                        <label for="inputarea-value" class="col-sm-2 control-label"><?php echo $lang_image; ?> :</label>
                                        <div class="col-sm-10">
                                            <input type="file" name="picture" id="picture"><br/>  
                                        </div>
                                    </div>
                              <div class="col-md-12">
                                <div align="center" class="g-recaptcha" required data-sitekey="<?php echo $keyrecaptcha; ?>"></div><br>
                             </div><br>
                                <div  class="col-md-12">
                                  <center>
                                        <input class=" btn btn-success" type="submit" name="submit2" id="submit2" value="<?php echo $lang_converter; ?>" /> &nbsp;
                                        <input type="reset" name="reset" class="btn btn-warning" onclick="window.location = 'index2.php?lang=<?php echo $lang; ?>';">
                                    </center>
                                </div> 
                               </div>
                                </form>
                              </div>
แก้ไขล่าสุดโดย birdkritsna เมื่อ 02/10/2019 8:09 pm, แก้ไขไปแล้ว 2 ครั้ง.
ภาพประจำตัวสมาชิก
tsukasaz
PHP VIP Members
PHP VIP Members
โพสต์: 21910
ลงทะเบียนเมื่อ: 18/04/2012 9:39 am

Re: Q อยากทราบวิธีการบันทึกข้อมูลลงฐานข้อมูล ตามแถบเมนูฟอร์มที่กรอก

โพสต์ที่ยังไม่ได้อ่าน โดย tsukasaz »

ส่วนที่ insert ข้อมูลที่แปะมา มันใช้สำหรับตารางเดียวหรือเปล่า ถ้าจะ insert 3 ตาราง ที่แต่ละตารางโครงสร้างไม่เหมือนกัน

ก็น่าจะต้องมี insert 3 ชุด โดยอาจจะตั้ง if มาสำหรับเช็คว่า ข้อมูลที่ submit มา ต้อง insert เข้าตารางไหน
The last bug isn't fixed until the last user is dead. (Sidney Markowitz, 1995)
ภาพประจำตัวสมาชิก
birdkritsna
PHP Super Member
PHP Super Member
โพสต์: 234
ลงทะเบียนเมื่อ: 16/09/2019 9:57 am

Re: Q อยากทราบวิธีการบันทึกข้อมูลลงฐานข้อมูล ตามแถบเมนูฟอร์มที่กรอก

โพสต์ที่ยังไม่ได้อ่าน โดย birdkritsna »

tsukasaz เขียน:ส่วนที่ insert ข้อมูลที่แปะมา มันใช้สำหรับตารางเดียวหรือเปล่า ถ้าจะ insert 3 ตาราง ที่แต่ละตารางโครงสร้างไม่เหมือนกัน

ก็น่าจะต้องมี insert 3 ชุด โดยอาจจะตั้ง if มาสำหรับเช็คว่า ข้อมูลที่ submit มา ต้อง insert เข้าตารางไหน
ครับผม แล้วถ้าจะกำหนดเงื่อนไข เพื่อเช็คข้อมูลที่ submit มา ต้องกำหนด id ที่ตัวแปรไหนครับ พอดีผมไม่ได้กำหนด form action ไว้
ภาพประจำตัวสมาชิก
birdkritsna
PHP Super Member
PHP Super Member
โพสต์: 234
ลงทะเบียนเมื่อ: 16/09/2019 9:57 am

Re: Q อยากทราบวิธีการบันทึกข้อมูลลงฐานข้อมูล ตามแถบเมนูฟอร์มที่กรอก

โพสต์ที่ยังไม่ได้อ่าน โดย birdkritsna »

birdkritsna เขียน:
tsukasaz เขียน:ส่วนที่ insert ข้อมูลที่แปะมา มันใช้สำหรับตารางเดียวหรือเปล่า ถ้าจะ insert 3 ตาราง ที่แต่ละตารางโครงสร้างไม่เหมือนกัน

ก็น่าจะต้องมี insert 3 ชุด โดยอาจจะตั้ง if มาสำหรับเช็คว่า ข้อมูลที่ submit มา ต้อง insert เข้าตารางไหน
ครับผม แล้วถ้าจะกำหนดเงื่อนไข เพื่อเช็คข้อมูลที่ submit มา ต้องกำหนด id ที่ตัวแปรไหนครับ พอดีผมไม่ได้กำหนด form action ไว้
ตอนนี้ผมลอง กำหนด id ทั้ง 3 ฟอร์มไว้แล้ว เลยกำหนดเงื่อนไขตอน insert แต่เวลา กด submit insert ยังได้แค่ตารางแรกอยู่

โค้ด: เลือกทั้งหมด

 if (isset($_POST['submit']) && $response['success'] == true) {
                                $submit1 = @$_POST['submit1'];
                                $html2 = $_POST['html2'];
                                $name = $_POST['name'];
                                
                                file_put_contents('./file/'. $name. ".html", $html2);
                                   
                                date_default_timezone_set("Asia/Bangkok");
                                $datetime = time();
                                $date = date("Y-m-d  H:i:s", time());
                                $ip = $_SERVER["REMOTE_ADDR"];
                                ?>
                              
                            <br>
                            <br>
                                <div align="center">
                                    <h3><?php echo $lang_userinformation;?></h3>
                                    <table class="table">                
                                        <tbody>
                                    <!--  ชื่อ ผู้ใช้้งาน   -->
                                            <tr class="active">
                                                <td align="right" width="50%">
                                                    <?php echo "ชื่อ : "; ?>
                                                </td>
                                                <td>
                                                <?php echo $name ?>
                                                </td>   
                                            </tr>
                                              <tr class="active">
                                            <td align="right" width="50%">
                                                <?php echo $lang_recordtime . " :" ?>
                                            </td>
                                            <td>
                                                <?php echo date("m-d-Y  H:i:s", time()); ?>
                                            </td>
                                        </tr>
                                        <tr class="warning">
                                            <td align="right" width="50%">
                                                <?php echo $lang_ipaddress . "  : "; ?>
                                            </td>
                                            <td>
                                                <?php echo $ip; ?>
                                            </td>
                                        </tr>
                                    </tbody>
                                </table>
                                                <?php
                                                require_once 'connect.php';
                                                $sql = "INSERT INTO $table_con (name, filename,use_date, ip)"
                                                . "VALUES ('$name'  ,'$html2', '$date', '$ip')";
                                                mysqli_query($con, $sql) or die('Save Error');
                                                $last_id = mysqli_insert_id($con);
                                              }
                                              
                                    else if (isset($_POST['submit2']) && $response['success'] == true) {
                                    $submit2 = @$_POST['submit2'];
                                    $name = $_POST['name'];
                                    $datetime = time();
                                    $date = date("Y-m-d  H:i:s", time());
                                    $ip = $_SERVER["REMOTE_ADDR"];
                                    $picture = (isset($_POST['picture']) ? $_POST['picture'] : '');
                                    $numrand = (mt_rand());
                                    $upload=$_FILES['picture'];

                                            if($upload <> '') { 

                                            //โฟลเดอร์ที่เก็บไฟล์
                                            $path="./images/";
                                            //ตัวขื่อกับนามสกุลภาพออกจากกัน
                                            $type = strrchr($_FILES['picture']['names'],".");
                                            //ตั้งชื่อไฟล์ใหม่เป็น สุ่มตัวเลข+วันที่
                                            $newname ='picture1'.$numrand.$date;

                                            $path_copy=$path.$newname;
                                            $path_link="./images/".$newname;
                                            //คัดลอกไฟล์ไปยังโฟลเดอร์
                                            move_uploaded_file($_FILES['picture']['tmp_name'],$path_copy);  

                                            }
                                  
ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

Re: Q อยากทราบวิธีการบันทึกข้อมูลลงฐานข้อมูล ตามแถบเมนูฟอร์มที่กรอก

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

ส่วนนี้ทำได้หรือยัง ยังติดปัญหายุมั้ย
ภาพประจำตัวสมาชิก
birdkritsna
PHP Super Member
PHP Super Member
โพสต์: 234
ลงทะเบียนเมื่อ: 16/09/2019 9:57 am

Re: Q อยากทราบวิธีการบันทึกข้อมูลลงฐานข้อมูล ตามแถบเมนูฟอร์มที่กรอก

โพสต์ที่ยังไม่ได้อ่าน โดย birdkritsna »

thatsawan เขียน:ส่วนนี้ทำได้หรือยัง ยังติดปัญหายุมั้ย
ผมลืมไปว่าปัญหาคล้ายๆกัน ครับ
viewtopic.php?f=6&t=60987&p=166836#p166836
ตอบกลับโพส

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: Google Adsense [Bot] และบุคลทั่วไป 53