【问题标题】:Add multiple arrays in single table在单个表中添加多个数组
【发布时间】:2014-06-09 10:34:39
【问题描述】:
<table border="2">
<?php 
foreach($array1 as $value)
{
    echo '<tr><td>';
    echo $value;
    echo '</td></tr>';
}
?>
</table>

我有更多数组:array2,array3。 上面的代码只执行 array1 的值,但我想要同一个表中所有数组的所有值在不同的列中!

array1 | array2 | array3
------------------------
       |        |
       |        |
       |        |
       |        |

我想要这样的东西... 我尝试修改代码,但不知道如何正确执行。

$data = mysql_query(" SELECT * FROM user_pokemon_db WHERE user_id = '".$id."' "); 
while($rows = mysql_fetch_assoc($data)) { 
    $db_id = $rows['id']; 
    $array[] = $db_id; 
    $level = $rows['level']; 
    $array1[] = $level; 
    $exp = $rows['exp']; 
    $array2[] = $exp; 
    $pkmn_id = $rows['pkmn_id']; 
    $data1 = mysql_query(" SELECT * FROM pokemons WHERE pk_id = '".$pkmn_id."' "); 
    while($rows = mysql_fetch_assoc($data1)) { 
        $poke = $rows['path']; $array3[] = $poke; 
    } 
}

上面的代码从数据库中获取数据并添加到不同的数组中!

【问题讨论】:

  • 你能显示这些数组的内容吗?它们有相同的结构吗?共享密钥?
  • 我更新了我的问题
  • 为什么在 中有 ?
  • 不,我已经在我的代码中更正了它。只是我错过了在发布之前进行编辑的内容。我现在就做。
  • 您是否尝试过将您的查询合并到一个查询中?这样,您可以一次性将所有数据凝胶化,并将其插入到一个多维数组中。

标签: php arrays html-table


【解决方案1】:

尝试创建一个最终调用自身的函数。不确定我是否在这里得到了语法,但这应该可以工作。

$i = 0;
function test($i){
    if($i < ar1.lenght && $i < ar2.lenght && $i< ar3.lenght){
        echo "<tr><td>";
        echo ar1[$i];
        echo "</td><td>";
        echo ar2[$i];
        echo "</td><td>";
        echo ar3[$i];
        echo "</td></tr>";
        $i++;
        //calls itself with an incremented $i
        test($i);
    }//else do nothing.
}

--edit 忘记了一些标签

【讨论】:

    【解决方案2】:

    当你创建你的数组时,你没有指定键,所以它们是自动生成的。因此,您可以处理 for 循环的键,而不是在值中使用 foreach:

    我们可以在您的代码中看到 $array3 比其他代码更长。所以我们会以此为基础:

    foreach($array3 as $key => $value)
    {
        if (isset($array1[$key])){
            echo '<tr><td>'.$array1[$key].'</td>';
        }else{
            echo '<tr><td></td>';
        }
        if (isset($array2[$key])){
            echo '<td>'.$array2[$key].'</td>';
        }else{
            echo '<td></td>';
        }
        echo '<td>'.$array3[$key].'</td></tr>';    
    }
    

    它应该可以工作

    【讨论】:

    • 好吧!它有帮助:) 它只需要一些格式,但我会做的非常感谢!
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签