2010-06-15 88 views
0

好的,这是我正在尝试做的。我正在运行最新帖子的MySQL查询。对于每个返回的行,我需要将该行的ID推送到一个数组,然后在该数组中的ID中,我需要从行中添加更多数据。一个多维数组。对于MySQL查询中的每个结果,推送到数组(复杂)

这是我的代码到目前为止。

$query = "SELECT * FROM posts ORDER BY id DESC LIMIT 10"; 
$result = mysql_query($query); 

while($row = mysql_fetch_array($result)){ 

      $id = $row["id"]; 
      $post_title = $row["title"]; 
      $post_text = $row["text"]; 
      $post_tags = $row["tags"]; 
      $post_category = $row["category"]; 
      $post_date = $row["date"]; 



} 

正如你所看到的,我还没有对数组做过任何事情。这是我正在寻找的理想结构,只是让你感到困惑。

我猜你可以称之为主数组。我们将调用这个数组$ posts。 在这个数组中,我有一个数组,用于在我的MySQL查询中返回的每一行。 这些数组内有$ post_title,$ post_text等。

我该怎么做?我很困惑..一个例子将非常感激。

-Dylan

回答

1
$master[$id]['post_title'] = $post_title; 
    $master[$id]['post_text'] = $post_text; 
    // etc 

,或者更少的代码。有了这一条,你可以摆脱你设置的所有这些变量的:在回答

$master[$row["id"]]['post_title'] = $row["title"]; 
    $master[$row["id"]]['post_text'] = $row["text"]; 
    // etc 

编辑评论:

foreach($master as $row) 
{ 
    echo $row['post_title']; 
} 

// or if you know the id 

echo $row[$id]['post_title']; 
+0

好酷 - 谢谢。现在我试图检索我的数据。我如何为每个帖子或ID从数组中获取post_title? – 2010-06-15 18:32:33

+0

方式很酷。非常感谢你。 – 2010-06-15 18:41:17

+0

不用担心。很高兴我们可以提供帮助。 – hookedonwinter 2010-06-15 19:24:25

1

here你有数组的完整参考,无论如何一种常见的方式做,这是使用$myarray[] = $aa;“推”了进去。

<?php 
    $query = "SELECT * FROM posts ORDER BY id DESC LIMIT 10"; 
    $result = mysql_query($query); 
    $posts = array(); 
    while($row = mysql_fetch_array($result)){ 
      $posts[] = $row; 
      // second option, index the post by their id 
      // $posts[$row["id"]] = $row; 
      // third option 
      /* 
      $tmp = array(); 
      $tmp["title"] = $row["title"]; 
      $tmp["desc"] = $row["desc"]; 
      $posts[$row["id"]] = $tmp; 
      */ 

    } 
    ?> 
+0

我喜欢这个办法。它很好,很干净。唯一的问题是,如果OP不希望数组中的每个字段都有结果,只需要少数几个字段。 – hookedonwinter 2010-06-15 18:26:42

+1

是的,这就是为什么我添加了其他选项 – 2010-06-15 18:57:06

1

我倾向于喜欢:

$posts = array(); 
while ($row = mysql_fetch_array($result)) { 
    $posts[] = array(
     'id' => $row['id'], 
     'title' => $row['title'], 
     'text' => $row['text'] 
    ); 
} 
+0

K ..现在我有我的数组了,如何从master数组内的每个数组中检索post_title或text? – 2010-06-15 18:40:20

+0

$ posts [314] ['title'] – 2010-06-15 19:59:55