我导入一个csv文件并在左侧写下csv的标题。在右侧,我创建了一个下拉列表。在下拉列表中,我有我的mysql列的值。我想在下拉列表中选择相应的CSV标题。
$handle = fopen($dateinameneu, "r");
$data = fgetcsv ($handle, 500, $spaltentrennzeichen);
for ($i = 0, $j = count($data); $i < $j; $i++) {
echo '
<div class="control-group">
<label class="control-label" for="'.$data[$i].'">'.$data[$i].'</label>
<div class="controls">
<select id="'.$data[$i].'" name="'.$data[$i].'">
<option value="">Choose</option>
<option value="email">email</option>
<option value="phone">phone</option>
</select>
</div>
</div>
';
现在我把它发布到一个新的php文件中。 importfile。在那里,我需要使用下拉列表中的变量。我想将它保存到我的mysql中。但我不知道如何使用它。
$sql="
LOAD DATA LOCAL INFILE '$datei'
INTO TABLE empfaenger
FIELDS TERMINATED BY '$spaltentrennzeichen'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
SET
email = '###'
mysql_query($sql,$db);
###
我需要在下拉列表中插入我之前选择的列名称,即电子邮件。
答案 0 :(得分:0)
所以基本上你想告诉mysql你在csv中给出的表的哪些列?使用http://dev.mysql.com/doc/refman/5.1/de/load-data.html很容易,只需在语句末尾给出要插入的列()。由于你没有给出表格结构,我不得不猜测。
LOAD DATA LOCAL INFILE '$datei'
INTO TABLE empfaenger
FIELDS TERMINATED BY '$spaltentrennzeichen'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(empfaenger_name, $value_column_name )
set empfaenger_id = null
;
csv有多少个列,哪个列有哪些列?如果您给这些信息,您将得到更好的答案。
编辑: 要丢弃不需要的列,只需将它们放入变量中即可。
(@ somecol0,@ somecol1,@ somecol2,email)
EDIT2:
如果表格包含empfaenger_id, email, phone
列。 csv给出为(empfaenger_id,email),然后语句为
LOAD DATA LOCAL INFILE '$datei'
INTO TABLE empfaenger
FIELDS TERMINATED BY '$spaltentrennzeichen'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(empfaenger_id, email ) # that line is variable!
;
如果你的网页上说,csv是empfaenger_id,电话,声明是
LOAD DATA LOCAL INFILE '$datei'
INTO TABLE empfaenger
FIELDS TERMINATED BY '$spaltentrennzeichen'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(empfaenger_id, phone ) # that line is variable!
;
您只需在SQL表中创建(在用户提交后)csv列的列名列表。