自定义运输 select 选项

Custom shipping select option

我想在我的自定义 sipping 方法中添加一个 select 选项,我有一个 csv,我从其他 url 中抓取了所有数据,并想显示 [=] 中的所有数据17=] 选项与 while 和 foreach 循环,但无法获取所有行,只有最后一行显示在 select 选项中,对我的代码有帮助吗?

$_['text_title']       = 'LP express 24/7';

$csv = file_get_contents('https://www.lpexpress.lt/out/fck/fck_file/Terminal%C5%B3_ID_2019_01_02.csv');

file_put_contents('data.csv', str_replace(';', ' ',$csv));

$handle = fopen('data.csv', "r");

fgetcsv($handle);
fgetcsv($handle);

while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
    foreach($data as $value=>$title) {  
        //view the data 
        $select = '<option value = "' . $value. '">' . $title. '</option>';  
    } 
}

$_['text_description'] = '<select>' . $select . '</select>';

fclose($handle);

你没有正确使用fgetcsv(),前面的处理很奇怪

测试并改编此脚本:

$csv = 'https://www.lpexpress.lt/out/fck/fck_file/Terminal%C5%B3_ID_2019_01_02.csv';
$fp = fopen($csv, 'r');
fgetcsv($fp); // Skip empty line
fgetcsv($fp); // Skip header
$html = "<select>\r\n";
while ( ($data = fgetcsv($fp, 0, ';', '"')) !== FALSE ) {
    $html .= "<option value='$data[1]'>$data[2] -- $data[3] $data[4] $data[0]</option>\r\n";
}
fclose($fp);
$html .= "</select>\r\n";
echo $html;

它给出:

<select>
<option value='0101'>Akropolis -- Ozo g. 25 07150 Vilnius</option>
<option value='0102'>Maxima XXX -- Ukmergės g. 282 06115 Vilnius</option>
<option value='0103'>Maxima XX -- Liepkalnio g. 112 02121 Vilnius</option>
<option value='0104'>Banginis -- P. Lukšio g. 34 08235 Vilnius</option>
<option value='0106'>Centrinis paštas -- Gedimino pr. 7 01103 Vilnius</option>
<option value='0107'>Maxima XX -- J. Tiškevičiaus g. 22 02231 Vilnius</option>
<option value='0108'>Panorama -- Saltoniškių g. 9 08105 Vilnius</option>
<option value='0110'>Circle K -- Laisvės pr. 43C 05112 Vilnius</option>
<option value='0111'>IKI Minskas -- Žirmūnų g. 2 09214 Vilnius</option>
...

您需要将文件内容附加到您的 $select 变量,而不是每次迭代都分配新条目

while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
    foreach($data as $value=>$title) {  
        //view the data 
//here => 
        $select .= '<option value = "' . $value. '">' . $title. '</option>';  
    } 
}

购买其中之一的最便宜方式...https://www.opencart.com/index.php?route=marketplace/extension&filter_search=lpexpress