Heim  >  Artikel  >  Backend-Entwicklung  >  Der Sortierimplementierungscode für unendliche Spalten in thinkphp

Der Sortierimplementierungscode für unendliche Spalten in thinkphp

不言
不言Original
2018-08-20 16:31:361672Durchsuche

Der Inhalt dieses Artikels befasst sich mit dem Sortierimplementierungscode für unbegrenzte Spalten in thinkphp. Ich hoffe, dass er für Freunde hilfreich ist.

Wir haben in der Frage nicht erklärt, ob es sich um die unendliche Sortierung von TP5 oder die unendliche Sortierung von TP3 handelt, nur um Anfängern klar zu machen, dass die Implementierung dieser Funktionen nichts mit dem von Ihnen verwendeten Framework zu tun hat. Egal, ob Sie TP5 sind. Es spielt keine Rolle, ob es sich um TP3, Laravel oder Yii-Framework handelt. Was wir hervorheben, ist die Idee und die Methode zur Lösung des Problems. Bei der Demonstration spielt es keine Rolle, da ich TP3 verwende.

Das Sortieren unbegrenzter Spalten ist sehr einfach. Dieses Mal werden wir die Lösung in Form eines Blogbeitrags mit Ihnen teilen.

Bild oben:

Der Sortierimplementierungscode für unendliche Spalten in thinkphp

Das Bild oben zeigt die von uns implementierte Klassifizierung auf unendlicher Ebene. Derzeit sollten wir auf zwei Felder achten , das Sortierfeld Die Werte sind alle 50, was der Standardwert ist. Als nächstes mache ich einen Screenshot der Datentabellenstruktur für alle

Der Sortierimplementierungscode für unendliche Spalten in thinkphp

Die Sortierung im obigen Bild wird verwendet, um eine Sortier-PID zu erreichen, die verwendet wird, um eine unendliche Klassifizierung zu erreichen

Der Schlüssel zum Erreichen einer unendlichen Klassifizierung liegt darin, dass wir beim Schreiben des Sortierfelds den gesamten Code erhalten, aber nur eine Zeile verwenden:

[php]
<form method="post" action="">
<table class="table table-bordered table-hover">
<thead class="">
<tr>
<th width="6%" class="text-center">ID</th>
<th width="6%" class="text-center">pid</th>
<th width="8%" class="text-center">排序</th>
<th>栏目名称</th>
<th width="16%" class="text-center">操作</th>
</tr>
</thead>
<tbody>
<volist name="cateRes" id="cate">
<tr>
<td align="center">{$cate.id}</td>
<td align="center">{$cate.pid}</td>
<td align="center">
<input type="text" name="sort[{$cate.id}]" value="{$cate.sort}" /></td>
<td><?php echo str_repeat(‘-‘, $cate[‘level’]*8);?>{$cate.cate_name}</td>
<td align="center">
<a href="" class="btn btn-primary btn-sm shiny">
<i class="fa fa-edit"></i> 编辑
</a>
<a href="#" onClick="warning(‘确实要删除吗’, ”)" class="btn btn-danger btn-sm shiny">
<i class="fa fa-trash-o"></i> 删除
</a>
</td>
</tr>
</volist>
<tr>
<td colspan="4">
<button
 type="button" tooltip="排序" style="margin-left:225px; width:50px;" 
class="btn btn-sm btn-azure btn-addon">排序</button>
</td>
</tr>
</tbody>
</table>
</form>
[/php]

Aus dem obigen Code können wir sehen, dass die gesamte Tabelle vorhanden ist in ein Formular eingepackt, da wir das Sortierfeld absenden wollen. Es wird also ein Formular benötigt.

Der Kerncode für unsere Implementierung der Infinitus-Spaltensortierung:

[php]
<input type="text" name="sort[{$cate.id}]" value="{$cate.sort}" />
[/php]

Das ist es. Tatsächlich haben wir ein sort[]-Array zusammengestellt, und der Schlüssel jedes Elements des gesamten Arrays ist aktuelle Spalte. Die ID und der Wert sind die sortierten Werte der aktuellen Spalte, sodass wir, sobald wir das Array übermittelt haben, die Sortierung entsprechend der ID ändern können

Vollständiger Code:

[php]
public function lst(){
$cate=D(‘Cate’);
if(IS_POST){//排序
$data=I(‘sort’);
foreach ($data as $k => $v) {
$cate->where(array(‘id’=>$k))->save([‘sort’=>$v]);
}
return;
}
$cateRes=$cate->cateTree();//无限级分类树
$this->assign([
‘cateRes’=>$cateRes,
]);
$this->display(‘list’);
}
[/php]

Verwandte Empfehlungen:

Wie man Rekursion verwendet, um eine unendliche Abstufung unter dem TP5-Framework zu erreichen (Codebeispiel)

Welche Methoden gibt es zum Abfangen von Zeichenfolgen? thinkphp5? (Zwei Methoden zum Erreichen)

Das obige ist der detaillierte Inhalt vonDer Sortierimplementierungscode für unendliche Spalten in thinkphp. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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