Heim > Backend-Entwicklung > PHP-Problem > Was ist die Klassifizierungsmethode in PHP Infinitus?

Was ist die Klassifizierungsmethode in PHP Infinitus?

爱喝马黛茶的安东尼
Freigeben: 2023-02-23 12:16:02
Original
4704 Leute haben es durchsucht

Was ist die Klassifizierungsmethode in PHP Infinitus?

Was ich Ihnen heute vorstelle, ist die Infinitus-Klassifizierungstechnologie von PHP. Ich unterteile die Infinitus-Klassifizierung in zwei Typen. Die spezifische Methode ist wie folgt:

Lassen Sie mich Ihnen zunächst die Datenbanktabelle zeigen. Datenbanken sind Aufgaben, und Datenbanktabellen sind auch Aufgaben.

Was ist die Klassifizierungsmethode in PHP Infinitus?

Verwandte Empfehlungen: „PHP-Tutorial

Die erste Methode (Array-Methode)

Diese Methode fragt tatsächlich zuerst alle Daten ab und konzentriert sich auf das generierte zweidimensionale Array.

<?php
  //分类方法
  function make_list($parent,$deep = 0){
    global $tasks;//申明全局变量
    global $strArr;//申明全局变量
    $qianzhui = str_repeat(" ",$deep)."|--";
    foreach ($parent as $key => $value) {
      $strArr[] = $qianzhui.$value;
      if(isset($tasks[$key])){
        make_list($tasks[$key],++$deep);//递归调用函数
      }
    }
  }
  //数据库连接
  $dbc = mysqli_connect("localhost","root","1234","tasks");
  //拼接sql语句
  $q = "select task_id,parent_id,task from tasks where date_completed = &#39;0000-00-00:00:00:00&#39; order by parent_id,
  date_added asc";
  //执行sql
  $r = mysqli_query($dbc,$q);
  //遍历结果集
  while (list($task_id,$parent_id,$task) = mysqli_fetch_array($r,MYSQLI_NUM)) {
    //组成数组(一级键为parent_id,二级键为task_id,值为任务内容)
    $tasks[$parent_id][$task_id] = $task;
  }
  //打印数组
  echo "<pre class="brush:php;toolbar:false">";
  print_r($tasks);
  echo "
Nach dem Login kopieren
"; make_list($tasks[0]); echo "
";
  //打印缩进数组
  print_r($strArr);
  echo "
Nach dem Login kopieren
"; ?>

Was ist die Klassifizierungsmethode in PHP Infinitus?

Die zweite Methode (Nachschlagetabellenmethode)

Diese Methode fragt eigentlich nur parent_id= am Anfang 0 und ab Verwenden Sie dann eine rekursive Methode, um Abfragebedingungen dynamisch zu generieren, verwenden Sie dann die Task_ID jedes Datensatzes als Task_ID und führen Sie dann eine neue Abfragerunde durch, bis das Abfrageergebnis leer ist.

<?php
  function findArr($where = "parent_id = 0",$deep = 0){
    $dbc = mysqli_connect("localhost","root","1234","tasks");
    global $strArr;
    $q = "select task_id,parent_id,task from tasks where ".$where." order by parent_id,date_added asc";
    $r = mysqli_query($dbc,$q);
    $qianzhui = str_repeat(" ", $deep)."|--";
    while (list($task_id,$parent_id,$task) = mysqli_fetch_array($r,MYSQLI_NUM)) {
      $strArr[] = $qianzhui.$task;
      //拼接查询条件
      $where = "parent_id = ".$task_id;
      //递归查询
      findArr($where,++$deep);
    }
  }
  findArr();
  //打印缩进数组
  echo "<pre class="brush:php;toolbar:false">";
  print_r($strArr);
  echo "
Nach dem Login kopieren
"; ?>

Was ist die Klassifizierungsmethode in PHP Infinitus?

Das obige ist der detaillierte Inhalt vonWas ist die Klassifizierungsmethode in PHP Infinitus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage