2017-06-23 97 views
0

Countriesを選択すると、クエリの結果がアルファベットで表示され、Numbersを選択した場合は、降順の数値に基づいて一覧表示されるようにPHPJavascriptに埋め込む必要があります。PHPをJavascriptに埋め込む

調査したところ、私はthisechoの概念を自分のコードに適用しましたが動作していないようです)その後

$querytest = "select x , COUNT(*) from(select `staffbirthplace` as x from staffbirthdetails where staffemailid IN(SELECT staffemailid FROM staff where orgid='" . $orgId . "' AND deptname='" . $deptName . "' AND teamname='" . $teamName . "')) as temptable group by x order by count(*) ASC "; 

、私はHTMLでドロップダウンを持っている:出産の出力スタッフの国が昇順で(多くの国で生まれたスタッフのいないが)ことを、私は次のクエリは、PHPで書かれている

<form> 
    <label for="sortorder">Sort by:</label> 
    <select id="sortByDropdown" onchange="sortBy(this);"> 
     <option value="alphabatically">Countries</option> 
     <option value="numbers">Number</option> 
    </select> 
</form> 

さらに、私はJavascript機能を持っているsortBy()

function sortBy(){ 
    var sortByDrpdownDiv = document.getElementById('sortByDropdown'); 

if (sortByDrpdownDiv[sortByDrpdownDiv.selectedIndex].value == 'numbers'){ 
    alert("yo in if statement"); 
    <?php $querytest = "select x , COUNT(*) from(select `staffbirthplace` as x from staffbirthdetails where staffemailid IN(SELECT staffemailid FROM staff where orgid='" . $orgId . "' AND deptname='" . $deptName . "' AND teamname='" . $teamName . "')) as temptable group by x order by count(*) DESC "; 
    $result = mysql_query($querytest); 

    while ($row = mysql_fetch_assoc($result)) { 
      echo "<b>"; 
      echo $row['x']; 
      echo ": </b>&nbsp;"; 
      echo $row['COUNT(*)']; 
      echo "<br/>"; 
     }?> 
    document.getElementById('staffbirthplaces').innerHTML = <?php echo $row?>; 
    } 
} 

最初にNumbersに行くのは、同じロジックがCountriesに適用されるためです。どんな助けもありがとう

+2

PHPは、サーバー側のスクリプトでお役に立てば幸いです。 JavaScriptはクライアント側のスクリプトです。 PHPをJavaScriptに埋め込むことはできません。いくつかのJavaScriptコードを印刷するためにPHPを使用しようとしていますか? – ajreal

+0

あなたはajax –

+0

を使用する必要があります私は私の質問のリンクされた答えからそれを集めました。いいえ、私はJavascript関数に何らかの形でクエリの(PHPで書かれた)結果を表示しようとしています – Zane

答えて

0

私はついにそれをしました! IF statementの代わりにswitchを使用してください。以下のコードです:

function sortByAlphabetsOrNumbers(obj){ 

    var selectedValue = obj.options[obj.selectedIndex].value 
switch(selectedValue) 
{ 
    case "numberOfStaff": 
     document.getElementById('sortBy').innerHTML = 
     "<?php 
      include 'connection.php'; 

      $staffNumbersDesc = "select x , COUNT(*) from(select `staffbirthplace` as x from staffbirthdetails where staffemailid IN(SELECT staffemailid FROM staff where orgid='" . $orgId . "' AND deptname='" . $deptName . "' AND teamname='" . $teamName . "')) as temptable group by x order by count(*) DESC"; 
      $result = mysql_query($staffNumbersDesc);    
      while ($row = mysql_fetch_assoc($result)) 
      { 
       echo "<b>"; 
       echo $row['x']; 
       echo ": </b>&nbsp;"; 
       echo $row['COUNT(*)']; 
       echo "<br/>"; 
       } 
     ?>"; 
     document.getElementById('birthCountriesAlphabaticalOrder').style.display = "none"; 
     break; 

    case "countries": 
     document.getElementById('sortBy').innerHTML = 
     "<?php 
      include 'connection.php'; 

      $alphabaticalOrder = "select x , COUNT(*) from(select `staffbirthplace` as x from staffbirthdetails where staffemailid IN(SELECT staffemailid FROM staff where orgid='" . $orgId . "' AND deptname='" . $deptName . "' AND teamname='" . $teamName . "')) as temptable group by x"; 
      $result = mysql_query($alphabaticalOrder);    
      while ($row = mysql_fetch_assoc($result)) 
      { 
       echo "<b>"; 
       echo $row['x']; 
       echo ": </b>&nbsp;"; 
       echo $row['COUNT(*)']; 
       echo "<br/>"; 
       } 
     ?>"; 
     document.getElementById('birthCountriesAlphabaticalOrder').style.display = "none"; 
     break; 
} 
}; 

はそれが誰か

関連する問題