为了解决以下问题,我做了一个小提琴手。我试图重新创建它,但这是困难的,因为数据正在显示服务器端的PHP从MySQL数据库。
我有一个表,我正在尝试将点击的<td>
内容传递到我的模式框中。如果没有,模态框应该与用户id一起出现,但是输入框是空的。
由于某些原因,用户id更改得很好,但是启动时间和结束时间输入不会!另外,当我检查元素时,它会为所有用户显示8-5吗?有人知道为什么会这样吗?
带有单击+数据参数的php代码
for($dow = 0; $dow <= 6; $dow++) {
?><td class="js-clickable" data-user_id="<?php echo $user_id; ?>" data-start_time="<?php echo $row['st']; ?>" data-end_time="<?php echo $row['et']; ?>"<?php
if (array_key_exists($dow, $list)) {
foreach ($list[$dow] as $row) {
if ($row['user_id'] == $user_id) {
echo date("H:i", strtotime($row['st'])) . " - " . date("H:i", strtotime($row['et']));
发布于 2015-03-29 03:30:29
我已经在PHP代码中发现了导致数据在表中被错误填充的问题。
主要问题是与编写标记的部分中的糟糕逻辑有关。例如,用于写入数据属性的$row变量与用于写入TD内容的$row变量完全不同。而且,在为该用户寻找计划之前,您正在编写第一个TD标记的数据属性。我修改了该部分中的代码,以便将完整的TD标记写在两个区域中,要么使用预定的数据,要么不使用。代码仍然非常混乱,但至少现在它起作用了。另外,在您发布的pastebin代码的第57行中,php结束标记(?>)之间有一个错误的引号。它是:?">它应该是:?>“
一些较小的观察:-引导CSS被链接了两次(一个本地的,一个远程的)。不是问题的一部分,只是一个观察。-表格的结束标记和周围的div顺序不对。在div之前关闭表单。
下面是正确填充表的数据属性和内容的工作代码:
// Code removed at request of OP.
发布于 2015-03-27 18:22:51
问题在于您的PHP
代码,因为HTML
标记显示在小提琴中,清楚地表明data-end_time
和data-start_time
的data-end_time
和data-start_time
显示为data-end_time="2015-03-27 17:30:00" data-start_time="2015-03-27 08:30:00"
。
从数据库中获取的值可能有一些错误。确保正确检索数据库中的值。
在本例中,您编写的jquery工作得很好。
发布于 2015-03-27 18:23:26
这是一个PHP问题,因为它是在PHP中编写的。
现在,出现这种情况的原因可能是在date("H:i", strtotime($row['start_time']))
,我认为期望值($row['start_time']
和$row['end_time']
)不会将预期的字符串返回给strtotime
函数。
检查这个块上的代码并检查它是如何返回的。
if ($row['user_id'] == $user_id) {
echo date("H:i", strtotime($row['start_time'])) . " - " . date("H:i", strtotime($row['end_time']));
}
我希望我帮了你。
https://stackoverflow.com/questions/29307360
复制相似问题