【问题标题】:print multiple arrays in foreach在foreach中打印多个数组
【发布时间】:2013-10-09 08:32:39
【问题描述】:

如何从数据库中获取行 href 为 'id' 字符串值? 换句话说,如何在一个 foreach 中显示多个数组?

如果代码中还有其他逻辑错误,你也可以指出来。

<?php 

$query = mysql_query("SELECT `id`, `url` FROM `bse` ORDER BY `id` DESC LIMIT 9"); 
while ($row = mysql_fetch_array ($query))

$post_id[] = $row['id'];
$rid[] = $row['url'];

}

$array = array(
    "pid" => $post_id,
    "vid" => $rid,
);

foreach (array_chunk($array["vid"], 3) as $rida) { ?>
    <tr>
    <?php foreach ($rida as $array["vid"])
                {  ?>
<td><div class="a45"><a href="<?php echo $array["pid"]; ?>" title="nim" ><?php 
echo $array["vid"];

?>
</a></div></td>
    <?php } ?>
    </tr>
<?php } ?>
</table>

【问题讨论】:

  • 只是一个简短的说明,您不需要将id url bse 放在反引号内,因为它们不是SQL reserved words
  • MySQL 扩展已过时。请不要再使用它了! MySQLi(带有预处理语句)和 PDO 是不错的选择。
  • @Fred-ii-,我认为反引号的动机是当列、表等的名称有问题的字符时。
  • @RafaelBarros 你觉得呢?你可能是对的,很多关于 SQL 的事情我都不知道(现在只学习 DB 一个月)并且会记住这一点,谢谢。 “奇怪的事情注定要发生。”
  • @RafaelBarros 好吧,我当然不会把它排除在外。 “我相信你的话” ;-)

标签: php foreach


【解决方案1】:

你有两个选择。一种是将数组合并为一个数组,请在此处阅读:

how to join two multidimensional arrays in php

PHP combine two associative arrays into one array

另一个(感谢 Rafael!)要容易得多.. 使用这样的东西:

foreach($array as $i=>$v){
    $other_array[$i];
}

您可以使用 $i 并查看其他数组。当然要归功于 Rafael。

【讨论】:

  • 你好 :)。是的,有可能(尽管有点难看)像这样:foreach($array as $i=&gt;$v){$other_array[$i];}
  • 你好@RafaelBarros! :p 你刚刚打败了我,甚至没有想过在另一个变量上使用$i 作为标识符。谢谢你纠正我!
  • 如何将这 3 个结果切到行?
【解决方案2】:

这是你想要做的吗?

<?php 
$query = mysql_query("SELECT `id`, `url` FROM `bse` ORDER BY `id` DESC LIMIT 9");

if($query){
    ?>
    <table>
    <?PHP
        while ($row = mysql_fetch_array ($query)){
             ?>
          <tr>
            <td>
                <div class="a45">
                    <a href="<?php echo $row['id']; ?>" title="nim" >
                        <?php echo $row['url']; ?>
                    </a>
                </div>
            </td>
          </tr>
          <?php
        }
    ?>
    </table>
    <?PHP
} else {
    echo "No results";  
}
?>

如果不是,您想完成什么?

【讨论】:

  • 这是我想要的,但结果是 3x3 表。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-20
  • 1970-01-01
  • 2012-09-27
  • 1970-01-01
  • 2015-06-05
相关资源
最近更新 更多