我正在开发一个工单管理网站,执行这些工单的是技术人员,他们负责提供客户服务。每月、每年或每季度,技术人员必须检查设备,以便管理人员了解设备是否需要维护。这些客户中的每一个都有不同数量的设备,例如客户 A 有 AC 但客户 B 没有 AC。 PM 是将要查询的测量点,以防客户端 A 为 PM1 = AC。 我有一个表,其中包含所有已实现的客户所需的所有 PM,我想我可以将客户名称与该客户拥有的 PM 相关联,因此我可以自动生成表,仅查询来自该客户的哪些 PM,我将提交这通过 $ .ajax ({}) 邮寄 我当前的问题是注意如何在此 URL 中查看为该客户端生成了哪些 PM。 如果我通过客户端名称在此 url 中进行第二次查询以获取 PM,我可能已经知道哪些字段,但这会减慢整个过程吗?甚至这在代码级别上也非常实用....
我保存 PM 的表格是这样的:
| Inspection_Time | B_Value | C_Value | client | |------------------|---------|---------|--------| | dd-mm-yyyy hh:mm | OK | OK | A | | dd-mm-yyyy hh:mm | OK | OK | B |
However, as I have several clients with different checklists, I'm not sure how to do the implementation, anyone have any idea how this should be done?
Currently I have several files with the configurations of each one checklist of each client (little practical)
Actual code exemple:
<?php
if($cliente == "001"){
include("prev.tab/$cliente.php")
}elseif($cliente == "002"){
include("prev.tab/$cliente.php")
}
[...]
}elseif($cliente == "500"){
include("prev.tab/$cliente.php")
}
?>
编辑 来自“include("prev.tab/001.php")”的代码示例:
<div class="table-wrap mt-40">
<div class="table-responsive">
<table class="table table-striped table-bordered mb-0">
<thead>
<tr>
<th>P.M.</th>
<th>status</th>
<th>OBS</th>
</tr>
</thead>
<tbody>
<tr>
<td>ALARM EXT.</td>
<td>
<select name="pm8" class="form-control select2" size="1" required >
<option value="N/A">N/A</option>
<option value="NOK">NOK</option>
<option value="OK">OK</option>
</select>
</td>
<td>
<input type="text" class="form-control" placeholder="N/A"name="pm8obs">
</td>
</tr>
<tr>
<td>other</td>
<td>
<select class="form-control select2" size="1" required name="pm9">
<option value="N/A">N/A</option>
<option value="NOK">NOK</option>
<option value="OK">OK</option>
</select>
</td>
<td>
<input type="text" class="form-control" placeholder="N/A"name="pm9obs">
</td>
</tr>
</tbody>
</table>
</div>
</div>
最佳答案
这是一个很大的问题。我的建议是使用 json。您可以将其存储在服务器直接位于客户端文件夹下的不同位置、以客户端 ID 作为查找的数据库、类似于数据库的 S3 存储桶等。
从那里开始就是格式是什么的问题。如果每个客户都可以创建自己的问题并且他们只是选择,那么可以使用下面的简单内容,索引就是它们在代码中出现的位置。
$json = '{
"headers" : ["P.M", "status", "OBS"],
"questions": [
{
"name" : "pm8",
"text": "ALARM EXT",
"options": [
{
"display" : "N/A",
"value" : "N/A"
},
{
"display" : "OK",
"value" : "OK"
},
{
"display" : "NOK",
"value" : "NOK"
}
]
},
{
"name" : "pm9",
"text": "other",
"options": [
{
"display" : "N/A",
"value" : "N/A"
},
{
"display" : "OK",
"value" : "OK"
},
{
"display" : "NOK",
"value" : "NOK"
}
]
}
]
}';
有了这样的东西,您就可以使用 php 将数据作为对象和一些简单的循环来访问:
<?php
//Access the data this is an example
//I am not sure what you will use.
//Just assuming a similar data structure is returned.
$json = your_storage($cliente);
//Change that JSON to an associative array
$data = json_decode($json, TRUE);
//Drop out of PHP to set up the html
?>
<div class="table-wrap mt-40">
<div class="table-responsive">
<table class="table table-striped table-bordered mb-0">
<thead>
<tr>
<?php
//In PHP again use what was retrieved earlier
foreach($data["headers"] as $header){
echo "<th>$header</th>";
}
?>
</tr>
</thead>
<tbody>
<?php
foreach($data["questions"] as $question){
echo '<tr>';
echo "<td>$question[text]</td>";
echo '<td>';
echo "<select name='$question[name]' class='form-control select2' size='1' d >";
foreach($question["options"] as $option){
echo "<option value='$option[value]'>$option[display]</option>";
}
echo '</select>';
echo '</td>';
echo '<td>';
echo '<input type="text" class="form-control" placeholder="N/A"name="pm8obs">';
echo '</td>';
echo '<tr>';
}
?>
</tbody>
</table>
</div>
</div>
通常我不会像这样进出 PHP。我使用 Twig 来创建我的模板,但我不想在这里引入完全不同的设置。
这也是可扩展的。如果你愿意,你可以放置一个必需的标志来根据需要标记问题。如果有更多然后选择,那么您可以放置一个类型并在 php 渲染中查询它。
关于php - 实现多个客户 list ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56045003/