我在 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 的代码给了我很多帮助!谢谢!
答案 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传递?