I need to embed PHP
into Javascript
so that when the user selects Countries
it would display the result from the query alphabatically and if he selects Numbers
then list based on numbers in descending.
Having researched, I have applied this (echo
concept into my code) but doesn't seem to work.
I have the following query written in PHP that output staffs' country of birth( no of staff born in number of countries) in ascending order:
$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 ";
Then, I have a dropdown in HTML
:
<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>
Furthermore, I have a Javascript
function 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> ";
echo $row['COUNT( * )'];
echo "<br/>";
}?>
document.getElementById('staffbirthplaces').innerHTML = <?php echo $row?>;
}
}
First I am going only for Numbers
because the same logic will apply to the Countries
. Any help will be appreciated