我在 while 循环内的 IF 语句中显示信息时遇到问题。甚至可以在 while 循环中回显 if 语句吗?请帮忙!
这段代码
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "databasename";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
$searchEscaped = $conn->real_escape_string($_GET['username']);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM users WHERE username = '$searchEscaped' ";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "
**if(!empty($row['image2'])) {
<a class='example-image-link' href='pictures/".$row['image2']."' data-lightbox='example-set'><img class='example-image'src='pictures/".$row['image2']."' alt='Profile Pic'></a>
}
";}
} else {
echo "No users found";
}
$conn->close();
?>
最佳答案
我认为您需要将 echo 移到 if 语句中,以便仅在满足要求时才回显:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "databasename";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
$searchEscaped = $conn->real_escape_string($_GET['username']);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM users WHERE username = '$searchEscaped' ";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while ($row = $result->fetch_assoc()) {
if (!empty($row['image2'])) {
echo "
<a class='example-image-link' href='pictures/" . $row['image2'] . "' data-lightbox='example-set'><img class='example-image'src='pictures/" . $row['image2'] . "' alt='Profile Pic'></a>
";
}
}
} else {
echo "No users found";
}
$conn->close();
?>
这是一个可以在整个脚本中使用的函数示例:
function print_image($row_image){
if(!empty($row_image)){
return "
<a class='example-image-link' href='pictures/" . $row_image . "' data-lightbox='example-set'><img class='example-image'src='pictures/" . $row_image . "' alt='Profile Pic'></a>
";
}
else{
return "";
}
}
您可以在脚本的任何其他地方调用此函数并执行以下操作:
echo print_image($row['image2']);
或
echo print_image($row['image3']);
关于javascript - 如何从数据库中回显 If 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37233222/