如何在php中自动输入MySQL数据(将第1列数据输入到具有相同列的第2列数据自动输入)?

时间:2019-08-17 14:50:27

标签: javascript php html mysql

如何在php中自动输入MySQL数据(将第1列数据输入到具有相同列的自动输入第2列数据),因为我在底部尝试了示例代码,但无法将第1列数据输入到具有相同列的自动输入第2列数据。

开始编码。

1。使用示例代码创建数据库。

CREATE DATABASE IF NOT EXISTS `tester`;

2。用示例代码创建表。

CREATE TABLE IF NOT EXISTS `customer` (
  `CustomerID` varchar(4) NOT NULL,
  `Name` varchar(50) NOT NULL,
  `Email` varchar(50) NOT NULL,
  `CountryCode` varchar(2) NOT NULL,
  `Budget` double NOT NULL,
  `Used` double NOT NULL,
  PRIMARY KEY (`CustomerID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

INSERT INTO `customer` (`CustomerID`, `Name`, `Email`, `CountryCode`, `Budget`, `Used`) VALUES
    ('C001', 'Win', 'win.weerachai@a.com', 'UK', 10000, 6000),
    ('C002', 'John', 'john.smith@a.com', 'UK', 20000, 8000),
    ('C003', 'Jame', 'jame.born@a.com', 'US', 30000, 6000),
    ('C004', 'Chalee', 'chalee.angel@a.com', 'US', 40000, 1000);

3。用示例编码PHP。

<!DOCTYPE html>
<html>
<body>
<?php
    ini_set('display_errors', 1);
    error_reporting(~0);

    $serverName = "localhost";
    $userName = "root";
    $userPassword = "";
    $dbName = "tester";

    $conn = mysqli_connect($serverName,$userName,$userPassword,$dbName);

    $sql = "SELECT * FROM customer";

    $query = mysqli_query($conn,$sql);

    $sql2 = "SELECT * FROM customer";

    $query2 = mysqli_query($conn,$sql2);

?>

<form>
  <input list="abc" name="abc">
  <datalist id="abc">
    <?php 
    while ( $d=mysqli_fetch_assoc($query)) {
        echo "<option value='".$d['Name']."'></option>";
    }
    ?>
  </datalist>
  <br><br>

  <input list="abc2" name="abc2">
  <datalist id="abc2">
    <?php 
    while ( $d=mysqli_fetch_assoc($query2)) {
        echo "<option value='".$d['Email']."'></option>";
    }
    ?>
  </datalist>
</form>

</body>
</html>

我有结果输入列1的数据到自动输入与示例链接相同列的第2列数据。

auto input data depended what i input in html form

(示例,第一个输入形式输入John,第二个输入形式自动输入john.smith@a.com)。

1 个答案:

答案 0 :(得分:0)

好消息:我有解决自动输入MySQL数据(将第1列数据输入到具有相同列的第2列数据)的答案,并且支持PHP中的UTF8。

通过编码进行回答。

1。使用示例代码创建数据库。

CREATE DATABASE IF NOT EXISTS `mydatabase`;

2。使用示例代码在“ mydatabase”数据库中创建表。

CREATE TABLE `customer` (
  `CustomerID` varchar(4) NOT NULL,
  `Name` varchar(50) NOT NULL,
  `Email` varchar(50) NOT NULL,
  `CountryCode` varchar(2) NOT NULL,
  `Budget` double NOT NULL,
  `Used` double NOT NULL,
  PRIMARY KEY  (`CustomerID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- 
-- Dumping data for table `customer`
-- 

INSERT INTO `customer` VALUES ('C001', 'Win', 'win.weerachai@a.com', 'UK', 100000, 600000);
INSERT INTO `customer` VALUES ('C002', 'John', 'john.smith@a.com', 'UK', 200000, 80000);
INSERT INTO `customer` VALUES ('C003', 'Jame', 'jame.born@a.com', 'US', 300000, 60000);
INSERT INTO `customer` VALUES ('C004', 'Chalee', 'chalee.angel@a.com', 'US', 4000, 1000);

3。用示例编码PHP。

returnCustomer2.php

<?php
    ini_set('display_errors', 1);
    error_reporting(~0);

$mydb = new mysqli("localhost","root","", "mydatabase") or die( mysqli_connect_error());

mysqli_set_charset($mydb, "utf8");

$strSQL = "SELECT * FROM customer WHERE 1 AND Name = '".$_POST["sCusID"]."' ";
$result = $mydb->query($strSQL) or die ($mydb->error);
//$intNumField = $result->field_count();
$resultArray = array();
while($row = $result->fetch_assoc()){ // use assoc to have array with keyname not keynumber
    $resultArray[]=$row;
}
$mydb->close();
echo json_encode($resultArray);
?>

index2.php

<html>
<head>
<style> 
input {
  padding: 12px 20px;
  margin: 8px 0;
  box-sizing: border-box;
}
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function(){

    $("#txtName").change(function(){
            $.ajax({ 
                url: "returnCustomer2.php" ,
                type: "POST",
                data: 'sCusID=' +$("#txtName").val()
            })
            .success(function(result) { 

                var obj = jQuery.parseJSON(result);

                    if(obj == '')
                    {
                        $('input[type=text]').val('');
                    }
                    else
                    {
                          $.each(obj, function(key, inval) {

                               $("#txtName").val(inval["Name"]);
                               $("#txtEmail").val(inval["Email"]);
                          });
                    }

            });

        });
    });
</script>
</head>
<body>

<?php
    ini_set('display_errors', 1);
    error_reporting(~0);

    $serverName = "localhost";
    $userName = "root";
    $userPassword = "";
    $dbName = "mydatabase";

    $conn = mysqli_connect($serverName,$userName,$userPassword,$dbName);

    $sql = "SELECT * FROM customer";

    $query = mysqli_query($conn,$sql);

    $sql2 = "SELECT * FROM customer";

    $query2 = mysqli_query($conn,$sql2);

?>

<form>

<h2>Name</h2>

  <input list="abc" id="txtName" name="txtName" size="30" autocomplete="off">
  <datalist id="abc">
    <?php 
    while ( $d=mysqli_fetch_assoc($query)) {
        echo "<option value='".$d['Name']."'></option>";
    }
    ?>
  </datalist>

<h2>E-mail</h2>

  <input list="abc2" id="txtEmail" name="txtEmail" size="30" autocomplete="off">
  <datalist id="abc2">
    <?php 
    while ( $d=mysqli_fetch_assoc($query2)) {
        echo "<option value='".$d['Email']."'></option>";
    }
    ?>
  </datalist>
</form>

</body>
</html>