我需要将以下内容写入数据库:第一个整数,第二个整数和结果。在页面的末尾,我写了一些代码,试图将结果放到数据库中,但它只写第一个整数和第二个整数,但不是实际的结果。
我是初学者。
您可以看到,代码的第一部分是最大公约数的实际计算。我写的第二部分应该将结果写入我的数据库,但它只写1和2整数而不是实际结果。
<!DOCTYPE HTML>
<?php
#Created Dec 18 02:09:31 2016
#author: Justin, owner of linuxwebdevelopment.com
$first_integer = $_POST['integer1'];
$second_integer = $_POST['integer2'];
**$result = $_POST ['result'];** //These I wrote myself i think it is wrong
function gcd($x, $y)
{
/*This function finds the gcd (greatest common divisor)
of the two integers $x and $y and returns the gcd
It uses the Euclidean Algorithm.
The general form for the Euclidean Algorithm is
r_k = q_(k+2)*r_(k+1) + r_(k+2)
Here _ denotes subscripts.
Above Parentheses indicate that the subscript is more than 1 character long
for the code I just remove the _ and ()
initially $r_k = $x and $r_(k+1) = $y
*/
if ($x == $y) {
return 1;
} elseif ($x == 0 or $y == 0) {
return 1;
} else {
#we assume $x is greater than y. If $y is greater than $x,
#just switch them
if ($y > $x) {
$temp = $x;
$x = $y;
$y = $temp;
}
$rk = $x;
$rkp1 = $y;
$rkp2 = $rk % $rkp1;
if ($rkp2 == 0)
return $rkp1;
else {
while ($rkp2 != 0) {
$rk = $rkp1;
$rkp1 = $rkp2;
$rkp2 = $rk % $rkp1;
}
return $rkp1;
}
}
}
$result = gcd($first_integer, $second_integer);
echo "Najväčší spoločný deliteľ $first_integer a $second_integer je $result";
**$link = mysql_connect("localhost", "root")
or die("Nelze se připojit: " . mysql_error());
print "Připojeno úspěšně";
mysql_select_db("delitel") or die("Nelze vybrat databázi");
$a = $_POST["integer1"];
$b = $_POST["integer2"];
$c = $_POST["result"];
mysql_query("INSERT INTO delitel(integer1,integer2,vysledok) values ('$a','$b','$c')");
mysql_close($link);
include("vypis.php");**
?>
这些我自己写的但它只写入数据库的第一个和第二个整数而不是结果。我需要写入数据库:结果第一个整数和第二个整数。我成功地将两个整数写入了我的数据库,但结果并没有结束。
答案 0 :(得分:0)
$_POST['result']
未显示在数据库中,因为它是空值。
您的$c = $_POST['result'];
中没有数据存储
因此,在$_POST['result']
中存储gcd功能的返回时,不要使用$c = $result
而只需使用$result
。