这是我的编码
<?php
try
{
$stmt = $conn->prepare("SELECT * FROM registration");
$stmt->errorInfo();
$stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
echo "<tr>";
echo "<td>". $row['Autoid'] ."</td>";
echo "<td>". $row['Name'] ."</td>";
if($_SESSION['sesuname'])
{
echo "<td>Its You ". $_SESSION['sesuname'] ."</td>";
}
else if(!$_SESSION['sesuname'])
{
echo '<td>Follow</td>';
}
echo "</tr>";
}
} catch (PDOException $e) {
'Database Error : ' .$e->getMessage();
}
?>
我试图在最终的td
中显示跟随选项和登录用户名。但是,此代码总是在所有行中显示loggedin用户名。我不知道我错在哪里?
我想你的情况应该是,
if($_SESSION['sesuname'] == $row['Name'])
{
echo "<td>Its You ". $_SESSION['sesuname'] ."</td>";
}
else
{
echo '<td>Follow</td>';
}
我认为您要检查每一行,看看名称是否与存储在会话中的名称匹配?
你想要if($_SESSION['sesuname'] == $row['Name'])
?else
子句上的任何条件都是假的
对于每一行你只测试你的会话变量;然后打印出来。
与isset()
核对
if(isset($_SESSION['sesuname'])&&$_SESSION['sesuname']==$row['Name'])