在循环期间使用一段时间mysql_fetch_array和UPDATE - 第二部分

时间:2011-02-27 19:26:46

标签: php mysql

我为不知道如何做到这一点而道歉。我去添加到我的其他question,我无法弄清楚如何将其添加到它。

我正在尝试将您的答案应用到之前question的另一个地方。

在这个例子中,我还有更多的事情,但我认为我可以做同上面的事情 - 调整更改id的user_name,因为ids不匹配表到表,但user_name确实。我知道我的第一个项目很多,但我真的很喜欢这些编码。希望我不要拉太多衬衫尾巴。谢谢你的帮助。

继承代码。它在每一行中放置相同的user_name(就像上一个问题一样)

<?php

$Var1 =$_POST['Var1'];

require("connection.php");

mysql_query("UPDATE table1 SET actor = '$Var1'");

$result = mysql_query("SELECT * FROM table2 WHERE subject ='$Var1'");

while($row = mysql_fetch_array($result))
  { $un = $row['user_name'];
     $a =$row['subject'];
     $a_val = $row['subject_val'];

    $sql=mysql_query("UPDATE table3 SET user_name='$un', subject='$', subject_val= $a_val WHERE user_name=".$row['user_name']);     

  }
 mysql_close($connection);
?> 

2 个答案:

答案 0 :(得分:1)

这是我最后一次回答这类问题。我也在添加一些优化。

<?php
var expires = (isset($_POST['var1']) ? $_POST['var1'] : die("no VAR");

require_once("connection.php");

mysql_query("UPDATE table1 SET actor = '$var1'") or die("I cannot run , reason : ".mysql_error());

$result = mysql_query("SELECT * FROM table2 WHERE subject ='$var1'") or die("I cannot run , reason : ".mysql_error());

while($row = mysql_fetch_array($result)) {
    extract($row); // field name as variable , content as value , so be sure that the fields have the right name
    /*
          $user_name = $row['user_name'];
          $subject =$row['subject'];
          $subject_val = $row['subject_val'];
    */
        $sql="UPDATE table3 SET user_name='".$user_name."', subject='".$subject."', subject_val= ".$subject_val." WHERE user_name='".$user_name."'";
    mysql_query($sql) or die("I cannot run , reason : ".mysql_error());

  }
 mysql_close();
?> 

答案 1 :(得分:0)

将第三个表的密钥更改为user_name - 然后

    $sql="UPDATE table3 SET user_name='".$user_name."', subject='".$subject."', subject_val= ".$subject_val." WHERE user_name='".$un."'";

工作!

感谢您的帮助!!