Hãy đăng ký thành viên để có thể dễ dàng trao đổi, giao lưu và chia sẻ về kiến thức đồ họa.
  1. Hãy đăng ký subscribe kênh Youtube mới của Việt Designer tại địa chỉ: Youtube.com/VietDesignerChannel để theo dõi các video về thiết kế đồ họa. Do trước đó kênh cũ bị Youtube quét không rõ lý do, trong thời gian chờ kháng cáo nếu các bạn thấy video trên diễn đàn bị die không xem được thì có thể vào kênh mới để tìm xem video sơ cua nhé.
    Loại bỏ thông báo

Help có lấy được dữ liệu từ dữ liệu được load bằng Ajax

Chủ đề thuộc danh mục 'Hỏi đáp - Thảo luận về web' được đăng bởi virut.exe, 7/6/13.

Lượt xem: 3,611

  1. virut.exe Thành viên cấp 1

    Mình xin nói trước mình là niu bai, mới học nên trong quá trình mô tả có thể sử dụng từ ngữ không đúng cho lắm, tình hình là mình có cơ sở dữ liệu quản lý ca sĩ, mô tả như hình dưới:
    [​IMG]
    Mình làm chức năng thêm bài hát cho Album, thực ra thêm bài hát cho Album thì cũng chính là thêm bài hát cho ca sĩ rồi, vì ca sĩ sở hữu Album đó mà, mình làm theo các thường là lấy thông tin đê thêm bằng phương thức post, sau khi gõ các thông tin vào các textbox thì nhấn nút submit nó sẽ thêm, cái này thì dễ mình làm dk rồi.
    đây là code của nó tên file là thembaihat_c2.php, mình nói tên file luôn vì tí nữa mình sẽ up demo gồm các file php và csdl lên luôn cho các bạn xem cho dễ.
    Code:
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    </head>
    
    <body>
    <?php
    include "config.php";
    echo "<form name='form1' id='form1' method='post' action=''>";
    echo "Ten Ca si: ";
    $sql = "select * from casi";
    $rs = mysql_query($sql,$conn);
    echo "<select name='macasi'>";
    while($r = mysql_fetch_row($rs))
    {
        echo "<option value='$r[0]'>".$r[1]."</option>";
    }
    echo "</select>";
    echo "<br><br>";
    
    $sql = "select * from album";
    $rr = mysql_query($sql,$conn);
    echo "Ten Album: ";
    echo "<select name='maalbum'>";
    while($s = mysql_fetch_row($rr))
    {
        echo "<option value='$s[0]'>".$s[1]."</option>";
    }
    echo "</select>";
    echo "<br><br>";
    
    echo "Ma Bai hat: ";
    echo "<input type='text' name='mabaihat'>";
    echo "<br><br>";
    echo "Ten Bai hat: ";
    echo "<input type='text' name='tenbaihat'>";
    echo "<br><br>";
    echo "The loai: ";
    echo "<input type='text' name='theloai'>";
    echo "<br><br>";
    echo "<input type='submit' name='submit' id='submit' value='Thêm'>";
    echo "</form>";
    
    if(isset($_POST['submit'])&&($_POST['submit'] == 'Thêm'))
    {
        $mab = $_POST['maalbum'];
        $mbh = $_POST['mabaihat'];
        $tbh = $_POST['tenbaihat'];
        $tl = $_POST['theloai'];
        $sql = "insert into baihat values('$mbh','$tbh','$tl','$mab')";
        mysql_query($sql,$conn);
    }
    ?>
    </body>
    </html>
    Nhưng mình nảy sinh ra ý nghĩ mới là dùng ajax, sau khi select chọn casi thì ajax sẽ giúp load album của chính casi đó xuống, chứ không phải chọn select như cách trên, nhưng từ đây phát sinh ra vấn đề là album được load xuống nhờ ajax thì làm sao để lấy được maalbum của cái album đó để cho đủ thông tin mà thêm baihat bây giờ.
    Code:
    $mab = $_POST['maalbum'];//van de la o cho nay, sao lay duoc maalbum trong khi ta load no nho nho ajax
    đây code file thembaihatcho_casi_album_ajax.php đây:

    Code:
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    
    <script type="text/javascript">
    function thembaihatcho_casi_album(str)
    {
        if (str=="")
        {
              document.getElementById("txtHint").innerHTML="";
              return;
          }
        if (window.XMLHttpRequest)
          {// code for IE7+, Firefox, Chrome, Opera, Safari
              xmlhttp=new XMLHttpRequest();
          }
        else
          {// code for IE6, IE5
              xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
         }
        xmlhttp.onreadystatechange=function()
          {
              if (xmlhttp.readyState==4 && xmlhttp.status==200)
            {
                  //alert(xmlhttp.responseText);  
                  document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
            }
          }
        xmlhttp.open("GET","lietkealbum_ajax.php?macasi="+str,true);
        xmlhttp.send(null);
    }
    
    </script>
    </head>
    <body>
    <?php
    include 'config.php';
    $sql="SELECT * FROM casi";
    $result = mysql_query($sql);
    echo "<form id='form1' method='post' action=''>";
    echo "<select name='maalbum' id='maalbum' onChange='thembaihatcho_casi_album(this.value)'>";
    echo "<option value= ''>Lua chon ten ca si:</option>";
    while($row=mysql_fetch_row($result))
    {
        echo "<option value='$row[0]'>"."Ca si ".$row[1] ."</option>";
     
    }
    echo "</select>";
    echo "<br><br>";
    echo "<div id='txtHint'><b>Danh sach album cua ca si</b></div>";
    echo "<br>";
    echo "Ma Bai hat:";
    echo "<input type='text' name='mabaihat' id='mabaihat'>";
    echo "<br><br>";
    echo "Ten Bai hat:";
    echo "<input type='text' name='tenbaihat' id='tenbaihat'>";
    echo "<br><br>";
    echo "The loai:";
    echo "<input type='text' name='theloai' id='theloai'>";
    echo "<br><br>";
    echo "<input type='submit' name='submit' id='submit' value='Thêm'>";
    echo "</form>";
    
    if(isset($_POST['submit'])&&($_POST['submit'] == 'Thêm'))
    {
        $mab = $_POST['maalbum'];//van de la o cho nay, sao lay duoc maalbum trong khi ta load no nho nho ajax
        $mbh = $_POST['mabaihat'];
        $tbh = $_POST['tenbaihat'];
        $tl = $_POST['theloai'];
        $sql = "insert into baihat values('$mbh','$tbh','$tl','$mab')";
        mysql_query($sql,$conn);
    }
    ?>
    <!--<br />
    <div id="txtHint"><b>Danh sach album cua ca si</b></div>-->
    </body>
    </html> 
    Mình demo trên xampp nhá các bạn, đây là toàn bộ bài đây, bạn nào gặp lỗi import vào phpmyadmin không được thì mở file Cơ sở dữ liệu bằng Sql rồi paste nó vô để tạo CSDL bằng phương pháp dòng lệnh, nhớ tên cơ sở dữ liệu là qlcs nha, hoặc có thể thêm dòng create database gì đó ở trong phần sql của xampp.

    http://www.mediafire.com/?oy6klmld2tb7zx8

    Đó mình trình bày như thế bạn nào xem có cách nào lây được được maalbum từ album được load xuống bằng ajax để cho đủ thông tin mà nhấn nút thêm để cho nó thêm bài hát bây giờ. xin các bạn giúp đỡ.

    ...

Ủng hộ diễn đàn