通过使用php-mysqldreamweaver,我想使用两个相对表通过单击自动插入1200个数据


by using php mysql dreamweaver i want to insert 1200 data automatically by one click using two relative table

我想在表中插入自动数据。。一个数据将来自另一个表,我在这里称之为p_no(个人号码),它来自另一张表(empinfo),它是另一张桌子考勤的外键。我想点击一个按钮自动插入1200个数据。1200个数据意味着1200 p_no和其他信息。

1.emp_info(p_no、名称、名称等)p_no为主键2.attandance(aid(自动递增)、attemption、tiffin、shift、ot date、p_no)p_no为外键。现在我想通过点击一个按钮访问empinfo表中的p_no-info来自动插入1200个数据。

我使用的是dreamweaver、php、mysql。


 <?php require_once('Connections/bndock.php'); ?>
<?php
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;
  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break; 
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
mysql_select_db($database_bndock, $bndock);
$query_Recordset1 = "SELECT p_no FROM emp_info";
$Recordset1 = mysql_query($query_Recordset1, $bndock) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
$val=10;
for($row_Recordset1=0;$row_Recordset1<=$val;$row_Recordset1++){
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO attndance (aid, doa, attnc, stnd, ot, shift, p_no) VALUES (%s, now(), %s, %s, %s, %s,%s)",
                       GetSQLValueString($_POST['aid'], "int"),                    
                       GetSQLValueString($_POST['attnc'], "text"),//attendance//doa=date
                       GetSQLValueString($_POST['stnd'], "text"),//tiffin
                       GetSQLValueString($_POST['ot'], "text"),
                       GetSQLValueString($_POST['shift'], "text"),
                    GetSQLValueString($_POST['p_no'], "int"));
  mysql_select_db($database_bndock, $bndock);
  $Result1 = mysql_query($insertSQL, $bndock) or die(mysql_error());
  $insertGoTo = "attnd_show.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}

}
?>

<form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1">
<table width="296" height="190" align="center" bordercolor="#ECE9D8" bgcolor="#ECE9D8">
          <tr valign="baseline">
            <td colspan="2" align="right" nowrap="nowrap">&nbsp;</td>
            </tr>
          <tr valign="baseline">
            <td width="77" align="right" nowrap="nowrap"><strong>Attendance:</strong></td>
            <td width="193"><select name="attnc">
              <option value="P" selected="selected">P</option>
              <option value="A">A</option>
              <option value="L">L</option>
              <option value="Sick">Sick</option>
              <option value="Suspend">Suspend</option>
              <option value="TY">TY</option>
                                                                                                  </select>            </td>
          </tr>
          <tr valign="baseline">
            <td nowrap="nowrap" align="right"><strong>Stand Easy :</strong></td>
            <td><select name="stnd">
              <option value="Yes">Y</option>
              <option value="No">N</option>
                          </select>            </td>
          </tr>
          <tr valign="baseline">
            <td nowrap="nowrap" align="right"><strong>Over time:</strong></td>
            <td><select name="ot">
              <option value="Yes">Y</option>
              <option value="No">N</option>
                          </select>            </td>
          </tr>
          <tr valign="baseline">
            <td nowrap="nowrap" align="right"><strong>Shift:</strong></td>
            <td><select name="shift">
              <option value="A">A</option>
              <option value="B">B</option>
              <option value="C">C</option>
              <option selected="selected">-</option>
                                                                                                                          </select>            </td>
          </tr>
          <tr valign="baseline">
            <td nowrap="nowrap" align="right"><strong>P.No:</strong></td>
            <td><select name="p_no">
                <?php 
do {  
?>
                <option value="<?php echo $row_Recordset1['p_no']?>" <?php if (!(strcmp($row_Recordset1['p_no'], $row_Recordset1['p_no']))) {echo "SELECTED";} ?>><?php echo $row_Recordset1['p_no']?></option>
                <?php
} while ($row_Recordset1 = mysql_fetch_assoc($Recordset1));
?>
              </select>            </td>
          </tr>
          <tr valign="baseline">
            <td nowrap="nowrap" align="right">&nbsp;</td>
            <td><input name="submit" type="submit" value="Insert record" /></td>
          </tr>
        </table>
<input type="hidden" name="aid" value="" />
        <input type="hidden" name="MM_insert" value="form1" />
      </form></td>

我认为您需要编写一个考勤系统来标记员工的缺勤/病假。

我并不是说你不应该在考勤表中插入1200个值(在我看来,你想在4年的时间跨度内每天都输入一个值)

但做一些像这样的事情会更好

a) 如果"awaytime"(与考勤相反)中没有条目,则假设员工正在工作,并以某种形式的callendar(php可以很容易地生成类似的内容)显示仅缺席/病假

b) 假装员工是邪恶的和生病的,只要他没有盖章并自己生成一个考勤条目

对于你的第一个问题,如果你坚持1200个条目。。。只需使用for循环:

// mysql-query getting all employees (use PDO, i am old fashioned and still use mysql_ functions)
while( mysql_fetch_array($sql-query-getting-employees) )
{
$insert = "INSERT INTO ATTENDANCE (col1, col2...) VALUES ";
for( $i = 0; $i <= 2000; $++ )
{
if($i != 0) { $insert += ", "; } //append comma for more than 1 value
$insert += "( val1, val2 )";
}
}

然后通过mysql_query($insert)插入值