这是一个jQuery或PHP问题

时间:2015-03-27 18:06:20

标签: php

我为以下问题创建了一个jsfiddle。我试图重新创建它,但它很难,因为数据是在服务器端使用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']));

3 个答案:

答案 0 :(得分:1)

问题在于您的PHP代码,因为小提琴中显示的HTML标记清楚地表明迈克尔的data-end_timedata-start_time显示为{{1} }。

从数据库中获取的值可能存在一些错误。确保正确检索数据库中的值。

你写的jquery在这种情况下完美无缺。

答案 1 :(得分:1)

这是一个PHP问题,因为它是在PHP上编写的。

现在为什么会出现date("H:i", strtotime($row['start_time'])),我认为期望值($row['start_time']$row['end_time'])不会将预期的字符串返回给{{1}功能。

检查此块的代码并检查它是如何返回的。

strtotime

我希望我能帮到你。

答案 2 :(得分:0)

我已经确定了您的PHP代码导致数据在表格中错误填充的问题。

主要问题是编写标记的部分中的错误逻辑。例如,用于写入数据属性的$ row变量与用于写入TD内容的$ row变量完全不同。此外,您甚至在查找该用户的计划之前编写了第一个TD标记的数据属性。我修改了该部分中的代码,以便将完整的TD标记写入两个区域,或者使用预定数据,或者不使用。代码仍然相当混乱,但至少现在它的工作原理。另外,在发布的pastebin中的代码的第57行,在php结束标记(?&gt;)之间有一个错误的引号。它是:?&#34;&gt;它应该是:?&gt;&#34;

一些较小的观察结果:   - Bootstrap CSS被链接了两次(一个本地,一个远程)。不是问题的一部分,只是一个观察。   - 表单和周围div的结束标记顺序错误。关闭div之前的表单。

以下是正确填充表的数据属性和内容的工作代码:

// Code removed at request of OP.