0

助けがあれば本当にできる。だから私はそのような2つの配列を持っています

Array
(
    [0] => UK
    [1] => UK
    [2] => USA
    [3] => USA
    [4] => USA
    [5] => France
)
Array
(
    [0] =>  London
    [1] =>  Manchester
    [21] => New York
    [22] => Florida
    [23] => Hawaii 
    [24] => Paris
)

そして、それをmysqlデータベースに挿入する必要があります

Country  City
UK       London, Manchester
USA      New York, Florida, Hawaii
France   Paris

PHPは大丈夫ですが、これには本当にこだわっています。これを達成する方法がまったくわからないので、表示するコードはありません。誰かがこれを達成するのを手伝ってくれませんか。助けてくれてありがとう。

4

6 に答える 6

0
  1. 次のように、国コードと都市をバインドする必要があります。

    Array
    (
        [0]['code'] => UK
        [0]['city'] => London
    )
    ....
    
  2. => ペアを含む多次元配列がある場合は、foreach および case (if) ステートメントを使用して適切な SQL を作成できます。
于 2012-05-11T08:32:48.323 に答える
0
$countries = array("UK","UK","USA","USA","USA","FRANCE");
$cities = array(0=>"London",1=>"Manchester",23=>"New York",24=>"Florida",25=>"Hawaii",26=>"Paris");

$combined = array();
$cities = array_values($cities);
foreach ($countries as $index => $country)
{
    $combined[$country][] = $cities[$index];    
}

foreach ($combined as $country => $cityList)
{
    $sql = sprintf("INSERT INTO `MyTable` (Country,City) VALUES ('%s','%s')",$country,implode(',',$cityList));
于 2012-05-11T08:27:42.393 に答える
0

したがって、あなたが何をしようとしているのか、またはおそらく 1 であるはずの配列が 2 つある理由がわかりません。これはもちろん、都市が常に正しい国に関連付けられていることを前提としています。私が言うには、マンチェスターとロンドンはどちらも英国にあるため、データベース内の国フィールドは英国になり、国が等しいすべての都市を求める単純な MySQL クエリでそれらを呼び出すことができます。都市コード

したがって、データベースは次のようになります

 ID      CITY       COUNTRY
 1       London     UK
 2       Manchester UK
 3       New York   USA
 4       Florida    USA
 5       Hawaii     USA
 6       Paris      France

そして、必要に応じて MySQL クエリで呼び出すことができます。

 SELECT * FROM table WHERE country = 'UK'

これにより、ロンドンとマンチェスターの結果が得られます

これにより、正しい方向に進むはずです

于 2012-05-11T08:43:29.447 に答える