使用php将mysql数据库中一个表的列数据插入另一个表中

时间:2011-03-21 07:09:23

标签: php mysql

我在一个数据库中有两个表(measurementurl和webmeasurements)(probe_config) 第一个表测量包含以下字段

  1. ID
  2. URL
  3. 评论
  4. 第二个表web测量包含以下字段

    1. 超时
    2. URL
    3. wm(特定表的id,设置为autoincrement)
    4. url_id
    5. 我有一个php页面(wm.php),用于将web测量数据插入第二个表中的数据库(webmeasurements)。我已经给出了数据库连接,我的工作是带来第一个表的id值(measurementurl)单击wm.php页面的提交按钮到第二个表(webmeasurements)。我已附加编码。任何人都可以发现错误。

      wm.php的详细信息:

      超时(文本框)

      url(两个单选按钮)和一个提交按钮 以下是wm.php的编码:

      <?php
      include_once("connection.php");
      $sql="select * from measurementurl";
      // _Execute query_
      $result=mysql_query($sql,$conn);
      ?>
      
      <form method="post" action="base.php">
      Timeout :
      <input type="text" name="timeout" />
      <?php
      while  ($row = mysql_fetch_array($result))
        {
        ?>
        <input type="radio" name="urls" value="<?php echo $row['id']?>"  /><?php echo $row['url']?>
      
      <?php  
        }
      
      ?>
      <input type="submit" value="submit" name="submit"  />
      </form>
      
      <?php
      if(isset($_POST)){
      echo  " < pre>";  
        print_r($_POST);
      } 
      ?>
      

      以下是行动部分的base.php:

      <?php //开始检查循环
      $idarray = array();
      $db = mysql_connect("localhost:3306", "root","mysql") or die("Could not connect.");
      if(!$db)
      die("no db");
      if(!mysql_select_db("probe_config",$db))
      die("No database selected.");
      $acc1="SELECT id from measurementurl";
      $acc2=mysql_query($acc1) or die("Could not select accounts.");
      while($acc3=mysql_fetch_assoc($acc2))       $idarray[] = $acc3[id];

      echo "<table border=1>\n";
      echo " <tr>\n";
      echo " <td>\n";
      echo "<b>id</b>";
      echo " </td>\n";
      echo " <td>\n";
      echo "<b></b>";
      echo " </td>\n";
      echo " </tr>\n";

      //显示正在处理的URL。 foreach($idarray as $K => $id)
      {
          echo "<tr>\n";
          echo "<td>\n";
          echo $id;
          echo "</td>\n";
          ob_flush();
          flush();
      }
      echo "</table>\n";

      $timeout=$_POST['timeout'];
      $url=$_POST['url'];
      $name=$_POST['name'];
      $url_id=$_POST['acc3[$id]'];
      echo "$timeout";
      echo "<br />$name";
      $sql= "INSERT INTO webmeasurements (url_id, name, timeout) values ($url_id,'$name',$timeout)";
      if (!mysql_query($sql,$db))
                      {                     die('Error: ' . mysql_error());
                      }
                      else                 {                     echo "adding Done";
                      }

      mysql_close('$db');

      ?>

1 个答案:

答案 0 :(得分:2)

$sql= "INSERT INTO webmeasurements (url_id) SELECT id FROM measurementurl";