dpps0715 2014-06-23 13:18
浏览 56

更新查询语句多次循环结果

I have used following looping condition in order to update the database. I am getting multiple rows from select statement. And now i want to store those rows in database using update statement.In this condition multiple update statement are getting looped and because of that my database is not getting updated. I just want to loop update query single time and multiple rows from select statement gets stored in the database. Its just small mistake i am doing not able to identify wrong looping i guess.

Here is my code:

if($param['aktion'] == 'save-widget-news')
{

        if(($param['news'])==4){

        $sql=" SELECT DISTINCT ad_news_texte.headline, ad_news.datum_archiv,ad_news_texte.id
            FROM autodo.ad_news_texte
            INNER JOIN autodo.ad_news_oe ON ad_news_texte.news_id = ad_news_oe.id_ad_news
            INNER JOIN autodo.ad_news ON ad_news_oe.id_ad_news = ad_news.id
            WHERE ad_news.datum_archiv
            BETWEEN curdate( ) - INTERVAL DAYOFWEEK( curdate( ) ) +28
            DAY AND curdate( )";    
        }
            elseif(($param['news'])==6){

        $sql=" SELECT DISTINCT ad_news_texte.headline, ad_news.datum_archiv,ad_news_texte.id
            FROM autodo.ad_news_texte
            INNER JOIN autodo.ad_news_oe ON ad_news_texte.news_id = ad_news_oe.id_ad_news
            INNER JOIN autodo.ad_news ON ad_news_oe.id_ad_news = ad_news.id
            WHERE ad_news.datum_archiv
            BETWEEN curdate( ) - INTERVAL DAYOFWEEK( curdate( ) ) +42
            DAY AND curdate( )";

            }
            elseif(($param['news'])==10){

        $sql=" SELECT DISTINCT ad_news_texte.headline, ad_news.datum_archiv,ad_news_texte.id
            FROM autodo.ad_news_texte
            INNER JOIN autodo.ad_news_oe ON ad_news_texte.news_id = ad_news_oe.id_ad_news
            INNER JOIN autodo.ad_news ON ad_news_oe.id_ad_news = ad_news.id
            WHERE ad_news.datum_archiv
            BETWEEN curdate( ) - INTERVAL DAYOFWEEK( curdate( ) ) +70
            DAY AND curdate( )";

            }

            $sql_select=mysql_query($sql);  
            while ($row = mysql_fetch_assoc($sql_select)) {
            echo $update="UPDATE dashboard_widget_users w SET w.configuration='".mysql_real_escape_string(serialize($row['headline']))."' WHERE w.dsnr_yw_user =12 AND w.dsnr_dashboard_widget=2 ";
            $update_news=mysql_query($update, $myConnection);
            }

In firebug i checked here is how it is looping and executing the update condition multiple times which i dont want:

UPDATE dashboard_widget_users w 
SET w.configuration='s:65:\"AutoDo! News: Neue Pflichtfelder für Neuwagen bei AutoScout24.de!\";' 
WHERE w.dsnr_yw_user =12 AND w.dsnr_dashboard_widget=2;

UPDATE dashboard_widget_users w 
SET w.configuration='s:65:\"New intercompany prices for delivery to Schmitz Cargobull Russia.\";' 
WHERE w.dsnr_yw_user =12 AND w.dsnr_dashboard_widget=2;

UPDATE dashboard_widget_users w 
SET w.configuration='s:22:\"AutoDo! startet durch.\";' 
WHERE w.dsnr_yw_user =12 AND w.dsnr_dashboard_widget=2;
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 python的qt5界面
    • ¥15 无线电能传输系统MATLAB仿真问题
    • ¥50 如何用脚本实现输入法的热键设置
    • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
    • ¥30 深度学习,前后端连接
    • ¥15 孟德尔随机化结果不一致
    • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
    • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
    • ¥15 谁有desed数据集呀
    • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100