Hướng dẫn how to write html code in codeigniter controller - cách viết mã html trong bộ điều khiển codeigniter

Bộ điều khiển nội dung của tôi trong Codeigniter:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class AutoLoadDiv extends CI_Controller {

    public function __construct()
    {
        parent::__construct();
    }

    public function index()
    {
        $this->load->view('ngoding/AutoLoad');
    }

    public function getData() {

        $this->load->library('table');
        $err = file_get_contents("application\logs\log.php");
        $filestr = preg_replace(array('/(^|\R)ERROR\s*-\s*/', '/(^|\R)(.*?)\s*-->\s*/'), array('$1', '$1$2 '), $err);
        $arraySpacing = nl2br($filestr);
        $arr = explode("\n", $arraySpacing);

        for ($i = count($arr)-1; $i >= 0; $i--) {
            echo "<html><body><table><tr><td>$arr[$i];</td></tr></table></body>/html>";
        }
      }
  }

Tôi có một vấn đề làm cho bảng trong bộ điều khiển, tôi muốn in một bảng như sau:

Hướng dẫn how to write html code in codeigniter controller - cách viết mã html trong bộ điều khiển codeigniter

Tôi có xem:

https://codeshare.io/GqyWmk

Hướng dẫn how to write html code in codeigniter controller - cách viết mã html trong bộ điều khiển codeigniter

Cena

3.1862 Huy hiệu vàng15 Huy hiệu bạc34 Huy hiệu đồng2 gold badges15 silver badges34 bronze badges

Đã hỏi ngày 2 tháng 10 năm 2018 lúc 2:45Oct 2, 2018 at 2:45

Hướng dẫn how to write html code in codeigniter controller - cách viết mã html trong bộ điều khiển codeigniter

1

Để in bảng như trong hình ảnh, bạn cần thay đổi mã như thế này.

Giả sử bạn chỉ có 4 cột trong tệp:

   $output = "<html><body><table>"; // Keep this outside for loop to print only once.


   var $j = 0;
   for ($i = count($arr)-1; $i >= 0; $i--) {

      if ($j % 4 == 0) {
          $output.="<tr>";
      }
      $output.="<td>$arr[$i]</td>"; // Adding new row in your output varible.
      if ($j % 4 == 0) {
         $output.="</tr>";
      }
     ++$j;
     }
        $output.="</table></body>/html>"; // This should also be outside because you want to close table, body and html only once.
        echo $output; // Printing your final data.

Bạn có thể sửa đổi mã này theo yêu cầu của bạn;

Đã trả lời ngày 2 tháng 10 năm 2018 lúc 2:55Oct 2, 2018 at 2:55

SEHDEVSEHDEVSehdev

5.3283 Huy hiệu vàng10 Huy hiệu bạc33 Huy hiệu Đồng3 gold badges10 silver badges33 bronze badges

4

  • El ForumGuest
    Guest
  • & nbsp;


[Eluser] Không xác định [/Eluser] Có ổn không khi có một số thẻ HTML trong bộ điều khiển Codeigniter. Đôi khi tôi cảm thấy khó khăn khi quyết định rằng tôi nên di chuyển logic vào chế độ xem hoặc HTML vào bộ điều khiển.
Is it okay to have some html tags in codeigniter controller. Sometimes i found it difficult to decide that should i move logic into view or html into controller.

Giả sử tôi muốn hiển thị Textarea cho chủ sở hữu hồ sơ và quản trị viên, điều này có thể được thực hiện theo hai cách (theo như tôi biết). 1. Đặt nhiều PHP hơn trong tầm nhìn như
1. Putting more php in view like

Code:

if($this->session->username() == $user || $this->session->username() == $administrator){
echo '&lt;textarea&gt;&lt;/textarea>';
}

2. Cho các thẻ HTML trong bộ điều khiển như

Code:

$data['textarea'] = ""; if($this->session->username() == $user || $this->session->username() == $administrator){

$data['textarea'] = '&lt;textarea&gt;&lt;/textarea>';

}

$this->load->view('example', $data);

Có một số trường hợp khác mà tôi thấy gần như không thể hoặc khó có thẻ HTML riêng biệt với bộ điều khiển như ở đây, tôi muốn hiển thị menu với menu con vì vậy chúng tôi phải chạy hai foreach vòng một cho menu chính và cái thứ hai cho menu con mà chỉ chạy nếu menu chính có menu con.

  • El ForumGuest
    Guest
  • & nbsp;


[eluser] insitefx [/eluser]

Code:

$data['textarea'] = $this->build_textarea();

public function build_textarea()
{
    $textarea = '';

    $textarea =. '&lt;textarea&gt;';
    $textarea =. 'This is my TextArea';
    $textarea =. '&lt;/textarea&gt;';

   $output = "<html><body><table>"; // Keep this outside for loop to print only once.


   var $j = 0;
   for ($i = count($arr)-1; $i >= 0; $i--) {

      if ($j % 4 == 0) {
          $output.="<tr>";
      }
      $output.="<td>$arr[$i]</td>"; // Adding new row in your output varible.
      if ($j % 4 == 0) {
         $output.="</tr>";
      }
     ++$j;
     }
        $output.="</table></body>/html>"; // This should also be outside because you want to close table, body and html only once.
        echo $output; // Printing your final data.
0

Bạn có thể nhìn vào mã trợ giúp CI và xem cách thực hiện nhiều điều này, tôi sẽ xây dựng một người trợ giúp hoặc thư viện để xây dựng các phương thức / chức năng này.