Я пытаюсь вставить информацию из Excel в текстовое поле, которое затем разбивает ее на каждое поле, однако я хочу также сохранить пустые поля, поскольку не все поля всегда будут содержать данные.
Данные вставляются в 13 columns (with some blank), каждый из которых разделен табуляцией и затем переносится на новую строку. Общее количество строк меняется ежедневно с
1 - 100 EG:
Dr Pete 1234567890 anthony woods 11/11/11 planned visit 12/12/12 dr roger AMH 13/01/13 planned discharge usual place of residence "would be blank"
ИЛИ ЖЕ
Dr Pete 1234567890 anthony woods 11/11/11 planned visit 12/12/12 dr roger AMH "would be blank" "would be blank" "would be blank" "would be blank"
html-форма:
<form name = "form1" method = "post" action = "insert.php">
<textarea name = "area"></textarea>
<input type = "submit" name = "submit" value = "submit">
</form>
php insert.php:
$area = preg_split("[\t]", "$textarea");
print_r($area);
$sql = "INSERT INTO admissions (registered_gp, nhs_no, forename, surname, dob, admission_method, admitted_on, consultant, ward, discharge_date,
discharge_reason, discharged_to, date_of_death)
VALUES ('$area')";
Я зашел так далеко и получил следующую ошибку «Количество столбцов не соответствует количеству значений в строке 1» - я полагаю, это потому, что я перечислил 13 полей, но только одно значение. Как бы я мог иметь достаточно значений для каждого поля, включая пробелы.
Я бы предположил, что мне нужно разделить каждую строку данных, а затем отделить каждый столбец данных и дать ему собственное имя значения?






вы можете изменить свой код вот так и попробовать
$var = 'Dr Pete 1234567890 anthony woods 11/11/11 planned visit 12/12/12 dr roger AMH 13/01/13 planned discharge usual place of residence "would be blank"';
$area = explode(" ", $var);
$registered_gp = $area[0] ;
$nhs_no = $area[1] ;
$forename = $area[2] ;
$surname = $area[3] ;
$dob = $area[4] ;
$admission_method = $area[5] ;
$admitted_on = $area[6] ;
$consultant = $area[7] ;
$ward = $area[8] ;
$discharge_date = $area[9] ;
$discharge_reason = $area[10] ;
$discharged_to = $area[11] ;
$date_of_death = $area[12] ;
$sql = mysql_query("INSERT INTO admissions (registered_gp, nhs_no, forename, surname, dob, admission_method, admitted_on, consultant, ward, discharge_date,
discharge_reason, discharged_to, date_of_death)
VALUES ('$registered_gp','$nhs_no','$forename','$surname','$dob','$admission_method','$admitted_on','$consultant','$ward','$discharge_date','$discharge_reason','$discharged_to','$date_of_death')");
да, он будет извлекать данные из текстового поля, пожалуйста, убедитесь, что вы указали разделенные табуляцией между каждой отдельной информацией. Например, $ var = 'Dr Pete 1234567890 Anthony Woods 11/11/11 запланированный визит 12/12/12 dr roger AMH "будет пустым" "будет пустым" "будет пустым" "пустым" ';
Как только я помещаю этот код на страницу, появляется ошибка http 500.
Я попытался использовать приведенный выше код и снова застрял. Бит $var = #### я вообще не понимаю и, похоже, не работает. Я использую $area1 = preg_replace("[\t]", ',', $textarea); и $area = explode(",", $area1); . Это затем идеально разделяет данные на массив. Пока я не введу более одной строки данных, последнее пустое поле заменяется первым используемым полем следующей строки и вместо этого становится array [13] вернуться к [0] ??? Любые идеи? Я искал в Интернете 8 часов, но ничего не нашел.
измените вкладки запятыми прямо перед выполнением $ sql = ...
$area = str_replace("[\t]", "','", $area);
это будет использоваться с приведенным выше кодом с комментариями или с моим исходным кодом?
Должно быть: $ area = str_replace ("[\ t]", ",", $ textarea);
в файле php, прежде чем вставлять var $ area в строку $ sql. php insert.php: $area = str_replace("[\t]", "','", $area); $sql = "INSERT INTO admissions (registered_gp, nhs_no, forename, surname, dob, admission_method, admitted_on, consultant, ward, discharge_date, discharge_reason, discharged_to, date_of_death) VALUES ('$area')";
Привет, Спасибо за ответ, но будет ли это работать, если данные будут извлекаться из текстовой области вместо предустановленных данных?