Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.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_Javascript_Html - Fatal编程技术网

Php 如何在提交时显示表单的结果

Php 如何在提交时显示表单的结果,php,javascript,html,Php,Javascript,Html,使用WordPress,那么PHP、HTML、CSS、JavaScript,在提交表单时填充表单结果的最佳方法是什么?我可以有一个带有ddl、单选按钮等的表单 <form> <input type="radio" name="sex" value="male">Male<br> <input type="radio" name="sex" value="female">Female <input type="c

使用WordPress,那么PHP、HTML、CSS、JavaScript,在提交表单时填充表单结果的最佳方法是什么?我可以有一个带有ddl、单选按钮等的表单

<form>
     <input type="radio" name="sex" value="male">Male<br>
     <input type="radio" name="sex" value="female">Female

     <input type="checkbox" name="vehicle" value="Bike">I have a bike<br>
     <input type="checkbox" name="vehicle" value="Car">I have a car 

     <input type="submit" value="Submit">
</form>

男性
女性 我有一辆自行车 我有一辆车

触发“提交”按钮后,在同一页面上填充结果的最佳方式是什么,即“67%的用户是女性”和“30%骑自行车”?

尝试以下内容:

script.php
----------
<html>
<body>
<form method=post action=script.php>
   your form here...
</form>

<? if($_SERVER["CONTENT_LENGTH"]>0) {
     //form was submitted to script, so process form inputs here and display results...
  }
?>
</body>
</html>
script.php
----------
你的表格在这里。。。

…从这里开始
phpfile.php:

<?php
if(isset($_POST['sex'])){
$sex = $_POST['sex'];
}//etc..
//To show the result, simply echo it:
echo $sex;

您需要做的是将表单结果添加到数据库中,然后找到两个类别的结果总数,然后计算女性百分比和自行车百分比

表格页:

<html>
   <?php
      if(isset($_GET['status']) && $_GET['status'] == "values") {
          //connect to DB and select table
          $male = count( mysql_query("SELECT gender FROM Table WHERE gender='male'"));
          $female = count (mysql_query("SELECT gender FROM Table WHERE gender='female'"));
          $car = count (mysql_query("SELECT vehicle FROM Table WEHRE vehicle='car'"));
          $bike = count (mysql_query("SELECT vehicle FROM Table WEHRE vehicle='bike'"));
          $totalResults = $male + $female;
          $totalVehicles = $car + $bike;

          $percentFemale = 100 * ($female / $totalResults);
          $percentFemale = number_format($percentFemale, 0);

          $percentBike = 100 * ($bike / $totalVehicals);
          $percentBike = number_format($totalBike, 0);

          echo "<p>" . $percentFemale . "% of users are female. </p>";
          echo "<p>" . $percentBike . "% of users use bikes. </p>";
      } else { ?>
         <form action="formProcessor.php" method="POST"><!-- You could also use GET -->
           <input type="radio" name="sex" value="male">Male<br>
           <input type="radio" name="sex" value="female">Female

           <input type="checkbox" name="vehicle" value="Bike">I have a bike<br>
           <input type="checkbox" name="vehicle" value="Car">I have a car 

          <input type="submit" value="Submit">
        </form>
     <?php } ?>
</html>


我想这回答了你的问题,你已经找到了一种方法,可以找到女性用户和自行车用户的百分比。如果你需要它是动态的,并且只显示更大的数量(或者同时显示两者或其他),只需添加一条注释。这还假设您没有使用PDO,如果您使用,我可以调整代码。我只是写了代码,所以我不知道它是否有效,但给你

我没有得到百分比部分,你如何计算,它是否提交到你的数据库?我想这是我问题的一部分。执行这些计算的最佳方式是什么?我认为计算和显示是两件独立的事情。您可以进行计算并将结果保存在数据库中,也可以保存原始结果并对每个请求进行计算。对于显示,显示百分比和其他相关数据,考虑使用一个框架来为您做绘图:PHP:JavaScript或用于显示X%vs. Y%的简单的东西,考虑CSS,您能把它充实一点,或者提供链接文章?这对单独的帖子有用吗?i、 e.如果我在一个帖子上填写表格,可能会有70%的人骑自行车,但假设另一个帖子只有40%的人骑自行车。即使其他帖子使用相同的表单和php文件,这是否会独立于其他帖子而呈现结果?我很感激你回答中的细节。我仍然很好奇,这个代码是否会根据不同的帖子而有所不同?例如,1号岗位上60%的人骑自行车,2号岗位上可能只有20%的人骑自行车。那么这个代码独立于其他帖子吗?另外,我不确定我是否在使用PDO,至少我自己没有启用它
<html>
   <?php
      if(isset($_GET['status']) && $_GET['status'] == "values") {
          //connect to DB and select table
          $male = count( mysql_query("SELECT gender FROM Table WHERE gender='male'"));
          $female = count (mysql_query("SELECT gender FROM Table WHERE gender='female'"));
          $car = count (mysql_query("SELECT vehicle FROM Table WEHRE vehicle='car'"));
          $bike = count (mysql_query("SELECT vehicle FROM Table WEHRE vehicle='bike'"));
          $totalResults = $male + $female;
          $totalVehicles = $car + $bike;

          $percentFemale = 100 * ($female / $totalResults);
          $percentFemale = number_format($percentFemale, 0);

          $percentBike = 100 * ($bike / $totalVehicals);
          $percentBike = number_format($totalBike, 0);

          echo "<p>" . $percentFemale . "% of users are female. </p>";
          echo "<p>" . $percentBike . "% of users use bikes. </p>";
      } else { ?>
         <form action="formProcessor.php" method="POST"><!-- You could also use GET -->
           <input type="radio" name="sex" value="male">Male<br>
           <input type="radio" name="sex" value="female">Female

           <input type="checkbox" name="vehicle" value="Bike">I have a bike<br>
           <input type="checkbox" name="vehicle" value="Car">I have a car 

          <input type="submit" value="Submit">
        </form>
     <?php } ?>
</html>
<?php
   if(isset($_POST["sex"]) && isset($_POST['vehicle'])) { 
     //Connect to MySQL DB and select table here
     $sex = $_POST['sex'];
     $vehicle = $_POST['vehicle'];
     mysql_query("INSERT INTO Table(sex, vehicle) VALUES($sex, $vehicle)"); //You may also want to add an id column, but...
     //Close mysql connection
     header("Location: /form.php?status=values");
     die();
   } else {
     die("There was an error in your submission.");
   }
?>