2016-02-01 3 views
2

У меня проблема, я хочу поставить $message внутри таблицы, что эквивалентно как «Поиск не найден».

Вот моя картина вне таблицы $message = Search not found

Вид:

<div class="z table-responsive" > 
      <table class=" table table-hover" > 


       <thead > 
          <tr > 

            <th>ID Number</th> 
            <th>First name</th> 
            <th>Middle name</th> 
            <th>Last name</th> 
            <th>Sex</th> 

          </tr> 
         </thead> 

    <?php if (isset($message)){ 
     echo $message; 

    } else{ foreach($results as $row){ 
     ?> 

    <tbody> 
      <tr> 


        <td><?php echo $row-> Idnumber ?></td> 
        <td class="text-capitalize "><?php echo $row -> Firstname ?></td> 
        <td class="text-capitalize"><?php echo $row->Middlename ?></td> 
        <td class="text-capitalize"><?php echo $row-> Lastname ?></td> 
        <td class="text-capitalize"><?php echo $row-> Sex?></td> 
          <td> 
           <a href="<?php echo site_url('viewstudentinalpha/viewspecific/'.$row->Id) ?>" class="btn btn-info " style="font-size: 18px;" type="submit" name="submit" role="button">Option</a> 

          </td> 
     </tr> 
     </tbody> 




    <?php }} ?> 




      </tbody> 

      </table> 
     </div> 

ответ

1

Вы используете неправильные конечные теги.

Это будет печать Search not found внутри таблицы с colspan 5 и center aligned

Примечание: Большинство времени мы проверяем, где foreach значение пусто ($results). Но в вашем случае вы проверяете что-то еще ($message).

Изменения

<tr> <!-- Changed --> 
    <td colspan="5" align="center"><?php echo $message; ?> </td> 
</tr> 

if (isset($message)){ изменяется на if (!empty($message)){

Заключительной код

<div class="z table-responsive" > 
    <table class=" table table-hover" > 
     <thead > 
      <tr > 
       <th>ID Number</th> 
       <th>First name</th> 
       <th>Middle name</th> 
       <th>Last name</th> 
       <th>Sex</th> 
      </tr> 
     </thead> 
     <tbody> 
      <?php 
      if (!empty($message)) # improved 
      { 
       ?> 
       <tr> # Changed 
        <td colspan="5" align="center"><?php echo $message; ?> </td> 
       </tr> 
       <?php   
      } 
      else 
      { 
       foreach($results as $row) 
       { 
        ?>    
         <tr> 
          <td><?php echo $row-> Idnumber ?></td> 
          <td class="text-capitalize "><?php echo $row -> Firstname ?></td> 
          <td class="text-capitalize"><?php echo $row->Middlename ?></td> 
          <td class="text-capitalize"><?php echo $row-> Lastname ?></td> 
          <td class="text-capitalize"><?php echo $row-> Sex?></td> 
          <td> 
           <a href="<?php echo site_url('viewstudentinalpha/viewspecific/'.$row->Id) ?>" class="btn btn-info " style="font-size: 18px;" type="submit" name="submit" role="button"> 
            Option 
           </a> 
          </td> 
         </tr> 
        <?php 
       } 
      } 
      ?> 
     </tbody> 

    </table> 
</div> 

Edit 01

В контроллере

function search_keyword() 
{ 
    $session_data = $this->session->userdata('logged_in'); 
    $data['Username'] = $session_data['Username']; 
    $keyword = $this->input->post('keyword'); 
    $data['results'] = $this->model_adminlogin->search($keyword); 
    $this->load->view('result_view',$data); 
} 

В View

Alter ваш если, как это.

Скопируйте все коды, добавленные мной для просмотра. и только измените это несколько строк.

<?php 
if (!empty($results)) # Change 
{ 
    ?> 
    <tr> # Change 
     <td colspan="5" align="center"> Search not found </td> # Change 
    </tr> 
    <?php   
} 
else 
{ 
+0

это моя функция контроллера SEARCH_KEYWORD () { $ session_data = $ this-> session-> userdata ('logged_in'); $ data ['Username'] = $ session_data ['Username']; $ keyword = $ this-> input-> post ('keyword'); $ data ['results'] = $ this-> model_adminlogin-> search ($ keyword); if (empty ($ data ['results'])) { $ data ['message'] = 'Поиск не найден'; } $ this-> load-> view ('result_view', $ data); } –

+0

@FreezingBernUchiha ok предоставит вам лучшее решение. держитесь за –

+0

спасибо, сэр! @Abdulla –

1

Это не проблема с CodeIgniter так сильно, как ваш код. То, что вы пытаетесь сделать с кодом, - это разместить сообщение между <thead> и <tbody>, а не в каких-либо табличных тегах.

Это то же самое, что и попытка поместить его между строками в таблице и, следовательно, интерпретируется как не являющаяся частью таблицы и выведенная за пределы таблицы.

Если поместить сообщение в <tbody>, он будет идти в нужном месте, так что вы можете сделать:

<?php if (isset($message)){ 
     echo "<tbody><tr><td colspan='5'>" . $message . "</td></tr></tbody>"; 

    }.... 
+0

Спасибо, сэр, @ gabe3886 –

0

попробовать этот

<tbody> 
<?php 
if (isset($result) 
// or if (!isset($message)) //depend on your code 
    { 
     foreach($results as $row){ 
?> 

     <tr> 
       <td><?php echo $row-> Idnumber ?></td> 
       <td class="text-capitalize "><?php echo $row -> Firstname ?></td> 
       <td class="text-capitalize"><?php echo $row->Middlename ?></td> 
       <td class="text-capitalize"><?php echo $row-> Lastname ?></td> 
       <td class="text-capitalize"><?php echo $row-> Sex?></td> 
       <td> 
        <a href="<?php echo site_url('viewstudentinalpha/viewspecific/'.$row->Id) ?>" class="btn btn-info " style="font-size: 18px;" type="submit" name="submit" role="button">Option</a> 
       </td> 
    </tr> 

    <?php }} 
    else 
    //or elseif(isset($message)) //depend on your code 
    { 
     echo $message; ?> 
    } 
</tbody> 

    </table> 
</div> 
Смежные вопросы