【问题标题】:How to auto input MySQL data (input column 1 data to auto input column 2 data with same column) in php?如何在php中自动输入MySQL数据(将第1列数据输入到具有相同列的自动输入第2列数据)?
【发布时间】:2019-08-17 14:50:27
【问题描述】:

如何在 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)。

【问题讨论】:

  • 您可以使用 ajaxjquery ,即:当您输入 input 时,使用 keyup 事件获取它的值并使用 ajax 获取匹配电子邮件。
  • 感谢@Swati 的建议,我有实际结果可能是示例link(教程链接-link)网站。

标签: javascript php html mysql


【解决方案1】:

好消息:我有解决自动输入 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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 2017-10-15
    相关资源
    最近更新 更多