我是php新手,需要一些帮助。
我想创建一个简单的php while循环。 在循环内部,我希望能够添加或减去值。
我的代码似乎正在做我想要的,除了我不知道在$count
变量中放什么。
目标是有一个表,并在该表内添加或减去5的值。
这是我的代码。
<?php
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
echo "<tr>";
echo "<td>" . $row["id"] . "</td>";
echo "<td>" . $row["userName"] . "</td>";
echo "<td>" . $row["email"] . "</td>";
echo "<td>" . $row["balance"] . "</td>";
$count = $row["id"];
?>
<td>
<form name="form" method="post" action="">
<input type="submit" name="add" value="+">
<input type="submit" name="subtract" value="-">
<?php
if (isset($_POST['add'])) {
$sql2 = "UPDATE users SET balance = balance + 5 where id = $count ";
$result2 = $conn->query($sql2);
}
if (isset($_POST['subtract'])) {
$sql2 = "UPDATE users SET balance = balance - 5 where id = $count";
$result2 = $conn->query($sql2);
}
echo $row["id"];
?>
</form>
</td>
</tr>
<?php
}
} else {
echo "0 results";
}
?>
答案 0 :(得分:0)
您必须将行ID发送回php脚本,而不仅仅是动作'add'或'subtract'。您可以按要更新的ID标识行。代码看起来像这样:
DECLARE @REGIMECASAM INT
DECLARE @OPENQUERY nvarchar (1000), @TSQL nvarchar (1000), @LinkedServer nvarchar (1000) SET @LinkedServer = '[SIGNALS]'
SET @OPENQUERY = 'SELECT REGIMECASAM FROM OPENQUERY (' + @LinkedServer + ',' ''
SET @TSQL = 'SELECT REGIMECASAM FROM COMPLEMENT WHERE LINK =' + CAST (@ CODEID AS VARCHAR (6)) + '' ')'
SET @QUERYTOTAL = @ OPENQUERY + @ TSQL
EXEC sp_executesql @QUERYTOTAL, N '@ REGIMECASAM INT out', @REGIMECASAM OUT
SELECT @REGIMECASAM The Outputs
您可以在while循环之前添加此代码,并从while循环中删除现有的查询内容。