php 定制配送选择选项

r7s23pms  于 2023-01-16  发布在  PHP
关注(0)|答案(3)|浏览(126)

我想添加一个选择选项到我的自定义啜饮方法,我有一个CSV,我已经从其他URL抓取所有数据,并希望显示所有的数据在选择选项与while和foreach循环,但不能得到所有的行,只有最后一个显示在选择选项,任何帮助与我的代码?

$_['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);
wh6knrhe

wh6knrhe1#

您没有正确使用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>
...
ezykj2lf

ezykj2lf2#

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

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

相关问题