将表,tr,td值发送到mysql,包括datepicker

时间:2012-12-08 11:26:19

标签: php mysql ajax html-table

我来到一个地方,我猜,我被困住了。

逻辑是设置:

  1. 频率
  2. 首次扫描日期
  3. 使用以下代码完成:

    <script>
      $(function() 
        {
         $('.datepicker').datepicker({ 
            dateFormat: 'yy-mm-dd',
            onSelect: function(dateText, inst) {
                    var days = $("#scan_freq").val() * 7;
                    var newDate = addDaysDate(dateText, days)
                    $("#next_scan_date").val(newDate);
            }
        });
        }); 
    </script>
    
    <script>
    function addDaysDate(dateText, days) {
        var curDate = new Date(Date.parse(dateText));
        var nextDate = new Date();
        nextDate.setDate(curDate.getDate() + days);
        var curDay = nextDate.getDate();
        var curMonth = nextDate.getMonth() + 1;
        var curYear = nextDate.getFullYear();
        return curYear + "-" + curMonth + "-" + curDay;
    }
    </script>
    

    我遇到的问题:

    1. 当我从列表中设置第二个元素的频率和第一个扫描日期(如HP-UX)时,它会更改AIX的下一个扫描日期。与从表中获取的其余元素相同。就像我将改变Linux一样,它将为我设置AIX的下一个扫描日期。

    2. 我需要为保存按钮添加功能,当我点击“保存”按钮时,它将迭代操作系统并将其存储在mysql中。与中间件和他们的保存按钮相同。

    3. 任何人都可以提供帮助吗?非常感兴趣!

1 个答案:

答案 0 :(得分:1)

我第一次回答,所以考虑到这一点;)

编辑以使示例更清晰

如果我正在阅读此权限,则看起来输出表的循环会为所有字段提供相同的ID

<?php
$hc = mysql_query("SELECT * FROM platforms WHERE id_acc_ref='1' AND platform_type='os' ORDER BY platform_name ASC");
while($row = mysql_fetch_array($hc))
  {
  echo "<tr>";
  /* snipped */
  echo "<td><input id='first_scan_date' type='text' class='datepicker' value='".$row['first_scan_date']."' placeholder='0000-00-00' /></td>";
  /* snipped */
  echo "</tr>";
  }
?>

将生成像这样的HTML

  <tr>
  <td><input id='first_scan_date' type='text' class='datepicker' value='THE 1st DB VALUE HERE' placeholder='0000-00-00' /></td>";
  </tr>   
  <tr>
  <td><input id='first_scan_date' type='text' class='datepicker' value='THE 2nd DB VALUE HERE' placeholder='0000-00-00' /></td>";
  </tr>   
  <tr>
  <td><input id='first_scan_date' type='text' class='datepicker' value='THE 3rd DB VALUE HERE' placeholder='0000-00-00' /></td>";
  </tr>   

请注意每个输入字段的ID是否相同,ID在页面上应该是唯一的

根据给出的信息,我会说datepicker插件在内部使用字段的id,所以它设置了第一次出现id名称的字段的值;你排除了这个吗?我会给每个字段一个唯一的ID,可以解决日期选择器问题,编辑如果你发布代码我会知道更多,或链接到你用于datepicker的库

使用保存按钮功能,您可以只使用表单并将其提交到PHP处理脚本。我倾向于使用数组语法给出字段名称,例如:

<input type='text' name='scan_freq[]' value='...' /> 

然后它会通过你的_POST作为一个数组

有帮助吗?

- 更多详情

修正循环 - 添加唯一ID的一种方法

<?php
$hc = mysql_query("SELECT * FROM platforms WHERE id_acc_ref='1' AND platform_type='os' ORDER BY platform_name ASC");

$counter = 0;
while($row = mysql_fetch_array($hc))
  {
  echo "<tr>";
  /* snipped */
  echo "<td><input id='first_scan_date_".$counter ."' type='text' class='datepicker' value='".$row['first_scan_date']."' placeholder='0000-00-00' /></td>";
  /* snipped */
  echo "</tr>";
  $counter++;
  }
?>

如果这没有帮助,那么发布生成源的http://jsfiddle.net/(例如在浏览器中右键单击并查看源代码)将是前进的方式