Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在使用PHP发布到SQL数据库之前,是否有方法复制数据?_Php_Mysql_Duplicates - Fatal编程技术网

在使用PHP发布到SQL数据库之前,是否有方法复制数据?

在使用PHP发布到SQL数据库之前,是否有方法复制数据?,php,mysql,duplicates,Php,Mysql,Duplicates,如果单击复选框,是否有方法将数据推送到表中的两个字段 所以在英语中,作为一个纯粹的假设,我有六个字段,两行有一个复选框。第一行,字段一是姓名,第二是地址,第三是电子邮件 我想做的是,如果信息在发布时从左到右传递,则需要一个人选中一个框 该表将有六个字段 name, address, email, name2, address2, email2. 因此,只要选中该复选框,将在name中发布的数据也将在name2中发布 这在PHP中可能吗 好吧,既然人们想看一个脚本作为例子,这里。。。我认为编写一

如果单击复选框,是否有方法将数据推送到表中的两个字段

所以在英语中,作为一个纯粹的假设,我有六个字段,两行有一个复选框。第一行,字段一是姓名,第二是地址,第三是电子邮件

我想做的是,如果信息在发布时从左到右传递,则需要一个人选中一个框

该表将有六个字段

name, address, email, name2, address2, email2.
因此,只要选中该复选框,将在name中发布的数据也将在name2中发布

这在PHP中可能吗

好吧,既然人们想看一个脚本作为例子,这里。。。我认为编写一个通用脚本比发布我正在做的工作要容易得多。对不起,我想我会让这里的人更容易些

<?php

require_once('connectvars.php');
        $dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME)
        or die('Error connecting to MySQL server.');
$output_form = 'yes';

echo '<div id="postwrap">'
?>

<!DOCTYPE html 
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Document Test</title>
<link rel="stylesheet" type="text/css" href="CSS/postie.css" />

</head>

<body>
<div id="title">
    <h3 id="NCMR2">Document Test</h3>
</div>
<?php
//Post Data
 if (isset($_POST['submit'])) {
    $ab = mysqli_real_escape_string($dbc, trim($_POST['ab']));
    $date = mysqli_real_escape_string($dbc, trim(date('Y-m-d',strtotime ($_POST['date']))));
    $part = mysqli_real_escape_string($dbc, trim($_POST['part']));
    $rev = mysqli_real_escape_string($dbc, trim($_POST['rev']));
    $partdesc = mysqli_real_escape_string($dbc, trim($_POST['partdesc']));
    $ncmrqty = mysqli_real_escape_string($dbc, trim($_POST['ncmrqty']));
    $ab2 = mysqli_real_escape_string($dbc, trim($_POST['ab']));
    $date2 = mysqli_real_escape_string($dbc, trim(date('Y-m-d',strtotime ($_POST['date']))));
    $part2 = mysqli_real_escape_string($dbc, trim($_POST['part']));
    $rev2 = mysqli_real_escape_string($dbc, trim($_POST['rev']));
    $partdesc2 = mysqli_real_escape_string($dbc, trim($_POST['partdesc']));
    $ncmrqty2 = mysqli_real_escape_string($dbc, trim($_POST['ncmrqty']));


    $output_form = 'no';

    if (empty($ab) || empty($date) || empty($part) || empty($partdesc)){

// We know at least one of the input fields is blank 
echo '<div id="alert">';
echo 'Please fill out all of the required NCMR information.<br />';
    echo '</div>';

}
    $output_form = 'yes';

}

//Access the Database
    if (!empty($ab) && !empty($date) && !empty($pod)) {
        $dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME)
        or die('Error connecting to MySQL server.');

    $query = "INSERT INTO ncmr (ab, date, part, rev, partdesc, ncmrqty, ab2, date2, part2, rev2, partdesc2, ncmrqty2)

    VALUES ('$ab', '$date', '$part', '$rev', '$partdesc', '$ncmrqty', '$ab2', '$date2', '$part2', '$rev2', '$partdesc2', '$ncmrqty2')";

    mysqli_query($dbc,$query)
        or die ('Data not inserted.');

            // Clear the form data
    $ab = "";
    $date = "";
    $part = "";
    $rev = "";
    $partdesc = "";
    $ncmrqty = "";
    $ab2 = "";
    $date2 = "";
    $part2 = "";
    $rev2 = "";
    $partdesc2 = "";
    $ncmrqty2 = "";


      // Confirm success with the user
    echo '<tr><td class="thank">';
    echo '<p>Thank you for adding the NCRM, the correct person will be informed.</p>';
    echo '<p><a href="post.php">&lt;&lt; Back to the form</a></p>';
        $output_form = 'no';
    echo '</td></tr>';

    mysqli_close($dbc);
}
  if ($output_form == 'yes') {
echo "<form action='".$_SERVER['PHP_SELF']."' method='post'>";
        echo '<fieldset>';
        //Part, Rev, Part Description, NCMR Qty
            echo '<div id="box1">';
                echo '<div id="ab"><span class="b">Added By:&nbsp;&nbsp;</span><input type="text" name="ab" value="" /></div>';
                echo '<div id="date"><span class="b">Date Filed:&nbsp;&nbsp;</span><input type="text" name="date" value="" /></div>';
                echo '<div id="part"><span class="b">Part Number:&nbsp;&nbsp;</span><input type="text" name="part" value="" /></div>';
                echo '<div id="rev"><span class="b">Part Revision:&nbsp;&nbsp;</span><input type="text" name="rev" value="" /></div>';
                echo '<div id="partdesc"><span class="b">Part Description:&nbsp;&nbsp;</span><textarea name="partdesc" rows="4" cols="22" ></textarea></div>';
                echo '<div id="ncmrqty"><span class="b">NCMR Qty:&nbsp;&nbsp;</span><input type="text" name="ncmrqty" value="" /></div>';
            echo '</div>';


            echo '<div id="box2">';
                echo '<div id="ab2"><span class="b">Added By:&nbsp;&nbsp;</span><input type="text" name="ab2" value="" /></div>';
                echo '<div id="date2"><span class="b">Date Filed:&nbsp;&nbsp;</span><input type="text" name="date2" value="" /></div>';
                echo '<div id="part2"><span class="b">Part Number:&nbsp;&nbsp;</span><input type="text" name="part2" value="" /></div>';
                echo '<div id="rev2"><span class="b">Part Revision:&nbsp;&nbsp;</span><input type="text" name="rev2" value="" /></div>';
                echo '<div id="partdesc2"><span class="b">Part Description:&nbsp;&nbsp;</span><textarea name="partdesc2" rows="4" cols="22" ></textarea></div>';
                echo '<div id="ncmrqty2"><span class="b">NCMR Qty:&nbsp;&nbsp;</span><input type="text" name="ncmrqty2" value="" /></div>';
            echo '</div>';
                    echo '<div id="button3"><input type="submit" value="Submit NCMR" name="submit" /></div>';
            echo '</div>';
    echo '</fieldset>';
echo '</form>';
    }
echo '</div>';
?>
</body>
</html>

文件测试
文件测试
是的,可以(某种程度上)使用条件语句来实现。
不是发布重复数据,而是复制已经发布到PHP脚本中的数据。
非常简单的例子:

$fieldsToDuplicate = array('name', 'address', 'email');
if (isset($_POST['checkbox'] && 1 == $_POST['checkbox']) { 
    foreach ($fieldsToDuplicate as $value)
    {
        $_POST[$value.'2'] = $_POST[$value];
    } 
}
但请记住,在实际操作/插入数据库之前,您应该验证并过滤从用户处获得的输入:)


也可以用HTML复制字段,用Javascript复制数据,然后不带任何条件地用PHP处理。

设置复选框的名称,说“duplicateBox”,并在选中时将其值设置为
1

<?php
    $name = $_POST['name'];
    $address = $_POST['address'];
    $email = $_POST['email'];
    $name2 = $_POST['name2'];
    $address2 = $_POST['address2'];
    $email2 = $_POST['email2'];
    $duplicate = $_POST['duplicateBox'];


    if($duplicate == 1)
    {
        $name2 = $name;
        $address2 = $address;
        $email2 = $email;
    }

    $insert = "INSERT INTO `table` (name,address,email,name2,address2,email2) VALUES ('$name','$address','$email','$name2','$address2','$email2')";
    mysql_query($insert)or die(mysql_error());
?>

是的,这在PHP中是可能的。更详细的答案需要示例代码。如何使用复选框?我问这个问题的唯一原因是,它看起来好像考虑了一个重复项,但它没有显示重复复选框是如何工作的。@enm,谢谢,非常感谢。最后一个问题。如果这是在一个更大的表格中,是否最好将整个内容放在括号中,或者在括号后加上一个else,这样如果没有选中复选框,它将发布副本或恢复正常?亲爱的马特,所有功劳都归埃米尔·拉森所有。关于你的问题:我认为Emil最好回答并相应修改代码(如果需要).@MattRidge,说这个复选框是你的形式:$duplicate将取这个复选框的值,如果是1(选中),则取名称中的值,地址和电子邮件将被复制,如果不是,它将跳过这一点点代码。我在顶部为name2等添加了额外的变量。@EmilLarsson,将$insert行放在括号中,然后放一个else{},这样如果duplicate==1,就这样做,否则就照常进行,还是我过于简化了?