私はこれを機能させることができないので、誰かがこれで私を正しい方向に向けることができることを願っています。クライアントが (Rightmove) .blm ファイルをサーバーにアップロードし、スクリプトが zip ファイルを解凍し、パーサーを使用してプロパティを配列に取得します。ここからデータベースに INSERT を実行できますが、問題はありません。存在する場合はデータベース内の情報を更新するためにこれが必要です。それ以外の場合は、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 .'');
お時間をいただきありがとうございます。