获取表中具有特定名称的所有projectname值

时间:2014-11-14 00:59:13

标签: php mysql arrays

因此,我正在为我和我的朋友创建一个网站,以便我们可以相互合作(如Google文档),我正在尝试创建一个东西,以便我们可以选择我们想要处理的项目。目前我无法从MySQL表中获取项目名称。

以下是我试图获取项目名称的内容

$projects = mysqli_query($link, "SELECT * FROM table WHERE name='". $username ."'");
$projects2 = mysqli_fetch_assoc($projects);
$projects3 = $projects2["projectname"];

这是一个MySQL表的例子

+---------+------------------+------------------+------------------+------------
-+
| name    | htmltext         | csstext          | jstext           | projectname
 |
+---------+------------------+------------------+------------------+------------
-+
| cow9000 | testing is cool! | testing is cool! | testing is cool! | test
 |
| cow9000 | testing is cool! | testing is cool! | testing is cool! | test2
 |
+---------+------------------+------------------+------------------+------------

正如您所看到的,所有者拥有2个文档,但是当我尝试打印$project3时,它只会给我" test"。如何更改代码以获取所有projectname值?

很抱歉,如果这令人困惑,我很难说出来。另外,请指出我的代码中的错误,因为我只有几天的PHP和MySQL经验(但我发现PHP和MySQL对我来说非常非常容易。)

2 个答案:

答案 0 :(得分:2)

您已拥有所有这些值。您只需使用该列的名称作为projectname数组中的键,就像访问$projects2一样访问它们:

$projects2 = mysqli_fetch_assoc($projects);
echo $projects2["name"]; // cow9000
echo $projects2["htmltext"]; // testing is cool!
echo $projects2["csstext"]; // testing is cool!
echo $projects2["jstext"]; // testing is cool!

如果你想要第二行,你需要使用循环:

// Prints each row in the order they were retrieved 
while($projects2 = mysqli_fetch_assoc($projects)) {
    echo $projects2["projectname"]; // test and then test2
}

答案 1 :(得分:0)

您必须遍历返回的数据,例如:

while ($projects2 = mysqli_fetch_assoc($projects)) {
  echo $projects2["projectname"];
}

首先它会返回test,第二个test2