Php Drupal DB:必须通过检查远程服务器上的条件将一些数据从一个表移动到另一个表。。!
我正在使用一个门户,其中有内容类型。制作此门户的前端开发人员为文件附件添加了一个CCK字段&core已经给出了文件附件字段。 现在我们不讨论他为什么这么做,因为我也不知道 现在我必须删除该CCK字段&如果我直接删除,我将丢失该字段上载的所有数据,因为它将删除该字段的表 因此,现在我尝试将此CCK字段表中的值替换为默认上载表,并更新文件表中的文件路径..以便可以查看附加文件 因为我不太擅长PHP或MySQL,所以我正在寻求你们的帮助 这是我写的基本代码…请建议更正&请告诉我这样做时我能连接远程服务器数据库吗-Php Drupal DB:必须通过检查远程服务器上的条件将一些数据从一个表移动到另一个表。。!,php,mysql,drupal,cck,remote-server,Php,Mysql,Drupal,Cck,Remote Server,我正在使用一个门户,其中有内容类型。制作此门户的前端开发人员为文件附件添加了一个CCK字段&core已经给出了文件附件字段。 现在我们不讨论他为什么这么做,因为我也不知道 现在我必须删除该CCK字段&如果我直接删除,我将丢失该字段上载的所有数据,因为它将删除该字段的表 因此,现在我尝试将此CCK字段表中的值替换为默认上载表,并更新文件表中的文件路径..以便可以查看附加文件 因为我不太擅长PHP或MySQL,所以我正在寻求你们的帮助 这是我写的基本代码…请建议更正&请告诉我这样做时我能连接远程服务
<?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");
}
}
}
}
?>
我通过以下步骤解决了这个问题- 在本地phpmyadmin中创建了一个与我的门户同名的数据库。 导出了三个名为content\u field\u upload\u doc、files和upload的表,它们来自我的门户数据库。 编写了一个自定义PHP代码,其中包含一些MySQL查询,用于查询和查找那些位于content\u field\u upload\u doc中但不在upload table中的文件的差异,并从表文件中选择了这些文件的名称。我给出了下面的代码。 在我的wamp上运行代码并回显INSERT查询。 复制了所有查询并在门户数据库的phpmyadmin上使用SQL执行该查询。 从公用文件夹中以前使用的文件夹复制所有文件,并将其粘贴到默认公用文件夹。 从内容类型中删除了CCK字段…完成了 “无法连接:”。错误; } 否则{ } ?>
因为我不太擅长PHP或MySQL,所以我正在寻求你们的帮助找个家庭教师来完成你的专业工作。和你的团队领导谈谈,你需要更多的培训来解决你的工作。重要的是你要在你的工作环境中明确这一点,而不是在这里。我会在乎的。。谢谢:现在已经修好了…我已经修好了:很高兴看到你已经解决了!请在下面添加您的解决方案作为答案并接受它是的,这是有效的-这就是本网站的工作方式,并将您的问题标记为已接受。非常感谢。
mysql_select_db("connect");
$rs_fudl = mysql_query("SELECT vid, nid, field_upload_doc_fid FROM content_field_upload_doc WHERE field_upload_doc_list > '0'");
while($rs_fudl_row = mysql_fetch_array($rs_fudl))
{
$fid_fudl = $rs_fudl_row['field_upload_doc_fid'];
$rs_file = mysql_query("SELECT filename,filepath FROM files WHERE fid = '$fid_fudl'");
//echo mysql_num_rows($rs_file)."<br />";
while($rs_file_row = mysql_fetch_array($rs_file)){
$rs_upload = mysql_query("SELECT * FROM upload where fid='".$fid_fudl."'");
if ( mysql_num_rows($rs_upload) == 0) {
/* $new_filepath = str_replace("/background_docs", "", $rs_file_row['filepath']);
$filepath = $new_filepath;
*/
$filename = $rs_file_row['filename'];
$vid_fudl = $rs_fudl_row['vid'];
echo "<br />";
$nid_fudl = $rs_fudl_row['nid'];
echo "<br />";
echo "INSERT INTO upload VALUES ('$fid_fudl','$nid_fudl', '$vid_fudl', '$filename','1', '0');" ;
echo "<br />";
// echo "UPDATE files SET filepath= '$filepath' WHERE fid = '$fid_fudl';";
}
}
}
mysql_close($con);