PHP仅在foreach中显示

PHP仅在foreach中显示,php,arrays,foreach,hyperlink,Php,Arrays,Foreach,Hyperlink,刚接触PHP,我正在做一个练习,其中包括制作一个简单的动态网站,其中包含人员信息,链接到本地数据库 但是我被困在一个点上,我只能通过foreach循环显示任何东西 我的数据库如下所示(当然有更多的人): “alt=”“class=“拉左缩略图”> 但是什么都不管用(有更多的html代码,但我想在这里保持简短) 但是当我做了一个foreach并把文章放进去的时候: <?php foreach ($list_person as $person) : ?> 一切都显示出来了,但4

刚接触PHP,我正在做一个练习,其中包括制作一个简单的动态网站,其中包含人员信息,链接到本地数据库

但是我被困在一个点上,我只能通过foreach循环显示任何东西

我的数据库如下所示(当然有更多的人):


“alt=”“class=“拉左缩略图”>
但是什么都不管用(有更多的html代码,但我想在这里保持简短)

但是当我做了一个foreach并把文章放进去的时候:

<?php foreach ($list_person as $person) : ?>

一切都显示出来了,但4个人同时出现(这是合乎逻辑的,这是一个foreach)

我必须承认,我不知道如何使它成为一个独立的页面,每个不同的“id”都有。你能帮我吗?请保持简单


非常感谢!

我做了一个简短的检查,如果您可以使用它:

function getAllPerson($id = null) {

$list_person = array();

   $person1 = array(
      "id" => 0,
       "surname" => "John",
       "name" => "Doe",
       "img" => "https://randomuser.me/api/portraits/men/64.jpg");

   $person2 = array(
       "id" => 1,
       "surname" => "Sam",
       "name" => "Parker",
       "img" => "https://randomuser.me/api/portraits/men/65.jpg");

    $list_person[0] = $person1;
    $list_person[1] = $person2;

   if($id == null){
       return ($list_person);
   }
   else{
    return $list_person[$id];
   }
}
现在您可以在页面中调用此函数

<?php $person = getAllPerson(1); ?>

<?php if(!empty($person)) { ?>

<section class="row">

        <article class="column">
            <h2><?php echo $person['name'] ?> <?php echo $person['surname'] ?></h2>
            <img src="<?php echo $person['img'] ?>" alt="<?php echo $person['name'] ?> <?php echo $person['surname'] ?>" class="pull-left thumbnail">


        </article>
</section>

<?php } ?>

“alt=”“class=“拉左缩略图”>

您可以使用相同的函数,如果您想获取所有用户,只需将参数字段保留为空:如getAllPerson()。

好的,我的问题是waaaay off,并且我没有看到正确的位置。代码是干净的,我唯一的问题是$_GET['id']没有指向任何地方。。。哈桑·艾哈迈德是对的。我只是忘记了根据我正在查看的人更改页面名称,从而使我的页面具有动态性,因此它无法显示任何内容


不过非常感谢你的回答,通过你给我的练习,我可以理解更多的东西

你打的是什么身份证
id=??
这是数据库中的“id”,表示数组中的人号。您所说的“PHP仅在foreach中显示”是什么意思?你想只显示一个特定id的信息吗?是的,就是这样。我只在数据库中输入了一个id,但可能有100个。有一个主页,每个“id”都有一个foreach循环,链接到一个个人资料页面,我一直在使用这个页面。你是否代表了N个这样的用户$liste_person[N]=$personN?谢谢,我越来越近了:该部分的其余部分没有消失,但print_r($person)现在显示了完整的数组,它包含的内容不想在屏幕上显示。。。“函数getAllPerson($id=null)”中的id在其作用域中似乎未使用。我需要定义它吗?这就是我提到的,你可以传递一个id来加载特定的人,如果你不传递id,你会得到所有的人。我的问题更多的是“为什么它没有出现”。。。这似乎是我的问题的核心,我尝试了许多解决方案,但总是回到这个问题上:数据库中的内容只是不想显示。@Solomai您想显示什么,如果您想显示id为1的人员,只需调用函数getAllPerson(1),您将只获得该人员。类似地,如果您想显示id为20的人员,请调用函数getAllPerson(20),我将尝试显示我应该使用。但对我来说就是不行^^
function getAllPerson($id = null) {

$list_person = array();

   $person1 = array(
      "id" => 0,
       "surname" => "John",
       "name" => "Doe",
       "img" => "https://randomuser.me/api/portraits/men/64.jpg");

   $person2 = array(
       "id" => 1,
       "surname" => "Sam",
       "name" => "Parker",
       "img" => "https://randomuser.me/api/portraits/men/65.jpg");

    $list_person[0] = $person1;
    $list_person[1] = $person2;

   if($id == null){
       return ($list_person);
   }
   else{
    return $list_person[$id];
   }
}
<?php $person = getAllPerson(1); ?>

<?php if(!empty($person)) { ?>

<section class="row">

        <article class="column">
            <h2><?php echo $person['name'] ?> <?php echo $person['surname'] ?></h2>
            <img src="<?php echo $person['img'] ?>" alt="<?php echo $person['name'] ?> <?php echo $person['surname'] ?>" class="pull-left thumbnail">


        </article>
</section>

<?php } ?>