2016-11-05 52 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 
相關問題