Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP在不同页面中发布变量以创建动态表_Php_Html_Mysql_Twitter Bootstrap - Fatal编程技术网

使用PHP在不同页面中发布变量以创建动态表

使用PHP在不同页面中发布变量以创建动态表,php,html,mysql,twitter-bootstrap,Php,Html,Mysql,Twitter Bootstrap,我有一个关于html和php中的动态表的问题。我的目标是创建一个动态表,显示来自mysql的查询数据,并将其显示在带有复选框的表中,以便用户可以从问题库中选择问题,然后对其进行处理。然而,我的问题是如何显示数据。使用某种类型的mvc架构,我需要将sql排除在前端html和php部分之外。我想知道是否有人对如何从后端MySQL查询中发布变量并通过curl将它们发送到前端HTML和php部分有任何建议,在那里我可以动态创建一个带有复选框的表。我尝试了使用引导程序并将sql与html和php相结合的解

我有一个关于html和php中的动态表的问题。我的目标是创建一个动态表,显示来自mysql的查询数据,并将其显示在带有复选框的表中,以便用户可以从问题库中选择问题,然后对其进行处理。然而,我的问题是如何显示数据。使用某种类型的mvc架构,我需要将sql排除在前端html和php部分之外。我想知道是否有人对如何从后端MySQL查询中发布变量并通过curl将它们发送到前端HTML和php部分有任何建议,在那里我可以动态创建一个带有复选框的表。我尝试了使用引导程序并将sql与html和php相结合的解决方案。任何帮助都将不胜感激

<?php

include('ProfessorWelcome.php');
//set up mysql connection
$con = mysql_connect("localhost", "username", "password") or die(mysql_error());
//select database
mysql_select_db("username", $con) or die(mysql_error());


?>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta content="width=device-width, initial-scale=1.0" name="viewport">
    <meta content="" name="description">
    <meta content="" name="author">
    <link href="" rel="shortcut icon">

    <script type="text/javascript" language="javascript" src="tablefilter.js"></script>

    <title>Registration form</title><!-- Bootstrap core CSS -->
    <link href="css/bootstrap.css" rel="stylesheet">
    <!-- <link href="css/bootstrap-responsive.css" rel="stylesheet"> -->
    <script type="text/javascript" src="cdn.datatables.net/1.10.6/css/jquery.dataTables.css"></script>


    <script type="text/javascript" 
    src="http://cdn.datatables.net/1.10.2/js/jquery.dataTables.min.js"></script>

    <script type="text/javascript" src="code.jquery.com/jquery-1.11.1.min.js"</script>
<script type="text/javascript" src="cdn.datatables.net/1.10.6/js/jquery.dataTables.min.js"></script>


 <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/jquery.dataTables.min.js"></script>
    <link href="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/css/jquery.dataTables.css" rel="stylesheet" type="text/css" />








</head>

<body>
<div class="container">
<form role="form" action="#" method="POST" name="form">
<div class="row">
    <div class="col-md-12">
        <div class="well">
            <h2 class="text-center">Question Bank</h2>
            <hr width="70%">


                <table id="myTable" class="table table-striped">
                    <thead>
                        <tr>
                            <th width="5%" style="visibility:hidden;" align="left"></th>
                            <th width="20%" align="left">Question</th>
                            <th width="20%" align="left">Difficulty</th>
                        <!--    <th width="7%" align="left">Last Name</th>
                            <th width="7%" align="center">Email</th>
                            <th width="7%" align="center">Gender</th>
                            <th width="7%" align="left">BirthDay</th>  -->


                        </tr>
                    </thead>
                    <tbody>
                        <?php
                            //select all records form tblmember table
                            $query = 'SELECT Question, Difficulty FROM QuestionBank';
                            //execute the query using mysql_query
                            $result = mysql_query($query);
                            //then using while loop, it will display all the records inside the table
                            while ($row = mysql_fetch_array($result)) {
                                echo "<tr><td><input type='checkbox' name='checkbox' /></td><td>".$row['Question']."</td><td>".$row['Difficulty']."</td>";

                            }   

                        ?>

                    </tbody>
                </table>
        </div>
    </div>

</div>
<div class="col-md-12">
    <div class="form-group">
      <button type="submit" name="submit" class="btn btn-default">Submit</button>
    </div>
</div>
</div>
<script language="javscript" type="text/javascript">
    $(document).ready(function(){
        $('#myTable').dataTable();
    });
    </script>
</body>
</html>

我会这样做的

我添加了ob_start和ob_flush,以便在创建表时传输页面顶部

移动到立即跟随

非常重要:在

我使用了herdoc语法:

将MYSQL_NUM添加到:

$row[0]和$row[1]可以在双引号字符串中使用,无需连接点。也可以在这里使用文档$行['Question']和$row['defestion']不能

您意识到与jQuery相关联的开销了吗?此页面中不需要任何JS。但是,您为浏览器创建了更多的工作,并让访问者在浏览器执行所有不必要的工作时等待

我将使用JS和jQuery。没有引导。学习CSS

<?php ob_start("ob_gzhandler");
include('ProfessorWelcome.php');
echo <<<EOT
<html lang="en">
<head><title>Registration form</title>
  <meta charset="utf-8">
  <meta content="width=device-width, initial-scale=1.0" name="viewport">
  <meta content="" name="description">
  <meta content="" name="author">
  <link href="" rel="shortcut icon">
  <link href="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/css/jquery.dataTables.css" rel="stylesheet" type="text/css" />
  <link href="css/bootstrap.css" rel="stylesheet">
  <script type="text/javascript" language="javascript" src="tablefilter.js"></script>
  <!-- Bootstrap core CSS -->
  <script type="text/javascript" src="cdn.datatables.net/1.10.6/css/jquery.dataTables.css"></script>

  <!-- <link href="css/bootstrap-responsive.css" rel="stylesheet"> -->
  <script type="text/javascript" 
  src="http://cdn.datatables.net/1.10.2/js/jquery.dataTables.min.js"></script>
  <script type="text/javascript" src="code.jquery.com/jquery-1.11.1.min.js"</script>
<script type="text/javascript" src="cdn.datatables.net/1.10.6/js/jquery.dataTables.min.js"></script>
 <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/jquery.dataTables.min.js"></script>
</head>
<body>
<div class="container">
<form role="form" action="#" method="POST" name="form">
<div class="row">
  <div class="col-md-12">
    <div class="well">
      <h2 class="text-center">Question Bank</h2>
      <hr width="70%">
          <table id="myTable" class="table table-striped">
              <thead>
                  <tr>
                      <th width="5%" style="visibility:hidden;" align="left"></th>
                      <th width="20%" align="left">Question</th>
                      <th width="20%" align="left">Difficulty</th>
                  <!--    <th width="7%" align="left">Last Name</th>
                      <th width="7%" align="center">Email</th>
                      <th width="7%" align="center">Gender</th>
                      <th width="7%" align="left">BirthDay</th>  -->
                  </tr>

              </thead>
              <tbody>
EOT;
ob_flush();

//set up mysql connection
$con = mysql_connect("localhost", "username", "password") or die(mysql_error());
//select database
mysql_select_db("username", $con) or die(mysql_error());




                      //select all records form tblmember table
                      $query = 'SELECT `Question`, `Difficulty` FROM `QuestionBank` ';
                      //execute the query using mysql_query
                      $result = mysql_query($query);
                      //then using while loop, it will display all the records inside the table
                      while ($row = mysql_fetch_array($results, MYSQL_NUM)); {
                          echo "<tr><td><input type='checkbox' name='checkbox' /></td><td>$row[0]</td><td>$row[1]</td>\n";
                      }   
echo <<<EOT
              </tbody>
          </table>
    </div>
  </div>
</div>
<div class="col-md-12">
  <div class="form-group">
    <button type="submit" name="submit" class="btn btn-default">Submit</button>
  </div>
</div>
</div>



<script language="javscript" type="text/javascript">
  $(document).ready(function(){
    $('#myTable').dataTable();
  });
  </script>
</body>
</html>
EOT;
ob_end_flush();
?>

老实说,我不明白你问的一半。但事实上,您似乎想要一些相当高级的功能,并且仍然使用mysql而不是mysqli或PDO,这让我怀疑这是否真的是您编写的。这就是不合情理。无论如何你能解释一下你期望的最终结果吗?不要让SQL出现在前端,听起来我需要ajax技术。@icecub这是我写的,它是作为一个整体的模型来编写的,基本上是将SQL与前端分离,并且仍然获得相同的结果。基本上,有一个前-中-后体系结构,sql必须留在后面,并将变量发送到前面,以便在创建带有这些值的复选框的动态表时加以利用。我希望这澄清了一些事情。这并不是那么困难。我知道你想要什么,可能没那么难。我只是对卷曲一无所知,这可能就是我不理解这个问题的原因。尽管如此,mysql_*的使用和一个低点账户还是让我的蜘蛛感觉到刺痛。很抱歉,xD有点像他知道自己在说什么,但做了一些不太聪明的事情。这是怎么回事?再次道歉:@icecub我从1996年开始就在做全尺寸的网络应用。我仍然使用mysql。我还没有达到需要msqli中一个在mysql中不起作用的功能的程度。mysqli是一个正在进行的工作,并且存在安全问题。我不能无缘无故地不必要地使用mysqli,并冒着另一个安全漏洞的风险。如果它没坏,我就不修了。你偷了我的猫吗?
<?php ob_start("ob_gzhandler");
include('ProfessorWelcome.php');
echo <<<EOT
<html lang="en">
<head><title>Registration form</title>
  <meta charset="utf-8">
  <meta content="width=device-width, initial-scale=1.0" name="viewport">
  <meta content="" name="description">
  <meta content="" name="author">
  <link href="" rel="shortcut icon">
  <link href="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/css/jquery.dataTables.css" rel="stylesheet" type="text/css" />
  <link href="css/bootstrap.css" rel="stylesheet">
  <script type="text/javascript" language="javascript" src="tablefilter.js"></script>
  <!-- Bootstrap core CSS -->
  <script type="text/javascript" src="cdn.datatables.net/1.10.6/css/jquery.dataTables.css"></script>

  <!-- <link href="css/bootstrap-responsive.css" rel="stylesheet"> -->
  <script type="text/javascript" 
  src="http://cdn.datatables.net/1.10.2/js/jquery.dataTables.min.js"></script>
  <script type="text/javascript" src="code.jquery.com/jquery-1.11.1.min.js"</script>
<script type="text/javascript" src="cdn.datatables.net/1.10.6/js/jquery.dataTables.min.js"></script>
 <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/jquery.dataTables.min.js"></script>
</head>
<body>
<div class="container">
<form role="form" action="#" method="POST" name="form">
<div class="row">
  <div class="col-md-12">
    <div class="well">
      <h2 class="text-center">Question Bank</h2>
      <hr width="70%">
          <table id="myTable" class="table table-striped">
              <thead>
                  <tr>
                      <th width="5%" style="visibility:hidden;" align="left"></th>
                      <th width="20%" align="left">Question</th>
                      <th width="20%" align="left">Difficulty</th>
                  <!--    <th width="7%" align="left">Last Name</th>
                      <th width="7%" align="center">Email</th>
                      <th width="7%" align="center">Gender</th>
                      <th width="7%" align="left">BirthDay</th>  -->
                  </tr>

              </thead>
              <tbody>
EOT;
ob_flush();

//set up mysql connection
$con = mysql_connect("localhost", "username", "password") or die(mysql_error());
//select database
mysql_select_db("username", $con) or die(mysql_error());




                      //select all records form tblmember table
                      $query = 'SELECT `Question`, `Difficulty` FROM `QuestionBank` ';
                      //execute the query using mysql_query
                      $result = mysql_query($query);
                      //then using while loop, it will display all the records inside the table
                      while ($row = mysql_fetch_array($results, MYSQL_NUM)); {
                          echo "<tr><td><input type='checkbox' name='checkbox' /></td><td>$row[0]</td><td>$row[1]</td>\n";
                      }   
echo <<<EOT
              </tbody>
          </table>
    </div>
  </div>
</div>
<div class="col-md-12">
  <div class="form-group">
    <button type="submit" name="submit" class="btn btn-default">Submit</button>
  </div>
</div>
</div>



<script language="javscript" type="text/javascript">
  $(document).ready(function(){
    $('#myTable').dataTable();
  });
  </script>
</body>
</html>
EOT;
ob_end_flush();
?>