我需要你的帮助,在我的数据库中显示一些以逗号分隔的逗号。
我的主表架构看起来像这样
|---|----------|-----------|----------------------------|
|id | tab1 | tab2 | tab3 |
|---|----------|-----------|----------------------------|
|1 | state1 | A-North | constA1,constA2,constA3 |
|2 | state2 | B-South | constB1,constB2,constB3 |
---------------------------------------------------------
查询我正在努力工作
$query = mysql_query("SELECT * FROM `main` WHERE `tab1` = '$tab1'")
or die(mysql_error());
while($row=mysql_fetch_array($query)){
$tab3 = explode(",", $row['tab3']);
echo $tab3."<br>";
}
我想从数据库中显示什么
A-North B-South
---------------------
constA1 constB1
constA2 constB2
constA3 constB3
我运行该查询时遇到的错误是“数组”。当我从phpMyAdmin运行相同的代码时,我得到了所需的行(结果)。
答案 0 :(得分:4)
Explode会在数组中显示结果,因此您需要另一个通过$ tab3数组运行的循环来打印结果。请参阅PHP手册中的定义:
返回一个字符串数组,每个字符串都是字符串的子字符串 通过将其分割成由字符串分隔符形成的边界而形成。
例如:
for ($i = 0; $i < sizeof($tab3); $i++) {
echo $tab3[$i].'<br />';
}
答案 1 :(得分:1)
explode将使用print_r($tab3)
返回数组,您可以查看项目并通过
echo $tab[0];
echo $tab[1];
echo $tab[2];
等.....
答案 2 :(得分:0)
explode ($separator,$string)
返回一个数组。您需要单步执行数组以创建表列。
另外,正如您希望两列中的数据一样,将它们分别创建为两个单独的表,然后将它们作为两个单独的单元格包含在一个表中
最后,重新设计数据库表。你最后会感谢我们