PHP仅在foreach中显示

时间:2017-02-26 12:36:16

标签: php arrays foreach hyperlink

PHP的新手,我正在尝试做一个练习,其中包括创建一个包含人员信息的简单动态网站,链接到本地​​数据库。

但我陷入了一个只能通过foreach循环显示任何内容的地方。

我的数据库看起来像这样(当然有更多人):

<?php 

function getAllPerson() {
$list_person = array();

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

return array($personne1);
}

function getPerso($person_id) {
$list_person = getAllPerson();
return $list_person[$person_id];
}

我的页面:

<?php 
require_once 'model/database.php';
$id = $_GET["id"];
$person = getPerso($id);
$list_person = getAllPerson();
require_once 'layout/header.php'; ?>

        <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>

但没有任何作用(有更多的HTML代码,但我想在这里保持简短)..

但是,当我做一个foreach并将文章放入:

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

一切都在显示,但同时有4个人(这是合乎逻辑的,这是一个foreach)。

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

非常感谢!

2 个答案:

答案 0 :(得分:0)

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

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 } ?>

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

答案 1 :(得分:0)

好吧,我的问题已经过了,我没有找到合适的地方。代码很干净,我唯一的问题是$ _GET ['id']指向无处... Hassan Ahmed是对的。我只是忘了根据我正在看的人改变页面名称来使我的页面动态化,所以它无法显示任何内容。

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