2017-02-24 24 views
-1

私のスクリプトはインポート文書から特定の記号の後に自動的にIDをソートするのに役立つ必要があります。私はそうした後にする必要があり、このMYSQLは同じIDを別の列に挿入します

ID____PRODUCT____ 
1_____prod1______ 
1_____prod2______ 
1_____prod3______ 
2_____prod1______ 
2_____prod2______ 
2_____prod3______ 
3_____prod1______ 
3_____prod2______ 
3_____prod3______ 

のように見えることになるのmysqlに挿入し、

ID____PRODUCT___________ 
1_____prod1*prod2*prod3_ 
2_____prod1*prod2*prod3_ 
3_____prod1*prod2*prod3_ 

を含んでExcel形式の文書は、だから私は何をする必要があるかである必要があり

すべての*それはそれから新しいオブジェクトを作成する、これまで私は2つの列に並べ替える、このスクリプトを作成し、ちょうど同じIDで他の列を並べ替える必要があります。何か案は?

 while (($emapData = fgetcsv($file, 10000, ",")) !== FALSE) 
    { 
     $count++;          

     $expl=explode(";",$emapData[0]); $string1 = $expl[0]; $string2 = $expl[1]; 

     if($count>1){        
      $sql = "INSERT into products(a,b) values ('$string1','$string2')"; 
      mysql_query($sql); 
     }           
    } 

そのcsvファイルです。なぜ私はそれを爆発させる必要があるのですか?

だから私は新しい製品*をすべて挿入する必要があります。別の製品を使うことは想像できますが、最初のものと同じIDを持つ新しい列に挿入するにはどうすればいいですか?

+1

を試してみてください! 'mysqli/pdo'をチェックしてください。 – JustBaron

+0

ちょっと、ちょっと、ヒントやトリックのために感謝して、それを働かせ、私はMySQLの関数を使用しています。私の使用のためだけに、私はスクリプトをアップロードして、1年に1回何かを使用しています。再度、感謝します! –

答えて

0

あなたは `mysqlの()`関数を使用して停止するも、挿入するためにすべての値をループし、その後、 `` * `によって$のstring2`を爆発する必要があり、この

//connect using mysqli 
    $mysqli = new mysqli("localhost", "my_user", "my_password", "world"); 
    while (($emapData = fgetcsv($file, 10000, ",")) !== FALSE) 
    { 
     $count++;          

     $expl=explode(";",$emapData[0]);  
     $string1 = $expl[0];//ID like 1  
     $string2 = $expl[1];//the prod1*prod2*prod3 
     $arr_of_products = explode("*",$string2); 
     foreach ($arr_of_products as $value) { 
      $sql = "INSERT into products(a,b) values ('$string1','$value')"; 
      //mysql_query($sql); do not use it 
      $result = $mysqli->query($sql); 
     } 

    } 
+0

@Strawberry私はちょうど質問に答えました。どのAPIを使用するかはユーザー自身の責任であり、彼はそれについてのアドバイスを求めませんでした。だから私は実際にダウンボートの理由は見ません。 –

+1

ここでは、mysql_ *関数の使用方法について多くの回答があります。しかし、10年後には、私たちはすべてこれらの質問に答えることを止め、** OPのアップデートやPDOやMySQLiを使用します。 – davejal

+0

downvote imoの理由はまだありません。私はとにかく私の答えを変更しました –

関連する問題