Heim  >  Artikel  >  php教程  >  Erste Einführung in allgemeine Datenbankbetriebsklassen - Front-End EasyUI-Datagrid, Formular (PHP)

Erste Einführung in allgemeine Datenbankbetriebsklassen - Front-End EasyUI-Datagrid, Formular (PHP)

高洛峰
高洛峰Original
2016-12-27 13:43:511141Durchsuche

Erste Einführung in die allgemeine Datenbankbetriebsklasse - Front-End EasyUI-Datagrid, Formular (PHP), der Implementierungscode ist relativ einfach, die spezifischen Implementierungsschritte finden Sie unten.

Implementierungsfunktion:

Das Datenraster auf der linken Seite zeigt kurze Informationen an und auf der rechten Seite werden detaillierte Informationen zu den hinzugefügten, gelöschten und geänderten Datenbanken angezeigt

(1 ) Klicken Sie auf die ausgewählte Zeile. Auf der rechten Seite werden detaillierte Informationen angezeigt. Dort sind die Schaltflächen [Hinzufügen], [Ändern] und [Löschen] verfügbar. Die Schaltfläche [Speichern] ist deaktiviert.

(2) Klicken Sie die Schaltfläche [Hinzufügen], die Schaltflächen [Ändern] und [Löschen] sind deaktiviert und die Schaltfläche [Speichern] 】 ist aktiviert

(3) Klicken Sie auf die Schaltfläche [Ändern], [Hinzufügen] und [Löschen ]-Schaltflächen sind deaktiviert

Schwierigkeit: Methode einfügen und Methode aktualisieren in der allgemeinen Datenbankoperationsklasse

Endgültiges Rendern:

Die Front-End-Funktion ist nicht sehr vollständig und da Es gibt noch einige Probleme mit der Logik zwischen den Schaltflächen. Schließlich wird der Front-End-Code hinzugefügt. Unter anderem beurteilt Formain.php den an das Front-End übergebenen Wert und ruft actSQL auf, um das Ergebnis zu erhalten 🎜>

Der Code ist relativ einfach

wie folgt:

Schauen Sie sich die verschiedenen Methoden der Klassen an, die in Formain.php erscheinen, und denken Sie kurz darüber nach

<?php
  require(&#39;include/mysql_connect/actSQL.class.php&#39;);
  $key=$_REQUEST[&#39;key&#39;];
  $a=new actSQL(&#39;localhost&#39;,&#39;root&#39;,&#39;1234&#39;,&#39;tpss&#39;);
  //获取信息
  if($key==&#39;1&#39;)
  {
   $a->getAllData(&#39;t_prekeychart&#39;);
  }
  if($key==&#39;2&#39;)
  { 
   $objectstr=$_REQUEST[&#39;object&#39;];   
   if($a->insertData($objectstr,&#39;t_prekeychart&#39;))
   {
    echo json_encode("true");
   }else{
    echo json_encode("false");
   }
   //test
   //$test=&#39;{"keychartid":"2","keyid":"2","keychartname":"2","level":"2","showtype":"2","helptips":"2","keylevel":"2","ishmap":"2"}&#39;;
   //$a->insertData($test,&#39;t_prekeychart&#39;);
  }
  if($key==&#39;3&#39;)
  { 
   $prekey=$_REQUEST[&#39;keychartid&#39;];
   $prekeyname=&#39;keychartname&#39;;
   if($a->delData($prekey,$prekeyname,&#39;t_prekeychart&#39;))
   {
    echo json_encode("true");
   }else{
    echo json_encode("false");
   }
  }
  if($key==&#39;4&#39;)
  {
   $objectstr=$_REQUEST[&#39;object&#39;];
   $prekeyname=&#39;keychartid&#39;;
   if($a->updData($objectstr,$prekeyname,&#39;t_prekeychart&#39;))
   {
    echo json_encode("true");
   }else{
    echo json_encode("false");
   }
  }
?>
Unter anderem ruft

getAllData($tablename) alle Informationen der Tabelle ab. Dies kann mit einer einfachen SQL-Anweisung erfolgen format

delData( $prekey, $prekeyname, $tablename) löscht die angegebenen Informationen. Dies ist einfacher, daher werde ich nicht darüber sprechen. , wobei $objectstr eine Zeichenfolge im JSON-Format ist, $tablename Tabellenname,

Die Schwierigkeit besteht darin, sie zu einer Anweisung wie insert into $tablename (...) Values(.....) zusammenzusetzen.

Lösung:

(1) Rufen Sie alle Spaltennamen basierend auf $tablename ab und konvertieren Sie das Spaltennamen-Array in eine Zeichenfolge, um das Zusammensetzen der endgültigen SQL-Anweisung vorzubereiten Um die Spaltennamen zu erhalten, gibt es einen anderen Zweck. Siehe unten

(2) Konvertieren Sie die JSON-Formatzeichenfolge $objectstr in ein assoziatives Array, rufen Sie die Methode json_decode() auf

und ergänzen Sie den json_decode () Methode

mixed json_decode ( string $json [, bool $assoc = false [, int $ Depth = 512 [, int $options = 0 ]]] )

Akzeptiert eine JSON-Formatzeichenfolge und konvertiert es in eine PHP-Variable, wobei assoc, wenn der Parameter TRUE ist, das Assoziations-Array zurückgibt.

(3) Fragen Sie die Daten in der Reihenfolge der abgefragten Spaltennamen ab. Wenn die Daten leer sind, weisen Sie den Wert NULL zu und speichern Sie das Ergebnis im Array, um zu verhindern, dass falsch ausgerichtete Werte in die Datenbank eingefügt werden (. ein weiterer Grund für den Erhalt von Spaltennamen)

(4) Konvertieren Sie das Ergebnis von (3) in einen String und rufen Sie die implode()-Methode auf

Ergänzen Sie die implode()-Methode:

String implode(String Glue, Array Pieces) ;

Diese Funktion kombiniert den Inhalt des Arrays zu einem String. Der Parameter Glue ist das Trennzeichen zwischen Wörtern

(5) Setzen Sie die SQL-Anweisung zusammen string, und fügen Sie dann

in die Datenbank ein. Die Schwierigkeit der Methode updData($objstr,$prekeyname,$tablename) liegt auch in der Zeichenfolgenassemblierung der SQL-Anweisung. Das Assemblyformat sollte wie folgt sein:

update $tablename set ..... where $prekeyname=$data[$prekeyname ]

Die ersten beiden Schritte sind die gleichen wie insertData()

(3) Durchlaufen Sie die Spaltenname-Zeichenarray, erhalten Sie den Spaltennamenwert des Nicht-Primärschlüsselnamens und folgen Sie der Zeichenfolge „Spaltenname = Spaltennamenwert“. Das Format wird im Array gespeichert, hier ist die unvollständige Zeichenfolge

nach der Menge (4) Wandeln Sie das Ergebnis von (3) in einen String um, trennen Sie die Array-Elemente mit ',', dies ist der letzte Teil nach der Menge. Das String-Format ist „xx=xx,xx=xx“

(5) Fügen Sie die SQL-Zeichenfolge zusammen und aktualisieren Sie dann die Datenbank.

Die Funktionen insertData() und updData() lauten wie folgt

Das Obige ist der gesamte Inhalt von Ich hoffe, dieser Artikel gefällt euch allen.

Weitere Artikel zur allgemeinen Datenbankbetriebsklasse - Front-End-EasyUI-Datagrid, Formular (PHP) finden Sie auf der chinesischen PHP-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