Php 如何在提交时显示表单的结果
使用WordPress,那么PHP、HTML、CSS、JavaScript,在提交表单时填充表单结果的最佳方法是什么?我可以有一个带有ddl、单选按钮等的表单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
<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.");
}
?>