我有一个从数据库中获取所有客户端信息的表,<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
一起传递。其次,表单中的所有值都设置在输入字段的标签上方吗?
以上可能的答案对我有用,只需使用空的placeholder=""
即可进行活动的课堂工作。