对于循环内部While循环打印相同的项目

时间:2017-07-05 15:19:56

标签: php sql-server json loops

也许是一个愚蠢的问题,但我真的被困在这里..

有人可以帮我理解如何让我的for循环在while循环中正常工作吗?

例如,我有2个数据库。使用while循环我想显示Id以创建URL。

while( $row = sqlsrv_fetch_array( $stmt)){
    $id = $row['id']; 

    $string = file_get_contents("https://www.url.co.uk/".$id.".json?app_id=b&token=6");
    $arr = json_decode($string, true);

工作完美。现在我在该循环中尝试将每个URL的数据插入到新表中

for ($i = 0; $i < 10; $i++) {
$query = "INSERT INTO TABLE( title, id )"; 
$query .= "VALUES( '{$title}', '{$id}' )";

 $dataatodb = sqlsrv_query($conn, $query);  
 if(!$dataatodb){
     die(print_r(sqlsrv_errors(),true));
 }
}

我正在尝试为每个URL插入到新表中的数据。

例如

www.url.co.uk/id1.json?app_id=1&token=1 INSERT id,title

www.url.co.uk/id2.json?app_id=1&token=1 INSERT id,title

www.url.co.uk/id3.json?app_id=1&token=1 INSERT id,title

但不是这样,每件物品会变成10次

这是

$query = "SELECT [id] FROM [Cruise].[dbo].[suppliers]";
$stmt = sqlsrv_query( $conn, $query);

while( $row = sqlsrv_fetch_array( $stmt)){
    $id = $row['id']; 

    $string = file_get_contents("https://www.widgety.co.uk/api/operators/".$id.".json?app_id=b92d3957926f289200aa89baf2b6f3a2f7156486&token=6ef0dcc476d87160f2ec05d86132ff5e4f40fd66b668e736f3eac6b2fbcd7510");
    $arr = json_decode($string, true);

    for ($i = 0; $i < 108; $i++) {
       $title = $arr['title'];
       $id    = $arr['id'];


       $query = "INSERT INTO TABLE( title, id )"; 
       $query .= "VALUES( '{$title}', '{$id}' )";

       $dataatodb = sqlsrv_query($conn, $query);  
       if(!$dataatodb){
          die(print_r(sqlsrv_errors(),true));
       }//if
    }//for
}//while

0 个答案:

没有答案