现在我尝试在php和mysql中做这个,苹果作为变量和碗在mysql中作为行。
if (isset($_POST[button])) {
$apples = $_POST["apples"];
$max_apples_in_bowl = 3;
//if apple variable is ≤ 3 it is OK so i can write into table
if ($apples <= 3) {
$query = "INSERT INTO `bowls` (`count_apples`) VALUES ('$apples');";
mysql_query($query);
}
//but if not - i have condition that include cycle which write into table value 3 and deducted from the apple value 3. This cycle continue until apples ≤ 3 and then write a reminding part into table
else {
while ($apples <= 3) {
$secondquery = "INSERT INTO `bowls` (`count_apples`) VALUES ('$max_apples_in_bowl');";
mysql_query($secondquery);
$apples = $apples - $max_apples_in_bowl;
$thirdquery = "INSERT INTO `bowls` (`count_apples`) VALUES ('$apples');";
mysql_query($thirdquery);
}
}
}
但它不会奏效。当然,如果我在0-3之间放入$apples
变量号,一切正常,它会将其写入表中。但如果我放在这里4 f.e.什么都没发生。
谢谢。
答案 0 :(得分:0)
while ($apples <= 3)
应为while ($apples > 3)
答案 1 :(得分:0)
你的while语句开始时你的标牌错了。放入时($ apples&gt; 3)。 ;)
不仅仅是尝试这个
while ($apples > 3){
$seconddaryQuery = "INSERT INTO 'bowls' ('count_apples') VALUES ('$max_apples_in_bowl')";
$mysql_query($secondquery)
$apples = $apples - 3;
}
$thirdquery = "INSERT INTO 'bowls' ('count_apples') VALUES ('$apples')";
$mysql_query($thirdquery);
你所拥有的逻辑不会补偿大于6的值 尝试这应该工作,让我知道它是如何进行所以我可以改变一些我错误的东西
答案 2 :(得分:0)
试试这段代码
$apples = $_POST["apples"];
$max_apples_in_bowl = 3;
$chunks = (int)($apples/$max_apples_in_bowl);
$remainder = $apples%$max_apples_in_bowl;
for($i=1; $i<=$chunks; $i++)
{
$count_apples = $max_apples_in_bowl;
$query = "INSERT INTO `bowls` (`count_apples`) VALUES ('$count_apples');";
mysql_query($query);
}
if($remainder>0)
{
$count_apples = $remainder;
$query = "INSERT INTO `bowls` (`count_apples`) VALUES ('$count_apples');";
mysql_query($query);
}
答案 3 :(得分:0)
一个简单的do ... while
可以在这里提供帮助。
$apples=7;
$max_apples_in_bowl = 3;
do{
$insert_value=$apples;
if($apples>$_max_apples)$insert_value=3;
"INSERT INTO `bowls` (`count_apples`) VALUES ('$insert_value');";
$apples-=$max_apples_in_bowl; //(7-3=4, 4-3=1, 1-3<0)
}while($apples>0);
P.S。不要使用mysql(它已被删除),使用mysqli