0

問題に直行しましょう...「phonenumber」という名前のこのテーブルがあります。

+-------------+
| phonenumber |
+-------------+
| 555-123456  |
| 555-999999  |
| 555-888888  |
+-------------+

ここで、「outbox」という名前のこのテーブルにメッセージを挿入して、これらの番号にテキスト メッセージを送信したいと思います。

+------+----------------+---------------------------------------------+
| ID   | phonenumber    | message                                     |
+------+----------------+---------------------------------------------+
|                        ......                                       |
| 321  | 555-123456     | part 1 : lorem ipsum dolor sit amet         |
| 322  | 555-999999     | part 1 : lorem ipsum dolor sit amet         |
| 323  | 555-888888     | part 1 : lorem ipsum dolor sit amet         |
+------+----------------+---------------------------------------------+

それは簡単です。このSQLはその仕事をすることができます:

INSERT INTO outbox (phonenumber, message)
SELECT phonenumber, '$SMSMessage' as message
FROM phonenumber
WHERE purchasedate BETWEEN 2012-01-01 AND 2012-01-31;

テキストメッセージが160文字を超えると問題が発生します。分割する必要があり、この場合、分割されたメッセージの 2 番目の部分を「outbox_multipart」という名前の別のテーブルに保存し、「outbox」の ID 番号を保持して、テーブルが次のようになるようにする必要があります。

+------+----------------+----------+----------------------------------+
| ID   | phonenumber    | outboxID | message                          |
+------+----------------+---------------------------------------------+
|                      ......                                         |
| 1025 | 555-123456     | 321      | part 2 : hello there!            |
| 1026 | 555-999999     | 322      | part 2 : hello there!            |
| 1027 | 555-888888     | 323      | part 2 : hello there!            |
+------+----------------+---------------------------------------------+ 

注意: outbox.ID は、outbox_multipart.outboxID と関連しています。

そして、テキストメッセージを挿入するためのこのPHPループがあります:

foreach ($CutMessage as $index => $SMSMessage) 
{
if ($index == 0) {
**INSERT FIRST PART OF MESSAGE TO OUTBOX TABLE**
}else{
**INSERT SECOND / OTHER PART OF MESSAGE TO OUTBOX_MULTIPART TABLE**
}       
}

PHPでこれを正しく行う方法は? ありがとうございました。

4

1 に答える 1

1

最後のステートメントmysqli_insert_id()で割り当てられた ID を取得するために使用します。INSERT

于 2012-09-26T17:32:43.097 に答える