2016-11-05 54 views
0

嗨eny可以帮助我解决这个问题吗?如果“dauer_auftrag”为数值1,我需要18:00后的所有数据将表“texirequest”中的所有数据复制到表“dispo”,并在chek table“dispo”后删除表“texirequest”上的所有数据1将所有数据复制到“texirequest “使用的cronjobCron php更新/从另一个插入一个sql表并删除旧表中的数据

<?php 
$dauerauftrag_array = array(1); 
$con = mysql_connect("localhost","admin","password"); 
if(!$con) { 
    die('could not connect: '.mysql_error()); 
} 
mysql_select_db('admin_transport', $con); 

foreach($dauerauftrag_array AS $dauerauftrag) { 
    $result = mysql_query("SELECT * FROM dispo WHERE dauer_auftrag = '".$dauerauftrag."'"); 
    while($row = mysql_fetch_array($result)) { 
     mysql_query("INSERT INTO texirequest (id, driver_id, driver_email, driver_name, sender_id, name, typ, sbehalt, Transportar, bfahrer, zinfo, ein_stieg, aus_stieg, dauer_auftrag, status, phoneM, phoneF, termin, termin_austirg, phone, droplocation, location, latitude, longitude, timedate, accept) 
     VALUES ('".$row['id']."', '".$row['driver_id']."', '".$row['driver_email']."', '".$row['driver_name']."', '".$row['sender_id']."', '".$row['name']."', '".$row['typ']."', '".$row['sbehalt']."', '".$row['Transportar']."', '".$row['bfahrer']."', '".$row['zinfo']."', '".$row['ein_stieg']."', '".$row['aus_stieg']."', '".$row['dauer_auftrag']."', '".$row['status']."', '".$row['phoneM']."', '".$row['phoneF']."', '".$row['termin']."', '".$row['termin_austirg']."', '".$row['phone']."', '".$row['droplocation']."', '".$row['location']."', '".$row['latitude']."', '".$row['longitude']."', '".$row['timedate']."', '".$row['accept']."') ON DUPLICATE KEY UPDATE id = '".$row['id']."', '".$row['driver_id']."', '".$row['driver_email']."', '".$row['driver_name']."', '".$row['sender_id']."', '".$row['name']."', '".$row['typ']."', '".$row['sbehalt']."', '".$row['Transportar']."', '".$row['bfahrer']."', '".$row['zinfo']."', '".$row['ein_stieg']."', '".$row['aus_stieg']."', '".$row['dauer_auftrag']."', '".$row['status']."', '".$row['phoneM']."', '".$row['phoneF']."', '".$row['termin']."', '".$row['termin_austirg']."', '".$row['phone']."', '".$row['droplocation']."', '".$row['location']."', '".$row['latitude']."', '".$row['longitude']."', '".$row['timedate']."', '".$row['accept']."'"); 
    } 
} 
mysql_close($con); 
?> 

没有复制表 ”分析辅助机构“ 表 ”texirequest“ 如果dauer_auftrag = 1

我texirequest表

CREATE TABLE `texirequest` (
    `id` int(11) NOT NULL, 
    `driver_id` varchar(100) NOT NULL, 
    `driver_email` varchar(100) NOT NULL, 
    `driver_name` varchar(100) NOT NULL, 
    `sender_id` varchar(100) NOT NULL, 
    `name` varchar(100) NOT NULL, 
    `typ` varchar(100) NOT NULL, 
    `sbehalt` varchar(100) NOT NULL, 
    `Transportar` varchar(100) NOT NULL, 
    `bfahrer` varchar(100) NOT NULL, 
    `zinfo` varchar(100) NOT NULL, 
    `ein_stieg` varchar(100) NOT NULL, 
    `aus_stieg` varchar(100) NOT NULL, 
    `dauer_auftrag` varchar(100) NOT NULL, 
    `status` varchar(100) NOT NULL, 
    `phoneM` varchar(100) NOT NULL, 
    `phoneF` varchar(100) NOT NULL, 
    `termin` varchar(100) NOT NULL, 
    `termin_austirg` varchar(100) NOT NULL, 
    `phone` varchar(100) NOT NULL, 
    `droplocation` varchar(100) NOT NULL, 
    `location` text NOT NULL, 
    `latitude` varchar(100) NOT NULL, 
    `longitude` varchar(100) NOT NULL, 
    `timedate` text NOT NULL, 
    `accept` int(11) NOT NULL 
) ENGINE=MyISAM DEFAULT CHARSET=latin1; 

,这我我的“dispo”表

CREATE TABLE `dispo` (
    `id` int(11) NOT NULL, 
    `driver_id` varchar(100) NOT NULL, 
    `driver_email` varchar(100) NOT NULL, 
    `driver_name` varchar(100) NOT NULL, 
    `sender_id` varchar(100) NOT NULL, 
    `name` varchar(100) NOT NULL, 
    `typ` varchar(100) NOT NULL, 
    `sbehalt` varchar(100) NOT NULL, 
    `Transportar` varchar(100) NOT NULL, 
    `bfahrer` varchar(100) NOT NULL, 
    `zinfo` varchar(100) NOT NULL, 
    `ein_stieg` varchar(100) NOT NULL, 
    `aus_stieg` varchar(100) NOT NULL, 
    `dauer_auftrag` varchar(100) NOT NULL, 
    `status` varchar(100) NOT NULL, 
    `phoneM` varchar(100) NOT NULL, 
    `phoneF` varchar(100) NOT NULL, 
    `termin` varchar(100) NOT NULL, 
    `termin_austirg` varchar(100) NOT NULL, 
    `phone` varchar(100) NOT NULL, 
    `droplocation` varchar(100) NOT NULL, 
    `location` text NOT NULL, 
    `latitude` varchar(100) NOT NULL, 
    `longitude` varchar(100) NOT NULL, 
    `timedate` text NOT NULL, 
    `accept` int(11) NOT NULL 
) ENGINE=MyISAM DEFAULT CHARSET=latin1; 
+0

' “admin_transport”'? –

+0

可能是你错过了报价标志周围admin_transport – reza

+0

嗯我找不到错误 – Goran

回答

0

只是写'a​​dmin_transport'像'admin_transport',因为这不是一个定义的关键字。

+0

多数民众赞成在多数民众赞成在解决这个问题蝙蝠不要复制表“dispo”数据表“texirequest”如果dauer_auftrag = 1 – Goran

+0

Thenks for you help我已解决此问题问题其工作良好接下来是添加funktion来检查表“texirequest”如果“接受”值1,2或3从表 – Goran

2

admin_transport是变量或DB名称。如果它是一个数据库名称,请在名称周围使用引号,如果它是一个变量,则在变量名称前缺少$

+0

删除admin_transport是数据库名称 – Goran

+0

然后使用单引号围绕数据库名称 –

0

我完成的脚本所有的bug解决

#!/usr/bin/php 
    <?php 
    $dauerauftrag_array = array(1); // Select DauerAuftrag Value 1=ON 
    $mid_array = array(0, 1, 2, 3); // Set Curent accept value to delete tables like 1,2,3,4 0 = for Dauerauftrag 

    $con = mysql_connect("localhost","username","password"); 
    if(!$con) { 
     die('could not connect: '.mysql_error()); 
    } 
    mysql_select_db('admin_transport', $con); 

    foreach($mid_array AS $mid) 
    $d=mysql_query("DELETE FROM texirequest WHERE accept = '".$mid."'"); 

    if ($d) {print("Update Durchgefürt.");} 

    foreach($dauerauftrag_array AS $id) { 
     $result = mysql_query("SELECT * FROM dispo WHERE dauer_auftrag = '".$id."'"); 
     while($row = mysql_fetch_array($result)) { 
     mysql_query("INSERT INTO texirequest (id, driver_id, driver_email, driver_name, sender_id, name, typ, sbehalt, Transportar, bfahrer, 
    zinfo, ein_stieg, aus_stieg, dauer_auftrag, status, phoneM, phoneF, termin, termin_austirg, phone, droplocation, location, latitude, longitude, timedate, accept) 
    VALUES (
    '".$row['id']."', '".$row['driver_id']."', '".$row['driver_email']."', '".$row['driver_name']."', '".$row['sender_id']."', '".$row['name']."', '".$row['typ']."', 
    '".$row['sbehalt']."', '".$row['Transportar']."', '".$row['bfahrer']."', '".$row['zinfo']."', '".$row['ein_stieg']."', '".$row['aus_stieg']."', '".$row['dauer_auftrag']."', 
    '".$row['status']."', '".$row['phoneM']."', '".$row['phoneF']."', '".$row['termin']."', '".$row['termin_austirg']."', '".$row['phone']."', '".$row['droplocation']."', 
    '".$row['location']."', '".$row['latitude']."', '".$row['longitude']."', '".$row['timedate']."', '".$row['accept']."') ON DUPLICATE KEY UPDATE id = '".$row['id']."', 
    driver_id = '".$row['driver_id']."', driver_email = '".$row['driver_email']."', driver_name = '".$row['driver_name']."', sender_id = '".$row['sender_id']."', 
    name = '".$row['name']."', typ = '".$row['typ']."', sbehalt = '".$row['sbehalt']."', Transportar = '".$row['Transportar']."', bfahrer = '".$row['bfahrer']."', 
    zinfo = '".$row['zinfo']."', ein_stieg = '".$row['ein_stieg']."', aus_stieg = '".$row['aus_stieg']."', dauer_auftrag = '".$row['dauer_auftrag']."', 
    status = '".$row['status']."', phoneM = '".$row['phoneM']."', phoneF = '".$row['phoneF']."', termin = '".$row['termin']."', termin_austirg = '".$row['termin_austirg']."', 
    phone = '".$row['phone']."', 
    droplocation = '".$row['droplocation']."', location = '".$row['location']."', latitude = '".$row['latitude']."', longitude = '".$row['longitude']."', 
    timedate = '".$row['timedate']."', accept = '".$row['accept']."'"); 

    } 
    } 
    mysql_close($con); 
    ?> 

crontab的配置

# Crontab Auto Update 
# .---------------- minute (0 - 59) 
# | .------------- hour (0 - 23) 
# | | .---------- day of month (1 - 31) 
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ... 
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat 
# | | | | | 
# * * * * * user-name command to be executed 
0 18 * * * /usr/bin/php /var/www/vhosts/xyz.com/httpdocs/admin/cron0_allauftrag.php 
4 18 * * * /usr/bin/php /var/www/vhosts/xyz.com/httpdocs/admin/cron1_dauerauftrag.php 
8 18 * * * /usr/bin/php /var/www/vhosts/xyz.com/httpdocs/admin/cron2_auftrag.php 
相关问题