PHP and SQL foreach loop


PHP and SQL foreach loop

我正在尝试为wordpress设置一个自定义模板,该模板从数据库中检索人名和其他列

//connect.php
<?php
global $wpdb;
$blog_id = get_current_blog_id(); 
$results = $wpdb->get_results( 'SELECT * FROM database WHERE blog_id = {$blog_id}', OBJECT );
?>
//index.php
include_once "connect.php"; 
$sql = "SELECT * FROM databasetablename";
//run the query
$results = $wpdb->get_results($sql) or die(mysql_error());

foreach ($results as $result){
?>
//first person
<h2><?php echo $result -> name; ?></h2>
//second person
<h2><?php echo $result -> name; ?></h2>
//third person
<h2><?php echo $result -> name; ?></h2>
<?php
}
?>

但是只是显示数据库中的相同名称,而不是移动到下一个人的名称并显示他们。我认为这是我的sql staement的一个问题,但不太确定,谢谢

您不需要在循环内输出三次,foreach应该处理结果的每个实例
接下来,您应该检查查询实际返回的内容
此外,您不需要将OBJECT作为第二个参数传递给$wpdb->get_results,这是默认行为。

示例:

index.php

global $wpdb;
$sql = "SELECT * FROM wp_users";
$results = $wpdb->get_results($sql) or die(mysql_error());
foreach ($results as $result){
    print '<h2>' . $result->display_name . '</h2>';
}