用php加载json内容到html表

时间:2018-01-23 14:12:44

标签: php html json

我和我的搜索一样,但我的搜索更复杂,并且不知道如何使其发挥作用。

所以我有这个json内容:(这是json表中84个对象之一)



{
        "number": "6",
        "name": "Le Nickel : ses oxydes, ses sels et les opérations de grillage de mattes de nickel",
        "cause":
            {
                "A":"<p><strong><u>Liste indicative des principaux travaux</u></strong></p><p>Nickelage électrolytique des métaux</p>",
                "B": "<p><strong><u>Liste limitative des travaux</u></strong></p><p>Nickelage électrolytique des métaux</p><p>Opérations de soudage sur des métaux contenant du Nickel.</p>",
                "C": "<p><strong><u>Liste limitative des travaux</u></strong></p><p>Opérations de grillage de mattes de nickel. Opérations de soudage sur des métaux contenant du nickel.</p>"
            },
        "content": {
            "A": [
                {
                    "des": "Dermites eczématiformes récidivantes en cas de nouvelles expositions ou confirmées par test épicutané.",
                    "period": "7 jours"
                }
            ],
            "B": [
                {
                    "des": "Rhinite, asthme ou dyspnée asthmatiforme confirmés par test ou par épreuves fonctionnelles, récidivant après nouvelle exposition au risque.",
                    "period": "7 jours"
                }
            ],
            "C": [
                {
                    "des": "Cancer primitif de l’ethmoïde et des sinus de la face.Cancer bronchique primitif.",
                    "period": "40 ans"
                }
            ]
        }
    }
&#13;
&#13;
&#13;

我希望根据搜索结果将它们添加到此表

&#13;
&#13;
<tr>
            <th>Tableau</th>
            <th>Désignation des maladies</th>
            <th>Délai de prise en charge</th>
            <th>Liste indicative des principaux travaux susceptibles de provoquer ces maladies</th>
            <th></th>
        </tr>
&#13;
&#13;
&#13;

当我搜索原因数组时,一切正常,但是当我遍历内容数组时,每件事情都会变成地狱。

这是我搜索的php代码:

&#13;
&#13;
$index = 0;
            $output ="";
            $first = "";
            $last = "";
                foreach($table["content"]["A"] as $content){
                    if(strpos($content["des"],$search)){
                        if($index == 0){
                            $first.= "<tr>";
                            $first.= "<td>".$table["number"]."</td>";
                            $first.= "<td>".$content["des"]."</td>";
                            $first.= "<td>".$content["period"]."</td>";
                            $$last.= '<td><a href="add.php"><button type="button">Ajoutez au suivi</button></a></td>';
                            $$last.= "</tr>";
                        }else{
                            $output.= "<tr>";
                            $output.= "<td>".$table["number"]."</td>";
                            $output.= "<td>".$content["des"]."</td>";
                            $output.= "<td>".$content["period"]."</td>";
                            $output.= '<td><a href="add.php"><button type="button">Ajoutez au suivi</button></a></td>';
                            $output.= "</tr>";
                        }
                        $index++;
                    }
                }
            echo $first;
            echo "<td rowspan=\"".$index."\">".$table["cause"]["A"]."</td>";
            echo $last;
            echo $output;
            $index =0;
&#13;
&#13;
&#13;

这就是我运行它时会发生的事情:

result

我希望我能在这里找到答案,为你的时间和帮助而努力。

4 个答案:

答案 0 :(得分:0)

您可以在php中准备表格并使用ajax / get显示它。找到问题会更容易。

答案 1 :(得分:0)

尝试这样的事情:

foreach($table as $content){
    foreach ($content as $objContent) {
        if(strpos($objContent["des"],$search)){
        if($index == 0){
            $first.= "<tr>";
            $first.= "<td>".$table["number"]."</td>";
            $first.= "<td>".$objContent["des"]."</td>";
            $first.= "<td>".$objContent["period"]."</td>";
            $$last.= '<td><a href="add.php"><button type="button">Ajoutez au suivi</button></a></td>';
            $$last.= "</tr>";
        }else{
            $output.= "<tr>";
            $output.= "<td>".$table["number"]."</td>";
            $output.= "<td>".$objContent["des"]."</td>";
            $output.= "<td>".$objContent["period"]."</td>";
            $output.= '<td><a href="add.php"><button type="button">Ajoutez au suivi</button></a></td>';
            $output.= "</tr>";
        }
        $index++;
    }   
    }
}

答案 2 :(得分:0)

JSON不是表格。 你的“原因”是一个对象,而不是数组。 现在尝试在处理之前做这样的事情:

Obsevable<Observable<boolean>>

答案 3 :(得分:0)

尝试纠正你的错字

$$last.=

$last.=