Retrieve Data From Sql Database And Display In Tables - Display Certain Data According To Checkboxes Checked
I have created an sql database(with phpmyadmin) filled with measurements from which I want to call data between two dates( the user selects the DATE by entering in the HTML forms t
Solution 1:
Try to create your checkbox like below:
Solar_Time_Decimal<checkboxname='columns[]'value='1'>
GHI<checkboxname='columns[]'value='2'>
DiffuseHI<checkboxname='columns[]'value='3'>
Zenith_Angle<checkboxname='columns[]'value='4'>
DNI<checkboxname='columns[]'value='5'>And try to hange your PHP code to this:
<?php//HTML forms -> variables$fromdate = isset($_POST['fyear']) ? $_POST['fyear'] : data("d/m/Y");
$todate = isset($_POST['toyear']) ? $_POST['toyear'] : data("d/m/Y");
$all = false;
$column_names = array('1' => 'Solar_Time_Decimal', '2'=>'GHI', '3'=>'DiffuseHI', '4'=>'Zenith_Angle','5'=>'DNI');
$column_entries = isset($_POST['columns']) ? $_POST['columns'] : array();
$sql_columns = array();
foreach($column_entriesas$i) {
if(array_key_exists($i, $column_names)) {
$sql_columns[] = $column_names[$i];
}
}
if (empty($sql_columns)) {
$all = true;
$sql_columns[] = "*";
} else {
$sql_columns[] = "DATE,Local_Time_Decimal";
}
//DNI CHECKBOX + ALL$tmp ="SELECT ".implode(",", $sql_columns)." FROM $database_Database_Test.$table_name where DATE>=\"$fromdate\" AND DATE<=\"$todate\"";
$result = mysql_query($tmp);
echo"<table border='1' style='width:300px'>
<tr>
<th>DATE</th>
<th>Local_Time_Decimal</th>";
foreach($column_namesas$k => $v) {
if($all || (is_array($column_entries) && in_array($k, $column_entries)))
echo"<th>$v</th>";
}
echo"</tr>";
while( $row = mysql_fetch_assoc($result))
{
echo"<tr>";
echo"<td>" . $row['DATE'] . "</td>";
echo"<td>" . $row['Local_Time_Decimal'] . "</td>";
foreach($column_namesas$k => $v) {
if($all || (is_array($column_entries) && in_array($k, $column_entries))) {
echo"<th>".$row[$v]."</th>";
}
}
echo"</tr>";
}
echo'</table>';
if($result){
echo"Successful";
}
else{
echo"Enter correct dates";
}
?><?php
mysql_close();?>This solution consider your particular table columns but if your wish a generic solution you can try to use this SQL too:
$sql_names = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = '$database_Database_Test' AND TABLE_NAME = '$table_name'";
and use the result to construct the $column_names array.
Post a Comment for "Retrieve Data From Sql Database And Display In Tables - Display Certain Data According To Checkboxes Checked"