2013-07-18 3 views
1

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

Однако я не могу вернуть результаты ответов. Я основывал свою структуру запросов на результатах комментариев, которые я могу отобразить.

Вот код:

вставив ответы и пытается вытащить результаты на контроллере:

public function insert_airwaves_comments_replies($profile_id) 
    { 
     //echo $profile_id; 
     $this->load->model('account_model'); 
     $this->load->library('session'); 
     $this->load->helper('date'); 
     $user = $this->account_model->user(); 
     $session_id = $this->session->userdata['id']; 
     $data['user'] = $user; 
     $this->load->model('community_model'); 
     $this->load->library('form_validation'); 
     $submit = $this->input->post('sub_comment_reply'); 
     $this->load->library('session'); 
     $airwave = $this->community_model->get_airwave_comments($profile_id); 
     $data['airwave'] = $airwave; 
     if(isset($submit)) 
     { 
     foreach($airwave as $airwave_id)  


      //if($this->form_validation->run() == FALSE) 
     // { 
      // $data['main_content'] = 'account/profile'; 
      // $this->load->view('includes/templates/main_page_template', $data); 
     // } 
     // else 
      //{ 
       $save_data = array(
        'airwave_id' => $airwave_id['id'], 
        'from_id' => $session_id, 
        'comment' => $this->input->post('airwaves_comments_replies'), 
        'status' => 'active', 
        'datetime' => date('Y-m-d H:i:s',now()) 
       ); 
       $query = $this->community_model->save_airwaves_comments_replies($profile_id,$save_data); 
       $airwave_reply = $this->community_model->get_airwaves_comments_replies($profile_id); 
       $data['airwave_reply'] = $airwave_reply; 
       redirect('/account/profile/'.$profile_id); 
       } 


     //} 
    } 

получать результаты от модели:

public function get_airwaves_comments_replies($profile_id) 

       { 

       $session = $this->session->userdata('is_logged_in'); 
       $user_id= $this->session->userdata('id'); 



     if($profile_id == $user_id) 
       { 
        $comments_query = "SELECT 
              awr.id AS id, 
              awr.airwave_id AS airwave_id, 
              awr.from_id AS from_id, 
              awr.comment AS comment, 
              awr.status AS status, 
              awr.thumbsup_reply AS thumbsup_reply, 
              awr.datetime AS datetime, 
              u.first_name AS first_name 
             FROM 
              airwaves_comments_replies awr, 
              users u 
             WHERE 
              u.id=awr.from_id 

              AND awr.from_id =".$profile_id." 
             order by 
              awr.datetime 
             desc" ; 
      } 

      else 
      { 
       $comments_query = "SELECT awr.id AS id, 
       awr.airwave_id AS airwave_id, 
       awr.from_id AS from_id, 
       awr.comment AS comment, 
       awr.status AS status, 
       awr.thumbsup_reply AS thumbsup_reply, 
       awr.datetime AS datetime, 
       u.first_name AS first_name FROM airwaves_comments_replies awr,users u WHERE u.id = awr.from_id AND awr.from_id =".$profile_id." order by awr.datetime desc" ; 
      } 




       $query = $this->db->query($comments_query); 

        if($query->num_rows() >= 1) 
        { 
         $data = $query->result_array(); 
         // return whole resultset. It contains zero, one or more records 
         return $data; 


        } 
        else return false; 
      } 

отображаются результаты на мой взгляд:

if ($airwave_reply) 
    { 
     foreach ($airwave_reply as $airwave_reply_comment_row) 
    { ?> 
?> 
    <?php echo $airwave_reply_comment_row['from_id']; echo "<br />"; 
    echo $airwave_reply_comment_row['first_name'];?> 
<div class="response_structure_future"> 
    <a name="response_<?php echo $airwave_reply_comment_row['id']; ?>"></a> 
    <div class="response_polaroid_future"> 
     <a href=""> 
     <img src='/styles/images/prof_thumbnail_2.jpg'/> 
     </a> 
    </div> 
    <div class="response_body_future"> 
    <div class="response_arrow_future"></div> 
     <div class="response_tail_future"></div> 
     <div class="response_data_future"> 
      <div class="response_name_future"> 
       <a href=""> 
       <?php echo $airwave_reply_comment_row['first_name'];?>says... 
       </a> 
      </div> 
      comment here 
      <div class="respond_info_future"> 
       at <?php echo date('M d, Y',strtotime($airwave_reply_comment_row['datetime'])); ?> 
       <?php //if($auth->id == $replier->id || $auth->id == $result['ToUserID']) ?> 
       <a onclick="confirmation('');"> &bull; delete</a> 
       <?php ?> 
       <div id="thumb_holder"> 
        <div id="thumb_report"> 
         <a href="mailto:[email protected]"> 
          report 
         </a> 
        </div> 
        <div class= "thumb_counter" id="thumb_counter<?php// echo $reply['id']; ?>"> 
        +<?php //echo $reply['thumbsUp_reply']; ?> 
        </div> 
        <div id="thumb_thumb"> 

         <?php $comment_reply_id = $reply['id'];?> 
        <a class="myButtonLink" href="Profile.php?id=<?php //echo $prof->id; ?>" id="<?php //echo $comment_reply_id; ?>">Vote Up!</a> 


        </div> 
       </div> 
      </div> 
     </div> 
    </div> 
</div> 

<?php 
    } 
} 
?> 

<a name='reply_form_<?php echo $airwave_comment_row['id']; ?>' style="clear:both"></a> 
<div id='reply_to_<?php echo $airwave_comment_row['id']; ?>' class="respond_structure_future" <?php if(isset($_GET['reply_to']) && $_GET['reply_to'] == $airwave_comment_row['id']) { echo 'style="display:block;"';}else{ echo 'style="display:none;"';} ?>> 
    <div class="response_polaroid_future"> 
     <a href="http://www.cysticlife.org/Profile.php?id=<?php// echo $auth->id; ?>"> 
      <img src="/styles/images/prof_thumbnail_2.jpg" /> 
     </a> 
    </div> 
    <?php        
    echo validation_errors(); 
    echo form_open('community/insert_airwaves_comments_replies/'.$this->uri->segment(3)); 
    ?> 
     <div class="respond_body_future"> 
      <div class="response_arrow_future"></div> 
      <div class="response_tail_future"></div> 
      <div class="respond_data_future"> 
      <?php 
      $data = array('name' => 'airwaves_comments_replies', 'id' => 'reply_to'. $airwave_comment_row['id'].'_textarea', 'class' => 'respond'); 
      echo form_textarea($data, set_value('airwaves_comments_replies')); 
      $data = array('type' => 'hidden', 'name' => 'comment', 'value' => $airwave_comment_row['id']); 
      echo form_input($data); 
      ?> 
      <div class="respond_nevermind"> 
       <a href="reply_to_<?php echo $airwave_comment_row['id']; ?>">nevermind</a> 
      </div> 
      <?php 
      echo form_submit('sub_comment_reply', 'Reply'); 
      ?> 

      </div> 
     </div> 
    </form> 
</div> 

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

ответ

1

Каков ваш результат прямо сейчас?

С кодом вы показываете, контроллер вставляет комментарий ответы в виде Еогеасп-цикла, но перенаправляет пользователя

redirect('/account/profile/'.$profile_id) 

Я не вижу никакого кода, где вы вызываете представление, чтобы показать комментарии , поэтому я думаю, что мы не сможем помочь вам в дальнейшем, не объясняем и не объясняем.

+0

Я думал, что делаю это с этим $ query = $ this-> community_model-> save_airwaves_comments_replies ($ profile_id, $ save_data); $ airwave_reply = $ this-> community_model-> get_airwaves_comments_replies ($ profile_id); $ data ['airwave_reply'] = $ airwave_reply; redirect ('/ account/profile /'.$ profile_id); и доступ к нему через каждый для этого в этом представлении. – LightningWrist

+0

Да, вы это делаете, но поскольку вы перенаправляете(), вы создаете новый запрос, таким образом, полностью перестраиваете представление. В контроллере учетной записи с функцией профиля вам нужно разместить эти функции get_airwaves_comments_replies, чтобы отобразить их в вашем представлении. – Flashin

+0

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

Смежные вопросы