php - 实现多个客户 list

标签 php html

我正在开发一个工单管理网站,执行这些工单的是技术人员,他们负责提供客户服务。每月、每年或每季度,技术人员必须检查设备,以便管理人员了解设备是否需要维护。这些客户中的每一个都有不同数量的设备,例如客户 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/

相关文章:

php - 如何在 .php 文件中正确使用 jquery? WP-Admin 只显示 html

php - 将 href 值增加一(Javascript)

javascript - 使用 jquery 将 html 添加到表中

html - CSS 表格列自动宽度

php - 自动加载错误 : No such file or directory

php - StofDoctrineExtensionsBundle softdelete - 我该如何使用它?

php - 使用 php 和 Ajax 的 Highcharts 柱形图

javascript - 替换 <label> 的内容,包含的表单控件除外

html - 我可以强制文本打印为白色吗?

html - 如何在 Flask 中导入 html 模板?