Php 基于选定字段生成报告

Php 基于选定字段生成报告,php,javascript,html,mysql,sql,Php,Javascript,Html,Mysql,Sql,我目前所做的是使用AJAX在一个div中显示搜索记录的所有列,id为searchresults,然后提供一个打印选项来打印这些记录。现在,我希望能够选择一组列(为此,我为所有列提供了一个复选框),并仅打印所选列。我可以在php文件中获取所选列,但是如何从这些所选列值中构建查询呢。我的意思是可能有很多不同的组合。编码到现在 <?php echo ' <table border="1">

我目前所做的是使用AJAX在一个div中显示搜索记录的所有列,id为searchresults,然后提供一个打印选项来打印这些记录。现在,我希望能够选择一组列(为此,我为所有列提供了一个复选框),并仅打印所选列。我可以在php文件中获取所选列,但是如何从这些所选列值中构建查询呢。我的意思是可能有很多不同的组合。编码到现在

                <?php




                 echo ' <table border="1">
                        <tr>
                        <td class="lab searchtableheader" style="color:#cd0000; padding:5px;"><input type="checkbox" name="print" value="facultyname" /><br>FACULTY</td>
                        <td class="lab searchtableheader" style="color:#de0000; padding:5px;"><input type="checkbox" name="print" value="departmentname" /><br>DEPT.</td>
                        <td class="lab searchtableheader" style="color:#ef0000; padding:5px;"><input type="checkbox" name="print" value="coursename" /><br>COURSE</td>
                        <td class="lab searchtableheader" style="color:#ff0000; padding:5px;"><input type="checkbox" name="print" value="year" /><br>YEAR </td>
                        <td class="lab searchtableheader" style="color:#f50853; padding:5px;"><input type="checkbox" name="print" value="semester" /><br>SEM. </td>
                        <td class="lab searchtableheader" style="color:#f5087e; padding:5px;"><input type="checkbox" name="print" value="studentname" /><br>NAME  </td>
                        <td class="lab searchtableheader" style="color:#f508dd; padding:5px;"><input type="checkbox" name="print" value="enrollment" /><br>ENROLL. </td>
                        <td class="lab searchtableheader" style="color:#c108f5; padding:5px;"><input type="checkbox" name="print" value="courseseatcategory" /><br>SEAT CATEGORY</td> 
                        <td class="lab searchtableheader" style="color:#7e08f5; padding:5px;"><input type="checkbox" name="print" value="gender" /><br>GENDER </td>
                        <td class="lab searchtableheader" style="color:#3f08f5; padding:5px;"><input type="checkbox" name="print" value="dob" /><br>D.O.B</td>
                        <td class="lab searchtableheader" style="color:#2f95f4; padding:5px;"><input type="checkbox" name="print" value="religion" /><br>RELIGION </td>
                        <td class="lab searchtableheader" style="color:#9f4ef0; padding:5px;"><input type="checkbox" name="print" value="category" /><br>CATEGORY </td>
                        <td class="lab searchtableheader" style="color:#ee4ef0; padding:5px;"><input type="checkbox" name="print" value="country" /><br>COUNTRY </td>
                        <td class="lab searchtableheader" style="color:#f70767; padding:5px;"><input type="checkbox" name="print" value="state" /><br>STATE </td>
                        <td class="lab searchtableheader" style="color:#ef4ef0; padding:5px;"><input type="checkbox" name="print" value="internal" /><br>INTERNAL </td>
                        <td class="lab searchtableheader" style="color:#2e95f3; padding:5px;"><input type="checkbox" name="print" value="ph" /><br>PH </td>
                        <td class="lab searchtableheader" style="color:#7e08f1; padding:5px;"><input type="checkbox" name="print" value="dor" /><br>D.O.R </td>
                        <td class="lab searchtableheader" style="color:#f508aa; padding:5px;"><input type="checkbox" name="print" value="supervisior" /><br>SUPERVISOR </td>
                        <td class="lab searchtableheader" style="color:#ff0000; padding:5px;"><input type="checkbox" name="print" value="cosupervisor" /><br>COSUPERVISOR </td>
                        <td class="lab searchtableheader" style="color:#9f4ef0; padding:5px;"><input type="checkbox" name="print" value="titleofthesis" /><br>TITLE of THESIS</td>
                        <td class="lab searchtableheader" style="color:#2f95f4; padding:5px;"><input type="checkbox" name="print" value="mou" /><br>MOU </td>
                        <td class="lab searchtableheader" style="color:#7e08f5; padding:5px;"><input type="checkbox" name="print" value="mouinstitute" /><br>MOU INSTITUTE </td>

                        </tr>       ';?>

首先,您需要将name=“print”更改为name=“print[]”,以便php可以拾取所有选定的值

无论您使用post还是get提交信息,都需要循环发送的值。信息将在打印阵列中

$prn = $_POST['print'];
$sql = "SELECT ";
$flds = "";
foreach( $prn as $p ) {
  if( $flds != "" ) $flds .= ",";
  $flds .= $p
}
$sql .= $flds . " FROM ....

请注意,代码未经测试,但它应该为您提供一个起点。首先,您需要将name=“print”更改为name=“print[]”,以便php可以选择所有选定的值

无论您使用post还是get提交信息,都需要循环发送的值。信息将在打印阵列中

$prn = $_POST['print'];
$sql = "SELECT ";
$flds = "";
foreach( $prn as $p ) {
  if( $flds != "" ) $flds .= ",";
  $flds .= $p
}
$sql .= $flds . " FROM ....

请注意,代码未经测试,但它应该为您提供一个起点

我正在考虑从数据库中获取所选列并仅查询这些列,然后使用PrintDiv将结果写入新页面,但无法从所选列的所有可能组合中写入查询..:/我正在考虑获取所选列并仅从数据库中查询这些列,然后使用PrintDiv将结果写入新页面,但无法从所选列的所有可能组合中写入查询..:/Thnx jeff..这正是我想要的,我无法正确地构建这个foreach循环。让我检查一下它现在是否工作。。顺便说一下,谢谢……)我想我们必须在这里使用isset()检查字段是否被选中。Thnx jeff..这正是我所寻找的,我无法正确地构建这个foreach循环。让我检查一下它现在是否工作。。顺便说一下,谢谢……)我想我们必须在这里使用isset()检查字段是否被选中。