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 > ติดปัญหาเรื่องนี้มานาน อยากขอคำแนะนำจากพี่ ๆ ครับ มี code+ภาพประกอบครับ



 

ติดปัญหาเรื่องนี้มานาน อยากขอคำแนะนำจากพี่ ๆ ครับ มี code+ภาพประกอบครับ

 



Topic : 117152



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



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




ภาพที่ 1

ผมได้ทำการสร้างฟอร์มที่ใช้ในการ กรอกรหัสสินค้าขึ้นมาครับ ผมสามารถพิมพ์รหัสสินค้าลงในช่อง txtKeyword และกดปุ่ม submit จากนั้นรายการสินค้าจะลงมาแสดงในตารางด้านล่างครับ ( ผมใช้ jquery ในการสั่งให้เพิ่มรายการสินค้าที่ละบรรทัด เมื่อกดปุ่ม submit ) ดังภาพ

ภาพที่ 2


แต่ประเด็นมันอยู่ตรงนี้ครับ
1. เมื่อผม พิมพ์รหัสสินค้าลงไปใน txtKeyword แล้วกดปุ่ม Submit ผมอยากให้มันไปค้นหาค่าใน database ก่อนที่จะเพิ่มลงในตารางด้านล่างครับ (ผมเข้าใจว่า การ submit มันคล้ายๆ การกด Refresh เนื่องจากข้อมูลที่มาอยู่ในตารางนั้น ยังไม่ได้ทำการ insert ลง database หากทำการ refresh ข้อมูลในตารางจะหายไปหมดเลยใช่ไหมครับ ซึ่งผมต้องการให้มันลงต่อมาเรื่อย ๆ แล้วค่อย insert ลงฐานข้อมูลทีเดียว)

2. เมื่อเราพักข้อมูลไว้ในตาราง เราสามารถ insert เข้าไปใน database ในครั้งเดียวเลยได้เลยใช่ไหมครับ (ผมไม่อยาก insert ทุกครั้งที่กรอก เพราะผมกลัวว่า server จะทำงานหนักเกินไปเนื่องจากการเรียกใช้งานบ่อย ๆ )

code ที่ผมใช้ ณ ตอนนี้ครับ (ยังไม่สามารถค้นหาจากฐานข้อมูลได้)

ส่วนของ jquery ครับ
Code (JavaScript)
       <script type="text/javascript" src="js/jquery.min.js"></script>
        <script type="text/javascript">
            
$(document).ready(function () {
  $("#createRows").click(function(){
        return Add();
        });
    });

 function Add(){
 var customerid = $("#txtKeyword").val();
	var name = "val";
        var email = "val";
	var countrycode = "val";
        var del ="<input type='button' class='btn btn-default' value='delete'  onclick='javascript:doRemoveItem(this);'>";
        var tr = "<tr>";
            tr = tr + "<td>" + customerid + "</td>";
            tr = tr + "<td>" + name + "</td>";
            tr = tr + "<td>" + email + "</td>";
            tr = tr + "<td>" + countrycode + "</td>";
            tr = tr + "<td>" + del + "</td>";
            tr = tr + "</tr>";
            $('#myTable > tbody:last').append(tr);
            document.getElementById("txtKeyword").value= "";
           // $('#txtKeyword').focus();
 }
 
 function check_enter(e){//กำหนดให้  function check_enter ทำงานเมื่อ มีการกด keyboard
  if (e.keyCode === 13) { //ถ้า e.keyCode เป็น 13 แสดงว่า user กด enter

        //var customerid = "val";
        //var customerid = <?php //echo $name; ?>;
        return Add();
         }
 }
function doRemoveItem(obj){
	if($('#myTable tbody tr').size() > 0){
            $(obj).parent().parent().remove();
	}else{
            alert('ไม่อนุญาตให้ลบแถวที่เหลือนี้ได้');
	}
}
</script>


อันนี้ส่วนของหน้า form ครับ

Code (PHP)
<div class="form-group">
        <input id="txtKeyword" name="txtKeyword" class="form-control" onkeypress="return check_enter(event)"  />
        <input style="width: 0px; border-color:transparent" > // เอาออกไม่ได้ครับ เมื่อเอาออก พอกดปุ่ม หน้าจอจะ refresh ครับ
        </div> <input type="button" id="createRows" name="createRows" class="btn btn-default" value="Submit">
        </form>


ส่วนของการ ติดต่อฐานข้อมูลครับ ผมไม่รู้จะทำยังไง เมื่อ click ที่ปุ่มแล้วให้มัน เรียกใช้งานค้นหาข้อมูล เพื่อเก็บค่าตัวแปร ไว้ให้ jquery เรียกใช้ต่อ
Code (PHP)
<?php
         // if($_GET["txtKeyword"] != ""){
        include("Conn.php");  
        //if($_GET["txtKeyword"] != ""){
        $sql="Select * From user where name='thepthai' limit 1";
        $result=mysql_query($sql);
        $num=mysql_num_rows($result);
        if($num>0){
            $count=1;
        while($recordset=mysql_fetch_assoc($result)){   
            $id =  $recordset['id'];
            $name = $recordset['name'];
            $surname = $recordset['surname'];
            $status = $recordset['status'];
            echo $id;
        }}
        ?>


ทั้งหมดนี้ ผมได้ลองผิดลองถูกมาแล้วครับ แต่เนื่องด้วยความมือใหม่ ทำให้ยังขาดประสบการณ์ จึงอยากขอคำแนะนำจากพวกพี่ ๆ ในบอร์ดครับ หากมีแนวทางที่ดีกว่าที่ผมทำอยู่ รบกวนพี่ ๆ ชี้แนะผมด้วยนะครับ ขอบคุณครับ _/|\_



Tag : PHP, MySQL, HTML/CSS, Ajax, jQuery







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-06-14 18:10:58 By : thepthaijainom View : 918 Reply : 3
 

 

No. 1



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



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


.ajax คือคำตอบครับลองศึกษาเรื่องนี้ดูครับ

https://www.thaicreate.com/jquery/jquery-ajax-jquery-ajax.html






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-06-14 19:18:02 By : zinlucifer
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : zinlucifer เมื่อวันที่ 2015-06-14 19:18:02
รายละเอียดของการตอบ ::
ตอนนี้ผมสามารถ ดึงค่าจากฐานข้อมูลได้ละครับ ขอบพระคุณมากนะครับพี่ :D

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-06-14 22:13:11 By : thepthaijainom
 

 

No. 3



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



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


ขออนุญาติฝาก Code ที่ทำได้ไว้นะครับ เพื่อมีคนอื่น หรือ เพื่อน ๆ ที่กำลังเริ่มศึกษา

ในกรณีนี้ผมได้ สร้างหน้า FORM และหน้า PHP ไว้ครับ

FORM ใช้กรอกรหัสสินค้า และส่งค่าแบบ POST ไปยังหน้า PHP
PHP ใช้ตรวจสอบค่าที่ได้รับมาจาก FORM ค้นหาจากฐานข้อมูล แล้วส่งกลับไปยังหน้า FORM เพื่อแสดงผลครับ

หลักการครับ

1.หน้า FORM ก็สร้าง textbox ไว้ 1 อัน กำหนด id ให้ด้วยนะครับ เพราะต้องใช้อ้างอิงตอนเขียน ajax และสร้างปุ่ม button ไว้ 1 ปุ่ม กำหนด id ให้เรียบร้อย เพื่อใช้คลิกส่งค่าครับ

Code (PHP)
<input type="text" id="txtKeyword" class="form-control" /> // id คือ txtKeyword ครับ
<input type="button" id="createRows" class="btn btn-default" value="Submit"> //id คือ createRows ครับ



2. จากนั้นเมื่อ เราคลิ๊กปุ่ม button id="createRows" มันส่งค่าแบบ POST จาก txtKeyword ไปยังหน้า PHP โดยใช้ Ajax

Code (JavaScript)
$(document).ready(function(){
    $("#createRows").click(function(){  //เมื่อกดปุ่ม button
        $.post("n2.php", {    //ส่งค่าแบบบ post ไปหน้า n2.php
            data1: $("#txtKeyword").val()    // ส่งค่าชื่อว่า data1 ไป โดยใช้ข้อมูลจาก txtKeyword นั่นเอง
        }, 
            function(result){  //ส่งค่าคืนกลับมาแล้ว ด้วย result
                $('tbody:last').append(result);   //จากนั้น ก็เอาค่าที่ได้ ไปใส่ตรงไหน ก็แล้วแต่ต้องการครับ
            }
        );
    });
});


3. ในส่วนของหน้า n2.php ผมก็ เอาค่าที่ส่งมาจาก หน้า FORM มาใช้ค้นหาจากฐานข้อมูล แล้วส่งกลับไปแสดงผลในหน้า FORM ครับ
Code (PHP)
<?php

 include("Conn.php");  
    $sql="Select * From user where name='".$_POST['data1']."' limit 1"; // นี่ครับ ผมเอาค่ามันมาค้นหา $_POST['data1'] อิอิ
    $result=mysql_query($sql);
    $num=mysql_num_rows($result);
    if($num>0){
    $count=1;
    while($recordset=mysql_fetch_assoc($result)){   
        $id =  $recordset['id'];
        $name = $recordset['name'];
        $surname = $recordset['surname'];
        $status = $recordset['status'];
        }
    mysql_close();
        }
echo "<tr>   // จากบรรทัดนี้ถึงสุดท้าย เป็นการแสดงผลล้วนๆ ครับ
<td>".$id."</td>
<td>".$name."</td>
<td>".$surname."</td>
<td>".$status."</td>
</td>";
?>


สุดท้ายนี้หวังว่า ข้อมูลนี้จะเป็นประโยชน์กับเพื่อน ๆ ไม่มากก็น้อยนะครับ

**** และต้องขอขอบพระคุณพี่ zinlucifer ด้วยนะครับ นี่แนะนำแนวทางให้กับผม กราบขอบพระคุณมากครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-06-14 23:21:21 By : thepthaijainom
 

   

ค้นหาข้อมูล


   
 

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