0

データベースからコンマで区切られた入力を表示するためにあなたの助けが必要です。

私のメインテーブルスキーマは次のようになります

              |---|----------|-----------|----------------------------|
              |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から同じコードを実行すると、目的の行(結果)が得られます。

4

3 に答える 3

4

Explodeは結果を配列で提供するため、結果を出力する$tab3配列を実行する別のループが必要になります。PHPマニュアルの定義を参照してください。

文字列の配列を返します。各文字列は、文字列区切り文字によって形成される境界で分割することによって形成される文字列のサブ文字列です。

例えば:

for ($i = 0; $i < sizeof($tab3); $i++) {
    echo $tab3[$i].'<br />';
}
于 2012-06-22T10:42:51.763 に答える
1

print_r($tab3)explodeは、アイテムを表示してアクセスできる配列を返します。

echo $tab[0];
echo $tab[1];
echo $tab[2];

等.....

于 2012-06-22T10:43:01.717 に答える
0

explode ($separator,$string)配列を返します。テーブルの列を作成するには、配列をステップスルーする必要があります。

また、2つの列のデータが必要な場合は、これらを2つの別個のテーブルとして個別に作成してから、2つの別個のセルとして単一のテーブルに含めます。

最後に、データベーステーブルを再設計します。最後に感謝します

于 2012-06-22T10:44:44.933 に答える