从循环数据库值创建会话变量

时间:2014-10-29 15:43:05

标签: javascript php jquery html mysqli

我试图在单击HTML链接时从数据库数组创建变量。目标是将用户重定向到使用一个数组数据填充的表单。换句话说,将根据单击的链接查询数据库并填充表单(无论$ row [1],$ row [2]和$ row [3]的值是多少)。

<?php 

ini_set('display_errors',1);  error_reporting(E_ALL);

$DATE = date('Y-m-d');

require_once 'IRCconfig.php';

$connection = new mysqli($db_hostname, $db_username, $db_password, $db_database);
    if ($connection->connect_error) die($connection->connect_error);

$query  = "SELECT * FROM CLIENT_CHECKIN1 WHERE DATE>='$DATE'";
$result = $connection->query($query);

if (!$result) die ("Database access failed: " . $connection->error);

$rows = $result->num_rows;

for ($j = 0 ; $j < $rows ; ++$j)
    {
        $result->data_seek($j);
        $row = $result->fetch_array(MYSQLI_NUM);

        echo <<<_END
        <pre>
            <a href="http://localhost/populateClientCheckin.php" class="post">$row[1] $row[2] $row[3]</a>
        </pre>
 _END;
    } 
 ?>

如果有人能给我一些煽动我如何能够实现这一目标的话,我会非常感激。

1 个答案:

答案 0 :(得分:0)

请详细了解会话here

然后,回答你的问题:

首先您需要启动会话,就像脚本顶部的session_start();一样简单。

第二次您需要使用以下数据库值来实例化会话变量:$_SESSION['var'] = $value;

第三次,在html文件或表格所依赖的任何内容中,只需检查它:

if(isset($_SESSION['var'])) {
  echo '<input type="text" value="'.$_SESSION['var'].'" />';
} else {
  echo '<input type="text" value="" />';
}

并使用该值设置。

<强> L.E: 所以......第一件事是第一件事...... session_start();没有它,就没有会话的重点。

其次,您可以像$_SESSION['some_name'] = $row[1]一样创建它,以便var保持$row[1]的值。我认为这是你需要的价值。不要像$ _SESSION ['$ row 1'那样做,因为首先这是不正确的,你不会有行1的值。您需要一个唯一的名称,以便您可以在拥有表单的地方调用它。

上面的代码将会是这样的:

<?php 

session_start();

ini_set('display_errors',1);  error_reporting(E_ALL);

$DATE = date('Y-m-d');

require_once 'IRCconfig.php';

$connection = new mysqli($db_hostname, $db_username, $db_password, $db_database);
    if ($connection->connect_error) die($connection->connect_error);

$query  = "SELECT * FROM CLIENT_CHECKIN1 WHERE DATE>='$DATE'";
$result = $connection->query($query);

if (!$result) die ("Database access failed: " . $connection->error);

$rows = $result->num_rows;

for ($j = 0 ; $j < $rows ; ++$j)
    {
        $result->data_seek($j);
        $row = $result->fetch_array(MYSQLI_NUM);

        $_SESSION['first_row'] = $row[1];
        $_SESSION['second_row'] = $row[2];
        $_SESSION['third_row'] = $row[3];

        echo <<<_END
        <pre>
            <a href="http://localhost/populateClientCheckin.php" class="post">$row[1] $row[2] $row[3]</a>
        </pre>
 _END;
    } 
 ?>

并且,如果你有表格和<input type = "text" value = "" />所以你需要这个值,就这样做:

<input type = "text" value = "<?php echo (isset($_SESSION['first_row']) ? $_SESSION['first_row'] : ''); ?>" />
<input type = "text" value = "<?php echo (isset($_SESSION['second_row']) ? $_SESSION['second_row'] : ''); ?>" />
<input type = "text" value = "<?php echo (isset($_SESSION['third_row']) ? $_SESSION['third_row'] : ''); ?>" />

希望这有帮助! :d