2016-09-14 5 views
1

私は新しいyii develeperです。 私のデータベースをリストし、すべての要素の横にボタンを置いて、クリエットボタンをクリックすると、コンピュータはすべての詳細を表示します。 は、ここに私のビューファイルです:yii2のJavascriptが応答していません

<h1> پایگاه داده ما </h1> 
<script> 
    function showUser(Id) { 
     var xmlhttp; 
     if (Id == 0) { 
      document.getElementById("showmore").innerHTML = "Test"; 
      return; 
     } 
     if (window.XMLHttpRequest) 
     { 
      // IE7+, Firefox, Chrome, Opera, Safari کد لازم براي مرورگر هاي جديد 
      document.getElementById("showmore").innerHTML = "Test2"; 
      xmlhttp = new XMLHttpRequest(); 

     } 
     else 
     { 
      // IE6, IE5   کد براي مرورگرهاي قديمي 
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
     } 

     xmlhttp.onreadystatechange = function () 
     { 
      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) 
      { 

       document.getElementById("showmore").innerHTML = xmlhttp.responseText; 
      } 
     } 

     xmlhttp.open("GET", "localhost/datils.php?q=" + Id, true); 
     xmlhttp.send (); 
    } 
</script> 
<style> 
    span 
    { 
     color: white; 
    } 

</style> 
<?php 
use yii\widgets\LinkPager; 
echo '<br>'; 
foreach($show as $k =>$v) 
{ 

$Id= $v['id']; 
//$Id=0; 
    echo $Id."."; 
    echo $v ['countryName']; 
    echo '<ul>'; 

    echo '<li> پایتخت :'; 
    echo $v ['capital']; 
    echo '</li>'; 

    echo '<li>'.'جمعیت :'; 
    echo '<span >i</span>'.(string)$v['population']; 

    echo '</li>'; 

    echo '</ul>'; 
    echo "<button value=$Id , onclick=showUser(this.value)>More</button>"; 
    echo "<div id=showmore> </div>" ; 
    echo '<hr>'; 
} 
echo LinkPager::widget([ 
    'pagination'=>$page 
]); 
?> 

そして、ここに私のdatils.phpファイルです:

<?php 


    $q=$_GET["q"];  


    // این دستور مقدار پارامتر ارسالی از دستور ای جکس را دریافت می کند 

    $con = mysqli_connect("localhost", "root" , '' ,'mydatabase1');    // ایج اد ارتباط با پایگاه داده مورد نظر 



    if ($con->connect_error) 
    { 
     die("Connection failed: " . $con->connect_error); 
    } 


    $sql="SELECT * FROM countries WHERE id = '".$q."'";    // q دریافت اطلاعات از جدول مورد نظر بر مبنای پارامتر 


    $result = mysqli_query($con,$sql);   //   result  ریختن نتیجه عملیات انتخاب اطلاعات از پایگاه داده در متغیر 


    echo "<table border='1'> 
     <tr> 
       <th>countryName</th> 
       <th>currencyCode</th> 
       <th>population</th> 
     </tr>"; 

    while($row = mysqli_fetch_array($result))   // ساخت جدول در خروجی با نتیجه دریافتی از پایگاه داده 
      { 
        echo "<tr>"; 
         echo "<td>" . $row['countryName'] . "</td>"; 
         echo "<td>" . $row['currencyCode'] . "</td>"; 
         echo "<td>" . $row['population'] . "</td>"; 
        echo "</tr>"; 
      } 
     echo "</table>"; 

     mysqli_close($con); /* //  قطع ارتباط با پایگاه داده*/ 
?> 

私の問題は、これが機能していないです!ライン

document.getElementById("showmore").innerHTML = "Test2"; 

は正常に動作し、それが私の機能が働いていることを意味、それは応答しません。

nse詳細.php。 私を案内してください!

答えて

0

ほとんどの修正は、ビューファイルにする必要があります。

代わりの

echo "<button value=$Id , onclick=showUser(this.value)>More</button>"; 

使用

echo "<button value='$Id' onclick='javascript:showUser(this.value)'>More</button>"; 

代わりの

xmlhttp.send (); 

​​
関連する問題