Append div包含用于在href单击上编辑mysql数据的表格|实现

问题描述 投票:0回答:1

我有一个从数据库中获取所有客户端信息的表,<th>标记之一包含一个编辑链接,每个链接均包含一个与该行的特定客户端匹配的唯一ID。像这样的东西:

<a class="modal-trigger" href="#edit?id=<?php echo $result['idClients']; ?>"><i class="material-icons">edit</i></a>

显示此表的foreach循环的一部分,我有一个div包含其中的modal内容,在模态下,我有一种更新数据库的形式。

循环为每个结果创建一个编辑表单(模式),这会导致大量代码,我想找到一种方法,只需单击初始表上的编辑图标即可创建div,以保存代码显示在网站上。如果我错了,请纠正我,这是正确的方法。

谢谢!

索引页:

 <div class="row">
  <div class="col s12 m12">
    <div id="ClientViewer" class="card">
      <div class="card-title">
        <button id="button" type="button" name="button" class="waves-effect waves-gray btn-flat"><i class="material-icons">refresh</i></button>
        <span>title</span>
      </div>
      <div class="card-content">
        <table class="striped highlight">
          <thead>
            <tr>
              <th>Client Name</th>
              <th>field</th>
              <th>field</th>
              <th>field</th>
              <th>field</th>
              <th>edit</th>
            </tr>
          </thead>
          <tbody>
<?php
foreach ($results as $result) {
   ?>
       <tr>
         <td><?php echo $result['clientNameA']. ' and ' .$result['clientNameB']; ?></td>
         <td><?php echo $result['eventLocation']; ?></td>
         <td><?php echo $result['eventDate']; ?></td>
         <td><?php echo $result['clientPackage']; ?></td>
         <td style="color:
        <?php
        $this->checkStatment($result['clientStatus'],'active,'green');
        $this->checkStatment($result['clientStatus'],'temp','#961cf3');
        $this->checkStatment($result['clientStatus'],'archive,'red');
        ;?>;"><?php echo $result['clientStatus']; ?></td>
         <td>
           <a class="modal-trigger" href="#edit?id=<?php echo $result['idClients']; ?>"><i class="material-icons">edit</i></a>
         </td>
       </tr>
   <?php
   include $_SERVER['DOCUMENT_ROOT']. '/admin/resources/pages/_updateclient.php';
}
?>
    </tbody>
  </table>
  </div>
</div>
</div>
</div>

__ updateclient.php页面:

 <div id="edit?id=<?php echo $result['idClients']; ?>" class="modal">
  <div class="modal-content">
    <h4></h4>
    <form id="newclient" class="" action="/admin/resources/php/updateClient" method="post" novalidate="novalidate">
      <div class="row">
          <input type="hidden" name="idClients" value="<?php echo $result['idClients']; ?>" class="validate">
        <div class="input-field col s12 m6">
          <input name="clientNameA" type="text" value="<?php echo $result['clientNameA']; ?>" class="validate">
          <label for="clientNameA"></label>
        </div>
        <div class="input-field col s12 m6">
          <input name="clientNameB" type="text" value="<?php echo $result['clientNameB']; ?>" class="validate">
          <label for="clientNameB"></label>
        </div>
        <div class="input-field col s12 m6">
          <input name="clientEmail" type="email" class="validate " value="<?php echo $result['clientEmail']; ?>">
          <label for="clientEmail"></label>
        </div>
        <div class="input-field col s12 m6">
          <input type="text" name="eventLocation" class="autocomplete" value="<?php echo $result['eventLocation']; ?>">
          <label for="eventLocation"></label>
        </div>
        <div class="input-field col s12 m6">
          <input name="clientPhone" type="tel" class="validate " value="<?php echo $result['clientPhone']; ?>" >
          <label for="clientPhone"></label>
        </div>
        <div class="input-field col s12 m6">
          <input name="eventDate" type="text" class="datepicker" value="<?php echo $result['eventDate']; ?>">
          <label for="eventDate"></label>
        </div>
        <div class="input-field col s12 m6">
          <input name="eventGuests" type="number" class="validate " value="<?php echo $result['eventGuests']; ?>">
          <label for="eventGuests"></label>
        </div>
        <div class="input-field col s12 m6">
          <input type="hidden" name="clientStatus" value="">
          <select class="browser-default" name="clientStatus" id="clientStatus">
            <option <?php $this->checkStatment($result['clientStatus'],'active,'selected'); ?> value="active">active</option>
            <option <?php $this->checkStatment($result['clientStatus'],'temp,'selected'); ?> value="temp">temp</option>
            <option <?php $this->checkStatment($result['clientStatus'],'archive,'selected'); ?> value="archive">archive</option>
          </select>
        </div>
        <div class="input-field col s12 m6">
          <select class="browser-default" name="clientPackage" id="clientPackage">
            <option <?php $this->checkStatment($result['clientPackage'],'polo,'selected'); ?> value="polo">polo</option>
            <option <?php $this->checkStatment($result['clientPackage'],'plus,'selected'); ?> value="plus">plus</option>
            <option <?php $this->checkStatment($result['clientPackage'],'plat,'selected'); ?> value="plat">plat</option>
          </select>
        </div>
        <button type="submit" name="submit" class="button button-default-outline full-width">Update</button>
      </form>
      <a href="#!" class="modal-close waves-effect waves-green btn-flat">close</a>
  </div>
</div>
</div>

可能的答案:

 <a data-target="updateClient" href="#updateClient?cs=<?php echo $result['clientStatus'].'&cp='.$result['clientPackage']; ?>" class="modal-trigger waves-effect waves-light"
       data-idclients="<?php echo $result['idClients']; ?>"
       data-clientnamea="<?php echo $result['clientNameA']; ?>"
       data-clientnameb="<?php echo $result['clientNameB']; ?>"
       data-clientemail="<?php echo $result['clientEmail']; ?>"
       data-eventlocation="<?php echo $result['eventLocation']; ?>"
       data-clientphone="<?php echo $result['clientPhone']; ?>"
       data-eventdate="<?php echo $result['eventDate']; ?>"
       data-eventguests="<?php echo $result['eventGuests']; ?>"
       data-clientstatus="<?php echo $result['clientStatus']; ?>"

       ><i class="material-icons">edit</i></a>

    $('.modal').modal({
    onOpenStart: function(modal, trigger) {
    $(modal).find('input[name="idClients"]').val($(trigger).data('idclients'))
            $(modal).find('input[name="clientNameA"]').val($(trigger).data('clientnamea'))
            $(modal).find('input[name="clientNameB"]').val($(trigger).data('clientnameb'))
            $(modal).find('input[name="clientEmail"]').val($(trigger).data('clientemail'))
            $(modal).find('input[name="eventLocation"]').val($(trigger).data('eventlocation'))
            $(modal).find('input[name="clientPhone"]').val($(trigger).data('clientphone'))
            $(modal).find('input[name="eventDate"]').val($(trigger).data('eventdate'))
            $(modal).find('input[name="eventGuests"]').val($(trigger).data('eventguests'))
            $(modal).find('input[name="eventSuests"]').val($(trigger).data('eventstatus'))
            var eventstatus = ($(trigger).data('eventstatus'));
            $.post('resources/pages/_updateclient.php', {eventstatus: eventstatus});
}

[很少,我无法将val eventstatus$.post一起传递。其次,表单中的所有值都设置在输入字段的标签上方吗?

jquery mysql ajax materialize
1个回答
0
投票

以上可能的答案对我有用,只需使用空的placeholder=""即可进行活动的课堂工作。

© www.soinside.com 2019 - 2024. All rights reserved.