Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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 如何从数据库中同时在两个输入字段上显示相同的序列号_Php_Sqlite_Phpdesktop - Fatal编程技术网

Php 如何从数据库中同时在两个输入字段上显示相同的序列号

Php 如何从数据库中同时在两个输入字段上显示相同的序列号,php,sqlite,phpdesktop,Php,Sqlite,Phpdesktop,我在同一页上有两个html表单,每个表单的顶部都有一个输入字段,用于给每个表单一个序列号。 我将phpdesktop chrome与html5、php和sqlite3一起使用,以在输入字段中显示orders.db数据库中的6位数no 这是我正在使用的代码 forms.php <?php session_start(); class DBUtil extends SQLite3 { function __construct() { //Open db $this->op

我在同一页上有两个html表单,每个表单的顶部都有一个输入字段,用于给每个表单一个序列号。 我将phpdesktop chrome与html5、php和sqlite3一起使用,以在输入字段中显示orders.db数据库中的6位数no 这是我正在使用的代码 forms.php

<?php
session_start();
class DBUtil extends SQLite3 {
function __construct() {
    //Open db
    $this->open("orders.db");
}
function createTableIfNotExists() {
    //create table if not exists already
    $sql = "CREATE TABLE IF NOT EXISTS order_sequence (" . "    next_seq INT NOT NULL" . ")";
    $result = $this->exec($sql);
    return $result; //Whether table created successfully or not

}
function updateNextSeqNumber($nextSeq) {
    //update next sequnce number in db
    $sql = "UPDATE order_sequence SET next_seq = " . $nextSeq;
    $result = $this->exec($sql);
    return $result;
}
function insertFirstTime() {
    //insert first time
    $sql = "INSERT INTO order_sequence (next_seq) VALUES (1)";
    $result = $this->exec($sql);
    return $result;
}
function getNextSeq() {
    //get next sequence number
    $sql = "SELECT next_seq FROM order_sequence";
    $result = $this->query($sql);
    $nextSeq = 1;
    if ($row = $result->fetchArray(SQLITE3_ASSOC)) {
        $nextSeq = $row["next_seq"];
    } else {
        $this->insertFirstTime(); //First sequence number, so that next update queries will be always successfull

    }
    $this->updateNextSeqNumber($nextSeq + 1);
    return $nextSeq;
 }
}
function getNextSequnceNumber() {
//Create new object of utility class
$db = new DBUtil();
if (!$db) {
    die("Connection failed: " . $db->lastErrorMsg());
}
//Check if connected
if ($db->createTableIfNotExists()) {
    $nextSeq = $db->getNextSeq();
    return formatToSixCharacters($nextSeq);
} else {
    die("Error: " . $db->lastErrorMsg());
}
//close connection finally
$db->close();
}
function formatToSixCharacters($num) {
$numStr = $num . "";
if (strlen($numStr) < 6) {
    $zeros = 6 - strlen($numStr);
    for ($i = 1;$i <= $zeros;$i++) {
        $numStr = "0" . $numStr;
    }
 }
 return $numStr;
 }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta content="text/html; charset=utf-8" http-equiv=Content-Type>
<title></title>
</head>
<body>
<!-- form-2 -->
<div class="grid">
    <div class="grid-m1">
        <div class="grid-c1">
            <h2 class="form-no">(form-1)</h2>
            <input id="division-no" class="serial-no division-no" type="text" name="fname" value="<?php echo getNextSequnceNumber() ?>" maxlength="6" size="6">
        </div>
    </div>  
</div>
<!-- form-2 -->
<div class="grid">
    <div class="grid-m1">
        <div class="grid-c1">
            <h2 class="form-no">(form-2)</h2>
            <input id="division-no" class="serial-no division-no" type="text" name="fname" value="<?php echo getNextSequnceNumber() ?>" maxlength="6" size="6">
        </div>
    </div>  
</div>  
</body>
</html>

(表格-1)

每次调用GetNextSequenceNumber()时,都会递增该值。您希望在变量中存储一次序列号,然后在多个位置使用该变量

此外,按照代码的设置方式,每次加载页面时,代码都会增加

...
<?php 
$sequenceNumber = getNextSequnceNumber(); 
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta content="text/html; charset=utf-8" http-equiv=Content-Type>
<title></title>
</head>
<body>
<!-- form-2 -->
<div class="grid">
    <div class="grid-m1">
        <div class="grid-c1">
            <h2 class="form-no">(form-1)</h2>
            <input id="division-no" class="serial-no division-no" type="text" name="fname" value="<?php echo $sequenceNumber; ?>" maxlength="6" size="6">
        </div>
    </div>  
</div>
<!-- form-2 -->
<div class="grid">
    <div class="grid-m1">
        <div class="grid-c1">
            <h2 class="form-no">(form-2)</h2>
            <input id="division-no" class="serial-no division-no" type="text" name="fname" value="<?php echo $sequenceNumber; ?>" maxlength="6" size="6">
        </div>
    </div>  
</div>  
</body>
</html>
。。。
(表格-1)
(表格-1)

是的,我希望它在每次页面加载时递增,但我也希望它在两个字段上显示相同的值。你能帮我举个例子吗?因为我试过了,但没有成功。@AqeelArcade-什么不起作用?你试过我发布的代码了吗?请注意,输入的值正在引用变量,不再调用该方法:value=“”感谢您的回复,但您给定的代码只是颠倒了情况,现在第一个输入显示000002,第二个输入字段显示000001。请提供我一个工作小提琴的例子,因为我急需它。我想在这两个字段上显示相同的“否”,每次刷新后,它也会增加。谢谢-如果我的答案对你有用,请记下。
<?php
session_start();

class DBUtil extends SQLite3
{
    function __construct()
    {
        //Open db
        $this->open("orders.db");
    }

    function createTableIfNotExists()
    {
        //create table if not exists already
        $sql = "CREATE TABLE IF NOT EXISTS order_sequence (" . "    next_seq INT NOT NULL" . ")";
        $result = $this->exec($sql);
        return $result; //Whether table created successfully or not

    }

    function updateNextSeqNumber($nextSeq)
    {
        //update next sequnce number in db
        $sql = "UPDATE order_sequence SET next_seq = " . $nextSeq;
        $result = $this->exec($sql);
        return $result;
    }

    function insertFirstTime()
    {
        //insert first time
        $sql = "INSERT INTO order_sequence (next_seq) VALUES (1)";
        $result = $this->exec($sql);
        return $result;
    }

    function getNextSeq()
    {
        //get next sequence number
        $sql = "SELECT next_seq FROM order_sequence";
        $result = $this->query($sql);
        $nextSeq = 1;
        if ($row = $result->fetchArray(SQLITE3_ASSOC)) {
            $nextSeq = $row["next_seq"];
        } else {
            $this->insertFirstTime(); //First sequence number, so that next update queries will be always successfull

        }
        $this->updateNextSeqNumber($nextSeq + 1);
        return $nextSeq;
    }
}

function getNextSequnceNumber()
{
    //Create new object of utility class
    $db = new DBUtil();
    if (!$db) {
        die("Connection failed: " . $db->lastErrorMsg());
    }
    //Check if connected
    if ($db->createTableIfNotExists()) {
        $nextSeq = $db->getNextSeq();
        return formatToSixCharacters($nextSeq);
    } else {
        die("Error: " . $db->lastErrorMsg());
    }
    //close connection finally
    $db->close();
}

function formatToSixCharacters($num)
{
    $numStr = $num . "";
    if (strlen($numStr) < 6) {
        $zeros = 6 - strlen($numStr);
        for ($i = 1; $i <= $zeros; $i++) {
            $numStr = "0" . $numStr;
        }
    }
    return $numStr;
}

$sequenceNumber = getNextSequnceNumber();

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <meta content="text/html; charset=utf-8" http-equiv=Content-Type>
    <title></title>
</head>
<body>
<!-- form-2 -->
<div class="grid">
    <div class="grid-m1">
        <div class="grid-c1">
            <h2 class="form-no">(form-1)</h2>
            <input id="division-no" class="serial-no division-no" type="text" name="fname"
                   value="<?php echo $sequenceNumber; ?>" maxlength="6" size="6">
        </div>
    </div>
</div>
<!-- form-2 -->
<div class="grid">
    <div class="grid-m1">
        <div class="grid-c1">
            <h2 class="form-no">(form-2)</h2>
            <input id="division-no" class="serial-no division-no" type="text" name="fname"
                   value="<?php echo $sequenceNumber; ?>" maxlength="6" size="6">
        </div>
    </div>
</div>
</body>
</html>