jquery - Run query based on two dropdown and show table PHP -
i have 2 dropdowns, second dropdown getting populated first dropdown condition. now, want take both dropdowns' conditions , apply query , show results in table via html.
this code,
script code:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.17/jquery-ui.min.js"></script> <script type="text/javascript"> $(document).ready(function() { $('.country').on('change', function() { // code add country information in url location.href = location.href.split('?')[0] + ['?country', $(this).val()].join('='); }); }); </script>
php code first dropdown:
<?php $countries = mysqli_query($mysqli,"select source nhws.masterkey group source;"); echo "<select class='country' name='country' style='width:200px'>"; echo "<option size =30 ></option>"; while($row = mysqli_fetch_array($countries)){ echo "<option value='".$row['source']."'>".$row['source']."</option>"; } echo "</select>"; if (isset($_get['country'])) { $country = $_get['country']; echo "<p></p>"; echo "$country selected data set"; echo "<p></p>"; } ?>
php code second dropdown:
<?php if (isset($_get['country'])) { echo "<h5>choose variable</h5>"; $variables = mysqli_query($mysqli,"select variable nhws.num_all_{$country} group variable;"); echo "<select class='variable' name='variable' style=width:200px>"; echo "<option size =30 ></option>"; while($row = mysqli_fetch_array($variables)) { echo "<option value='".$row['variable']."'>".$row['variable']."</option>"; } echo "</select>"; } ?>
now, last php code display results table:
<?php if (isset($_get['variable'])) { $results = mysqli_query($mysqli,"select q1.variable, q1.numvalue, description, num_cases (select variable, numvalue, count(variable) num_cases nhws.num_all_{$country} variable = '{$variable}' group variable, numvalue) q1 inner join (select * nhws.luvalues source = '{$country}' , variable = '{$variable}') t2 on q1.numvalue=t2.numvalue;"); echo "<h5>counts</h5>"; if ($results->num_rows > 0) { echo "<table><tr><th>variable</th><th>numvalue</th><th>description</th><th>num cases</th></tr>"; // output data of each row while($row = $results->fetch_assoc()) { echo "<tr><td>" . $row["variable"]. "</td><td>" . $row["numvalue"]. "</td><td>" . $row["description"]. "</td><td>" . $row["num_cases"]. "</td></tr>"; } echo "</table>"; } else {echo "0 results";} } ?>
once selecting dropdown option nothing happens. query doesn't run. looks doesn't go through if (isset($_get['variable']))
statement.
how can make work?
thanks!
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.17/jquery-ui.min.js"></script> <script type="text/javascript"> $(document).ready(function() { $('.country').on('change', function() { // code add country information in url location.href = location.href.split('?')[0] + ['?country', $(this).val()].join('='); }); $('.variable').on('change', function() { // code add country information in url location.href = location.href.split('?')[0] + ['?variable', $(this).val()].join('='); }); }); </script>
php code first dropdown:
<?php $countries = mysqli_query($mysqli,"select source nhws.masterkey group source;"); echo "<select class='country' name='country' style='width:200px'>"; echo "<option size =30 ></option>"; while($row = mysqli_fetch_array($countries)){ echo "<option value='".$row['source']."''>".$row['source']."</option>"; } echo "</select>"; if (isset($_get['country'])) { $_session['country'] = $_get['country']; echo "<p></p>"; echo $_session['country'].' selected data set'; echo "<p></p>"; } ?>
php code second dropdown:
<?php if (isset($_get['country'])) { echo "<h5>choose variable</h5>"; $variables = mysqli_query($mysqli,"select variable nhws.num_all_{$country} group variable;"); echo "<select class='variable' name='variable' style=width:200px>"; echo "<option size =30 ></option>"; while($row = mysqli_fetch_array($variables)) { echo "<option value='".$row['variable']."'>".$row['variable']."</option>"; } echo "</select>"; } ?>
now, last php code display results table:
<?php if (isset($_get['variable'])) { $_session['variable'] = $_get['variable']; $results = mysqli_query($mysqli,"select q1.variable, q1.numvalue, description, num_cases (select variable, numvalue, count(variable) num_cases nhws.num_all_{$country} variable = '{$variable}' group variable, numvalue) q1 inner join (select * nhws.luvalues source = '{$_session['country']}' , variable = '{$_session['variable']}') t2 on q1.numvalue=t2.numvalue;"); echo "<h5>counts</h5>"; if ($results->num_rows > 0) { echo "<table><tr><th>variable</th><th>numvalue</th><th>description</th><th>num cases</th></tr>"; // output data of each row while($row = $results->fetch_assoc()) { echo "<tr><td>" . $row["variable"]. "</td><td>" . $row["numvalue"]. "</td><td>" . $row["description"]. "</td><td>" . $row["num_cases"]. "</td></tr>"; } echo "</table>"; } else {echo "0 results";} } ?>
fyi...you don't need $(document).ready, on() method still attach put javascript code after selects exist on page.
Comments
Post a Comment