$ _POST在它看到的第一个空格处停止

时间:2014-08-29 05:02:31

标签: php mysql

我在 PHP 中有这个代码,它在存储在数据库中的下拉框中生成值。

<select name=getdate>
        $con = mysqli_connect("localhost","root","","dbjobsheetsf");
        $sql1 = "SELECT colDate FROM tbljs ";
        $queryR = mysqli_query($con, $sql1);    
        $p = 0;
                    while($r = mysqli_fetch_array($queryR)) {   
                            echo "<option value=".$r['colDate'].">".$r['colDate']."</option>"; 
                    }

            mysqli_close($con); 

</select>

示例,当前值 2014年8月28日星期四。问题是当我执行代码时;

echo $_POST['getdate'];

回显的唯一值是星期四,

对于短,它在它看到的第一个空间停止。我该怎么办?

日期是由JAVASCRIPT生成的,因此我很难将这些空格更改为下划线,所以我必须保留这些空格。

小姐 Jenz 的代码给了我很多帮助!谢谢!

5 个答案:

答案 0 :(得分:6)

您必须将options的值括在引号内,如

echo "<option value='".$r['colDate']."'>".$r['colDate']."</option>"; 
                    ^                 ^

答案 1 :(得分:1)

你错过了一些&#39;&#39;在选项值部分中。试试这个代码

<?php
    $con = mysqli_connect("localhost","root","","dbjobsheetsf");
    $sql1 = "SELECT colDate FROM tbljs ";
    $queryR = mysqli_query($con, $sql1);    
    $p = 0;
    while($r = mysqli_fetch_array($queryR)) {   
        echo '<option value="'.$r['colDate'].'">'.$r['colDate'].'</option>'; 
    }
    mysqli_close($con);
?>
</select>

答案 2 :(得分:0)

    <select name=getdate>
<?php
            $con = mysqli_connect("localhost","root","","dbjobsheetsf");
            $sql1 = "SELECT colDate FROM tbljs ";
            $queryR = mysqli_query($con, $sql1);    
            $p = 0;
                        while($r = mysqli_fetch_array($queryR)) {   
                                echo "<option value='".$r['colDate']."'>".$r['colDate']."</option>";
                        }

                mysqli_close($con); 
    ?>
    </select>

答案 3 :(得分:0)

$cdate = $_POST['getdate'];
$dates = date('Y-m-d H:i:s', strtotime($cdate) );

echo $dates

你必须使用日期功能将其转换为标准格式

答案 4 :(得分:0)

如果您尝试打印出数组$ r并且看到整个日期,请序列化该值或将其存储在文本变量中,然后将其传递给PHP。这应该有用。

如果您打印出阵列并且没有得到整个日期,请重新检查您的查询。

为什么不尝试将日期放在字符串变量中并通过POST传递?