Aktuelle To-Do-Liste

Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Heredoc-Originaldokument und Nowdoc-Syntax

PHP-Heredoc-Originaldokument und Nowdoc-Syntax

巴扎黑
巴扎黑Original
2016-11-10 13:59:081120Durchsuche

Heredoc-Originaldokument und Nowdoc-Syntax-Nutzungsszenariocode

<!doctype html>  
<html lang="en">  
<head>  
    <meta charset="utf-8">  
    <title>Current To-Do List</title>  
</head>  
<body>  
<?php  
    function make_list($parent) {  
        global $tasks;  
        echo &#39;<ol>&#39;;  
  
        foreach($parent as $task_id => $todo) {  
            echo <<<EOT  
<li><input type="checkbox" name="tasks[$task_id]" value="done"> $todo  
EOT;  
  
            if (isset($tasks[$task_id])) { // 如果当前id有子任务则递归创建菜单  
                make_list($tasks[$task_id]);  
            }  
  
            echo "</li>";  
        }  
  
        echo &#39;</ol>&#39;;  
    }  
  
    $db = mysqli_connect(&#39;192.168.31.172&#39; ,&#39;root&#39;, &#39;root&#39;, &#39;phpadvanced&#39;);  
    mysqli_query($db, "set names utf8");  
  
    if (($_SERVER[&#39;REQUEST_METHOD&#39;] == &#39;POST&#39;) && isset($_POST[&#39;tasks&#39;]) && is_array($_POST[&#39;tasks&#39;]) && !empty($_POST[&#39;tasks&#39;])) {  
  
        $q = &#39;UPDATE tasks SET date_completed=NOW() WHERE task_id IN (&#39;;  
        foreach($_POST[&#39;tasks&#39;] as $task_id => $v) {  
            $q .= $task_id.&#39;, &#39;;  
        }  
        $q = substr($q, 0, -2) . &#39;)&#39;;  
  
        $r = mysqli_query($db, $q);  
  
        if(mysqli_affected_rows($db) == count($_POST[&#39;tasks&#39;])) {  
            echo &#39;<p>选择的任务已经标记完成</p>&#39;;  
        } else {  
            echo &#39;<p>选择的任务不能被标记为完成</p>&#39;;  
        }  
    }  
  
    $q = &#39;SELECT task_id, parent_id, task FROM tasks WHERE date_completed="0000-00-00 00:00:00" ORDER BY parent_id, date_added ASC&#39;;  
    $r = mysqli_query($db, $q);  
  
    $tasks = array();  
while (list($task_id, $parent_id, $task) = mysqli_fetch_array($r, MYSQLI_NUM)) {  
    $tasks[$parent_id][$task_id] = $task;  
}  
//echo &#39;<pre class="brush:php;toolbar:false">&#39;.print_r($tasks,1).&#39;
'; ​ // Dies ist das Originaldokument im Heredoc-Format echo Klicken Sie auf das Kontrollkästchen und markieren Sie es als erledigt (Die Aufgabe selbst und alle Unteraufgaben werden nicht in dieser Liste angezeigt)
EOT; make_list($tasks[0]); //Sende das Array mit den Aufgaben der obersten Ebene, die übergeordnete_ID der obersten Ebene ist 0 //Dies ist die neue Nowdoc-Syntax in 5.3. Im Vergleich zum Originaldokument analysiert Nowdoc keine Variablen. Echo
EOT; ​ ?>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Problem beim AffenzählenNächster Artikel:Problem beim Affenzählen