首页 > 解决方案 > 单击文本后如何将值放入变量中

问题描述

我正在尝试使用 HTML、CSS 和 PHP 制作表单。

这个想法是从 Dropbox 中选择一个选项,然后在日历上选择一天。

但是,我不知道如何通过单击一天将值发送到 php 中的变量。

使用变量中的值,我将其插入数据库。

这是我的表格的照片

这是我的代码:

<form action="insert.php" method="POST">
<div class="from-group mb-3">
    <label for="">Select an option:</label>
    <select name="name" class="form-control">
        <option value="option1">option1</option>
        <option value="option2">option2</option>
        <option value="option3">option3</option>
    </select>
</div>
<div id="main">
    <table style="width:25%">
        <tr>
            <td></td>
            <td><a href="12.php"><i class="fas fa-chevron-left"></i></a></td>
            <td colspan="2">January</td>
            <td><a href="2.php"><i class="fas fa-chevron-right"></i></a></td>
        </tr>
        <tr>
            <td>Sun</td>
            <td>Mon</td>
            <td>Tue</td>
            <td>Wen</td>
            <td>Thu</td>
            <td>Fri</td>
            <td>Sat⠀</td>
        </tr>
        <tr>
            <td class="gray">27</td>
            <td class="gray">28</td>
            <td class="gray">29</td>
            <td class="gray">30</td>
            <td class="gray">31</td>
            <td>1</td>
            <td>2</td>
        </tr>
        <tr>
            <td>3</td>
            <td>4</td>
            <td>5</td>
            <td>6</td>
            <td>7</td>
            <td>8</td>
            <td>9</td>
        </tr>
        <tr>
            <td>10</td>
            <td>11</td>
            <td>12</td>
            <td>13</td>
            <td>14</td>
            <td>15</td>
            <td>16</td>
        </tr>
        <tr>
            <td>17</td>
            <td>18</td>
            <td>19</td>
            <td>20</td>
            <td>21</td>
            <td>22</td>
            <td>23</td>
        </tr>
        <tr>
            <td>24</td>
            <td>25</td>
            <td>26</td>
            <td>27</td>
            <td>28</td>
            <td>29</td>
            <td>30</td>
        </tr>
        <tr>
            <td>31</td>
            <td class="gray">1</td>
            <td class="gray">2</td>
            <td class="gray">3</td>
            <td class="gray">4</td>
            <td class="gray">5</td>
            <td class="gray">6</td>
            <td></td>
        </tr>
    </table>
</div>
<div class="from-group mb-3">
    <button type="submit" name="save_select" class="btn btn-primary">Save</button>
</div>

这是我的PHP代码:

<?php
session_start();
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', '');
define('DB_NAME', 'calendar');
$con = new mysqli(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);

$name = $_POST['name'];
$day = $_POST['day'];

$query = "INSERT INTO ferias (name, day, year, month, week, dateferia, recordtype, time) 
VALUES ('$name', '$day', '123', '1', '1', '2021-01-01', '6', '1')";
$query_run = mysqli_query($con, $query);

if($query_run){
    $_SESSION['status'] = "inserted successfully";
    header("Location: ../1.php");
}
else
{
    $_SESSION['status'] = "not inserted";
    header("Location: ../1.php");
}

我有一个名为 $day 的变量,因此,例如,当我单击数字 1 时,我希望这个值转到变量中。

有人知道该怎么做吗?

标签: phphtml

解决方案


如果你想要日期,你可以使用输入type=date,你在这里做得很复杂。

<form action="insert.php" method="POST" name='myform'>
<div class="from-group mb-3">
    <label for="">Select an option:</label>
    <select name="name" class="form-control">
        <option value="option1">option1</option>
        <option value="option2">option2</option>
        <option value="option3">option3</option>
    </select>
</div>
<div id="main">
<input type="date" name="day">
<button type="submit" name="submit"> Submit </button>
</div>
</form>

这将以insert.php格式发布数据{ name=option1, day=2021-09-07}

现在你可以做一些调整day

<?php
session_start();
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', '');
define('DB_NAME', 'calendar');
$con = new mysqli(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);

$name = $_POST['name'];
$date = $_POST['day'];

$newday = explode("-", $date);
$day = $newday[2];// in the array {2021,09,07}
echo $day;// for debugging....

// Continue you code here.....

这是我的做法,如果您真的想在单击该数字时提交表单,只需onclick在每天添加事件即可。

            <td onclick="document.forms['myform'].submit()">3</td>
            <td onclick="document.forms['myform'].submit()">4</td>
            <td onclick="document.forms['myform'].submit()">5</td>
            <td onclick="document.forms['myform'].submit()">6</td>
            <td onclick="document.forms['myform'].submit()">7</td>
            <td onclick="document.forms['myform'].submit()">8</td>
            <td onclick="document.forms['myform'].submit()">9</td>

这是最简单的方法,但我仍然不知道如何将它发布到数据day变量中post


推荐阅读