2013-09-10 6 views
0

Я хотел бы обновить одну таблицу от другой. Я выбор данных из одной таблицы:php UPDATE table row by row

$result2 = mysql_query ('SELECT * FROM pages_language_overlay WHERE sys_language_uid = 1', $con); 

А теперь я хотел бы обновить несколько таблиц по строкам с выбранными данными:

while ($row2 = mysql_fetch_array($result2)){ 

$updatepowerfields = "UPDATE tx_powermail_fields SET tstamp='$row2[11]' WHERE sys_language_uid = 0"; 
mysql_query($updatepowerfields,$con); 



$updatepowerfieldsets = "UPDATE tx_powermail_fieldsets SET pid='$row2[0]', tstamp='$row2[11]', crdate='$row2[12]', cruser_id='$row2[13]', 
t3ver_oid='$row2[2]', t3ver_id='$row2[3]', t3ver_wsid='$row2[4]', t3ver_label='$row2[5]', t3ver_state='$row2[6]', t3ver_stage='$row2[7]', t3ver_count='$row2[8]', 
t3ver_tstamp='$row2[9]', t3_origuid='$row2[10]', deleted='$row2[19]', hidden='$row2[16]', starttime='$row2[17]', endtime='$row2[18]', title='$row2[15]' 
         WHERE sys_language_uid = 0"; 
mysql_query($updatepowerfieldsets$con);    

}    

Это работает, но не так, как я ожидал. На первой итерации «while» он просто переписывает целую таблицу с одной строкой. Мне нужно обновить эти таблицы подряд за строкой. Что я делаю не так? Не могли бы вы мне помочь? Thank you

+2

Запустите, вы закричаете поклонниками mysqli через несколько секунд! – Virus721

+0

Ваш вопрос требует более подробной информации. –

ответ

4
while ($row2 = mysql_fetch_array($result2)){ 
    for($i = 1; $i <= sizeof($row2); i++) { 
     mysql_query("update fld_name = $row2[i] where $id = '$i'"); 
    } 
} 

на самом деле вам не нужно во время цикла, как только одна строка выбрана! Надеюсь, это поможет.!!