Пытаюсь построить таблицу основываяся на полученных из файла csv данных, а именно мне необходимо сделать возможным выбрать название для каждого поля из файла разделенного запятой, например:
поле, поле2, поле3, поле4
поле, поле2, поле3, поле4, поле5
поле, поле2, поле3, поле4, поле5, поле6
поле, поле2, поле3, поле4
поле, поле2, поле3, поле4
После загружки файла с такими полями мне необходимо для каждого из полей назначить названия для того, чтобы далее сохранить данные в базу данных MySQL.
Примерно так это выглядит
https://i.gyazo.com/5792f6b8541006ba9ffef06d8025cd...
Получилось отображать select с выбором названия для конкретного поля только в том случае, если данное поле не пустое, иначе выглядеть может так
Стало понятно, что остальные поля тоже важны, вот мой вопрос: как изменить код так, чтобы он отображал select для тех полей, которые пусты в конкретной строке, НО далее в строках файла данные поля не пусты? Т.е., как отобразить select для данного варианта (4 столбец).
Код мой очень приметивный, не сталкивался с подобными задачами, да и вообще далеко не программист...
Спасибо!
Код:
function multiexplode ($delimiters, $string) {
$ready = str_replace($delimiters, $delimiters[0], $string);
$launch = explode($delimiters[0], $ready);
return $launch;
}
<table>
<tr>';
$i = 0; //начальное значение
while ((($i <= 0) and $text = fgets($fp, 4096)) !== false) {
$i++;
$text = str_replace('"', '', $text);
$exploded = multiexplode (array(",", ";", "|"), $text);
foreach($exploded as $item){
$item = trim ($item);
if(isset($item) && $item !== '') {
echo '
<th>
<select name="select2">
<option selected="selected">Выберите поле</option>
<option value="name">Имя</option>
<option value="phone">Телефон</option>
<option value="data">Дата рождения</option>
<option value="create">+ Создать новое поле</option>
</select>
</th>';
}
}
print '
</tr>';
}
while ((($i <= 4) and $text = fgets($fp, 4096)) !== false) {
$text = str_replace('"', '', $text);
$exploded = multiexplode (array(",", ";", "|"), $text);
$i++;
print '
<tr>';
foreach($exploded as $item){
//$item = str_replace(',', '', $item);
$item = trim ($item);
if(isset($item) && $item !== '') {
print ' <td>' . $item . '</td>
';
}
}
print '
</tr>';
}
print '
</table>
';