希望有人能指出我正确的方向,因为我无法让它工作。这就是发生的情况:我的客户端将(Rightmove).blm 文件上传到服务器,脚本解压缩 zip 文件并使用解析器将属性放入数组中。从这里我可以毫无问题地插入数据库,如果存在,我需要它来更新数据库中的信息,否则插入,因为 blm 文件可能包含新属性或已编辑的现有属性。blm 文件仅包含属性信息,没有 id 等,因此一旦插入数据库,我就会通过自动添加给它一个 id (propid)。
请查看下面的代码,希望您有一个建议,我可以用它来做我需要做的事情:)
foreach ($rmdata as $key => $properties) {
$fields = array();
$values = array();
foreach ($rmdata[$key] as $field=>$value) {
if (!isset($value)) {
}
if (isset($value)) {
$sql_props = mysql_query("SELECT propid FROM epsales");
while($row = mysql_fetch_array($sql_props)){
$propid = $row["propid"];
}
$fields[] = $field;
$values[] = "'".$value."'";
$array1 = array($field);
$array2 = array($value);
$sqlupdate = array_combine($array1, $array2);
foreach ($sqlupdate as $field=>$value) {
$sql_update = "$field='$value', ";
}
}
}
$sql_fields = implode(', ', $fields);
$sql_values = implode(', ', $values);
$sqlPropInsert = mysql_query('INSERT INTO epsales ('. $sql_fields .') VALUES ('. $sql_values .') ON DUPLICATE KEY UPDATE SET '. $sql_update .'');
感谢您抽出宝贵的时间,非常感谢!