我有一个表有一个名为result的列,结果是一个变量,银行通过post方法发送给我...值为:1,2 ...所以当银行发给我时1,我希望向用户显示其接受的内容,如果是2,则向用户显示其被拒绝...我需要一个if公式来完成剩下的工作。
<?php
$id_get= $_POST['id_get'];
$trans_id = $_POST['trans_id'];
$servername = "localhost";
$username = "blah";
$password = "blah";
$dbname = "blah";
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
?>
<?php
mysqli_query($conn, "SET NAMES 'utf8'");
$result = mysqli_query($conn,"SELECT id_get, trans_id, result FROM users");
echo "<table border='1' width='800' align='center'>
<tr>
<th>ID</th>
<th>transaction Result</th>
</tr>";
while($row = mysqli_fetch_array($result))
{
echo "<tr align='center'>";
echo "<td width=10%>" . $row['id_get'] . "</td>";
echo "<td width=10%>" . $row['trans_id'] . "</td>";
echo "</tr>";
}
echo "</table>";?><br>
<div align="center">
<?php
mysqli_close($conn);
?>
答案 0 :(得分:1)
PHP中的用例
$resultname= $row['trans_get'];
switch($resultname){
case("1"):
echo "Accepted";
break;
case("2"):
echo "Rejected";
break;
default:
echo "N/A";
break;
}
所以它应该是这样的:
while($row = mysqli_fetch_array($result))
{
$resultname= $row['trans_get'];
switch($resultname){
case("1"):
echo "Accepted";
break;
case("2"):
echo "Rejected";
break;
default:
echo "N/A";
break;
}
echo "<tr align='center'>";
echo "<td width=10%>" . $row['id_get']. "</td>";
echo "<td width=10%>" . $resultname . "</td>";
echo "</tr>";
}
答案 1 :(得分:0)
您可以使用case
声明:
SELECT id_get, trans_id,
(case when result = 1 then 'Accepted'
when result = 2 then 'Rejected'
else 'Unknown'
end) as ResultString
FROM users;
您还可以在数据库中创建参考表并使用join
。建议用于实际应用程序,因为它确保将相同的字符串用于任何查询。
答案 2 :(得分:0)
您可以检查$row['result']
块中while($row = mysqli_fetch_array($result))
的值,并相应地显示<td>
的内容
while($row = mysqli_fetch_array($result))
{
echo "<tr align='center'>";
echo "<td width=10%>" . $row['id_get'] . "</td>";
echo "<td width=10%>" . $row['trans_id'] . "</td>";
if ($row['result'] == '1') {
echo "<td width=10%>Accepted</td>";
}
else if ($row['result'] == '2') {
echo "<td width=10%>Rejected</td>";
}
else {
echo "<td width=10%>Unknown</td>";
}
echo "</tr>";
}
或者您可以将查询更改为此
$result = mysqli_query($conn,"SELECT id_get, trans_id, (CASE WHEN result = 1 THEN 'Accepted' WHEN result = 2 THEN 'Rejected' ELSE 'Unknown' END) AS result_description FROM users");
并只显示$row['result_description']
while($row = mysqli_fetch_array($result))
{
echo "<tr align='center'>";
echo "<td width=10%>" . $row['id_get'] . "</td>";
echo "<td width=10%>" . $row['trans_id'] . "</td>";
echo "<td width=10%>" . $row['result_description'] . "</td>";
echo "</tr>";
}