自定义运输 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
我想在我的自定义 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