2017-04-16 4 views
1

Ich habe ein einfaches MVC-Programm erstellt.PHP-Code verursacht Bootstrap Modal in Codeigniter

Unten ist der Code für die Ansicht

<?php 

    defined('BASEPATH') OR exit('No direct script access allowed'); 
    ?><!DOCTYPE html> 


    <html> 
     <head> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 


    <link href="<?php echo base_url('assets/css/bootstrap.min.css'); ?>" rel="stylesheet" type="text/css"/> 
    <link href="<?php echo base_url('assets/css/bootstrap.css'); ?>" rel="stylesheet" type="text/css"/>   

     </head> 

     <body> 

      <div style="margin-left: 5px" class="panel panel-info"> 
      <div style="text-align:left;" class="panel panel-heading">Main 
      <a id="lnkEditInterests" style="float:right" href="#" data-toggle="modal" data-target="#myModal"> 
      <span class="glyphicon glyphicon-pencil"></span> 
     </a> 

      <!-- Modal --> 
    <div class="modal fade" id="myModal" role="dialog"> 
    <div class="modal-dialog modal-sm"> 
     <div class="modal-content"> 
     <div class="modal-header"> 
      <button type="button" class="close" data-dismiss="modal">&times;</button> 
      <h4 class="modal-title">Title</h4> 
     </div> 
     <div class="modal-body"> 
      <table> 
       <?php 

       // this is what causing issue. 

      $a=$allInterests->num_rows();   

       ?> 
       <tr> 
        <td> </td> 
       </tr> 
      </table> 
     </div> 
     <div class="modal-footer"> 
      <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
     </div> 
     </div> 
    </div> 
    </div>    
     </div> 
     <div class="panel panel-body">Panel Content</div> 

     </div> 

    <script src="<?php echo base_url('assets/js/bootstrap.js'); ?>" type="text/javascript"></script> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script> 

     </body> 
    </html> 

In über Ansicht ist $ allInterests Variable von unten Controller übergeben.

Unten ist der Code für Controller

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

class Profile extends CI_Controller 
{ 

    public function main() 
    { 
      $this->load->model('Model_Profile'); 
      $data["allInterests"]= $this->Model_Profile->loadAllInterests(); 

     $this->load->view('PROFILE\view_ProfileInterests',$data); 

    } 


} 

Von Controller I $ data-Array bin vorbei, die aus Reihen gesetzt hat.

Ich muss diese Daten auf Modal im Tabellenformat zeigen.

Aber sobald ich PHP-Code innerhalb der Tabelle des modalen Körpers hinzufügen, um Daten anzuzeigen, die in Array ist, hört Modal auf zu funktionieren, es hört auf zu erscheinen und auch Panel Inhalt dieses Div-Tag verschwindet.

Eine einfache Echo-Anweisung verursacht jedoch kein Problem, aber wenn oder Foreach-Anweisungen verursachen, Problem an Modal.

Gibt es irgendetwas, was ich hier vermisse? Oder ist das nicht so, wie es sein soll?

Kann jemand bitte helfen.

+0

Was meinen Sie mit Modal Content DisaPaaring? Kannst du das Reagieren von HTML, wenn Modal nicht funktioniert, ich glaube, dass es einen Fehler gibt und PHP Rendern Fehlermeldung zu Ihrem HTML, die IT bricht. – tino415

+0

Panel Content
Dieses div erscheint nicht in html welches nicht Teil von modal aber div ist –

+0

Hast du versucht das '$ a = $ allInteres-> num_rows();' außerhalb des 'table' Tags zu setzen und dann die Werte innerhalb zu verwenden? Das könnte das Problem sein. –

Antwort

1

Ich fand eine Lösung. Das Problem war mit der $ allInterests-Variable, die null war und daher verursachte, dass es ein Problem in modal verursachte.

Das Übergeben der richtigen Daten innerhalb dieser Variablen hat es funktioniert.

1

$ allInterests ist eine Variable.

Wenn Sie auf $ allInterests zugreifen müssen, müssen Sie wie normale Variablen oder Objekte darauf zugreifen.

Wenn $ allInterests ein Array ist,

Sie können es acces wie

If (!empty($allInterests)) 
{ 
    for($i=0;$i<count($allInterests);$i++) 
    { 
      echo $allInterests[$i]; 
    } 
} 

Wenn sein ein Objekt, das Sie foreach Schleife um verwenden können.

Sie müssen es wie eine normale Variable oder ein Objekt behandeln.

Hoffe, Sie bekommen eine Idee.

+0

ich nicht Ich denke, du hast verstanden, was ein Problem ist, das Problem ist, dass ich keinen Teil von PHP-Code innerhalb von Modal-Body hinzufügen kann.Wie eine einfache if- oder foreach-Anweisung –

+0

Kannst du erklären, was num_rows() ist, ist es eine Funktion des Codeigniters? –