-2

私の要件は、彼らに対応する連絡先名を保存したいということですが、変数を展開した後にループphone_noを使用している場合foreach

foreach($phone_no11 as $phone_nos)

foreach($contact_name11 as $contact_names)

次に、すべての名前に対してすべての電話番号が保存されるため、私のphone_noが 999,888,777 で、contact_nameWatch、Sun、Sky の場合、データベースに保存されるのは次のとおりです。

ウォッチ 999 ウォッチ 888 ウォッチ 777 サン 999 サン 888 サン 777 スカイ 999 スカイ 888 スカイ 777

私を助けてください

<?php 
if(isset($_GET['phone_no'])&& isset($_GET['contact_name'])) { 
    include("connection.php"); 
    $phone_no1 = $_GET['phone_no']; 
    $phone_no11 = (explode(",",$phone_no1)); 
    $contact_name1 = $_GET['contact_name']; 
    $contact_name11 = (explode(",",$contact_name1));     // Insert data that retrieves from "temp_members_db" into table "registered_members" 
    foreach($phone_no11 as $phone_nos) 
    foreach($contact_name11 as $contact_names) 
    $sql = mysql_query("INSERT INTO phone_directory (contact_name,contact_number) VALUES ('$contact_names','$phone_nos')"); 
} 
?> 
4

1 に答える 1

1

このようなもの。

if(isset($_GET['phone_no'])&& isset($_GET['contact_name'])) { 
include("connection.php"); 
$phone_no1 = $_GET['phone_no']; 
$phone_no11 = (explode(",",$phone_no1)); 
$contact_name1 = $_GET['contact_name']; 
$contact_name11 = (explode(",",$contact_name1));     // Insert data that retrieves from "temp_members_db" into table "registered_members" 

$total_records = count($phone_no11);

for($i=0;$i<$total_records;$i++)
{
   $sql = mysql_query("INSERT INTO phone_directory (contact_name,contact_number) VALUES ('$contact_name11[$i]','$phone_no11[$i]')");
} 

} 

最初に電話番号または連絡先番号 (total_records) の数を計算してから、ループを介してそれらを挿入します。

大量のレコードがある場合、ループ内に mysql クエリを配置することはお勧めできません。バッチクエリは完璧に機能します。

何かのようなもの

 if(isset($_GET['phone_no'])&& isset($_GET['contact_name'])) { 
include("connection.php"); 
$phone_no1 = $_GET['phone_no']; 
$phone_no11 = (explode(",",$phone_no1)); 
$contact_name1 = $_GET['contact_name']; 
$contact_name11 = (explode(",",$contact_name1));     // Insert data that retrieves from "temp_members_db" into table "registered_members" 

$total_records = count($phone_no11);

$records = '';

for($i=0;$i<$total_records;$i++)
{
   $records .= ",('$contact_name11[$i]','$phone_no11[$i]')";
} 

 $records = sunstr($records,1);
 $sql = mysql_query("INSERT INTO phone_directory (contact_name,contact_number) VALUES $records;

}

これは、最初にバッチ クエリを作成し、次にそれをループ外で実行します。

于 2013-10-03T12:39:03.547 に答える