コンテンツ タイプがあるポータルで作業しています。このポータルを作成したフロント エンド開発者は、添付ファイル用の CCK フィールドを追加しました。また、コアによって指定された添付ファイル フィールドが既に存在します。私もわからないので、なぜ彼がそうしたのかについては議論しません。
ここで、その CCK フィールドを削除する必要があります。直接削除すると、このフィールドによってアップロードされたすべてのデータが失われ、テーブルが削除されます。
そのため、このCCKフィールドテーブルの値をデフォルトのアップロードテーブルに置き換え、ファイルテーブルのファイルパスを更新して、添付ファイルが表示されるようにしようとしています。
私はPHPやMySQLがあまり得意ではないので、皆さんからの助けを求めています..
これが私が書いた基本的なコードです...修正を提案してください。そうすることでリモートサーバーDBに接続できるか教えてください-
<?php
mysql_connect("http://edlabs.in/connect:22","connect","");
mysql_select_db("connect");
for($i=0; $i<=1; $i++){
$fid_cck = array(mysql_query("SELECT field_upload_doc_fid FROM content_field_upload_doc WHERE field_upload_doc_list > 0"));
$fid_core = array(mysql_query("SELECT fid FROM upload"));
foreach($fid_cck as $fid_cck_value){
foreach($fid_core as $fid_core_value)
{
if($fid_cck_value != $fid_core_value){
$file_name = mysql_query("SELECT filename FROM files WHERE fid = $fid_cck");
$nid_cck = mysql_query("SELECT nid FROM field_upload_doc_fid WHERE fid = $fid_cck");
$vid_cck = mysql_query("SELECT vid FROM field_upload_doc_fid WHERE fid = $fid_cck");
mysql_query("INSERT INTO upload VALUES('$fid_cck', '$nid_cck', '$vid_cck', '$file_name', 1, 0)");
$filepath = array(mysql_query("SELECT filepath FROM files WHERE fid = $fid_cck"));
$new_filepath = str_replace("/background_docs", "", $filepath);
mysql_query("UPDATE files SET filepath=$new_filepath WHERE fid = $fid_cck");
}
}
}
}
?>