0

私は行き詰まっていると思う場所に来ました。

ロジックは次のように設定します。

  1. 周波数
  2. 最初のスキャンの日付

以下のコードを使用して行われます。

<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. リストの 2 番目の要素 (HP-UX など) の頻度と最初のスキャン日を設定すると、AIX の次のスキャン日が変更されます。テーブルからフェッチされた残りの要素と同じです。Linux の場合と同様に、AIX の次のスキャン日が設定されます。

  2. 保存ボタンの機能を追加する必要があります。保存ボタンを押すと、オペレーティング システムに対して反復処理され、mysql に保存されます。ミドルウェアとその保存ボタンと同じです。

誰でも助けることができますか?とても感謝しています!

4

1 に答える 1

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 名が最初に出現したフィールドの値を設定しています。これを除外しましたか?各フィールドに、datepicker の問題を解決できる一意の ID を指定します。コードを投稿するか、 datepickerに使用しているライブラリにリンクすると、詳細がわかります。

保存ボタン機能を使用すると、フォームを使用してそれを PHP 処理スクリプトに送信できます。配列構文を使用してフィールド名を指定する傾向があります。たとえば、次のようになります。

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

次に、配列として _POST を介して送信されます

それは役に立ちますか?

-- 詳細

修正されたループ - 一意の ID を追加する 1 つの方法

<?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/を投稿する (たとえば、右クリックしてブラウザーでソースを表示する) ことで、先に進むことができます。

于 2012-12-08T12:07:51.027 に答える