2016-05-22 13 views
0

私はcodeigniterにelse文を含めることを試みています。ユーザーが場所を検索すると、データベースからその場所の情報を表示できます。そして、if else文を追加しようとしています。レビューで5人以上のユーザーが「騒々しい」と評価した場合、システムは自動的に「騒々しい場所」と評価します。 (ノイズレビューは、レビューを書き込む際にユーザがラジオボタンを使用して入力し、データベースに保存する)。以下は、私が取り組んでいるコードです。Codeigniter If else文の条件

//view.php

<style> 
#searchbutton{ 
position: absolute; 
left:300px; 
top:30px; 
} 
fieldset { 
background-color:#EFEAEA; 
margin: 0px 0px 10px 0px; 
padding: 20px; 
border-radius: 1px; 
width:900px; 
margin-left:220px; 
margin-top:-10px; 
} 
#user{ 
font-style:italic; 
font-size: 12px; 
text-align:right; 
} 
#titlereview { 
font-style: italic; 
font-size:20px; 
} 
#review { 
font-size:16px; 
} 
</style> 

<?=form_open_multipart('viewreview/view');?> 

<?php $search = array('name'=>'search',);?> 
<?php $noise = array('name'=>'noise',);?> 

<div id = "searchbutton"> 
<?=form_input($search);?><input type=submit value="Search" /></p> 
</div> 
<?=form_close();?> 

<div class = "tablestyle"> 

<fieldset> 
<?php foreach ($query as $row): ?> 

<div id = "user">User: <?php echo $row->name; ?><br> 
Visited time: <?php echo $row->visitedtime; ?><br> 
</div> 

<div id = "titlereview">"<?php echo $row->titlereview; ?>"<br></div> 

<div id = "noise"><?php echo $row->noise; ?><br></div> 

<div id = "review"><?php echo $row->yourreview; ?><br><hr><br></div> 

<?php endforeach; ?> 
</fieldset> 

<!--$noise is the field form database!--> 
<?php if ($noise='yes'>5){ 
echo 'The place is Noisy'; 
} 
else { 
echo 'The place is Not Noisy'; 
} 
?> 
</div> 

//コントローラ

<?php 
class viewreview extends CI_Controller { 

public function view($page = 'viewreview') //writereview page folder name 
{ 
    $this->load->model('viewreview_model'); 
    $data['query'] = $this->viewreview_model->get_data(); 
    $this->load->vars($data); 
    if (! file_exists('application/views/viewreview/'.$page.'.php')) //link 
    { 
     // Whoops, we don't have a page for that! 
     show_404(); 
    } 

    $data['title'] = 'View Review'; 
    //$data['title'] = ucfirst($page); // Capitalize the first letter 
    $this->load->helper('html'); 
    $this->load->helper('url'); 
    $this->load->helper('form'); 
    $this->load->view('templates/header', $data); 
    $this->load->view('viewreview/'.$page, $data); 
    $this->load->view('templates/footer', $data); 
} 
} 
?> 

//モデル

<?php 
class viewreview_model extends CI_Model { 

public function __construct() 
{ 
    $this->load->database(); 
} 
public function get_data() 
{ 
    $match = $this->input->post('search'); 
    $this->db->like('sitename',$match); 
    $this->db->or_like('titlereview',$match); 
    $this->db->or_like('yourreview',$match); 
    $this->db->or_like('suggestion',$match); 

    $query = $this->db->get('review');  //pass data to query 
    return $query->result(); 

    } 
} 
?> 
+1

ちょうどあなたのコントローラとモデルがクラスとファイル名の最初の文字大文字を持っていないことに気付きました。あなたがCI3を使用しているなら、これが推奨されます。 http://www.codeigniter.com/user_guide/general/models.html#anatomy-of-a-modelおよびhttp://www.codeigniter.com/user_guide/general/controllers.html#let-s-try- it-hello-world – user4419336

答えて

0

私はあなたの質問の正しい理解している場合:

モデル:

public function number_of_noise_report() { 
     $this->db->select('id'); // Change it to what column name you have for id 
     $this->db->from('table'); 
     $this->db->where('noise', 'Yes') // 'Yes' or 'yes', depending on what you have in db 
     $query = $this->db->get(); 
     return $query->num_rows(); 
} 

そして、私はコントローラにそれが含まれます:

// Code before 
$data['query'] = $this->viewreview_model->get_data(); 
$data['noise_stat'] = $this->viewreview_model->number_of_noise_report(); // ** UPDATED 
// Code after 

そしてビューで:これは役立ちます

if($noise_stat > 5){ 
    echo '<div id = "noise">Noisy<br></div>'; 
} else { 
    echo '<div id = "noise">Do Something Here<br></div>'; 
} 

// OR SIMPLY 
<div id = "noise"> 
<?php if($noise_stat > 5){ echo 'Noisy<br>'; 
} else { echo 'Somrthing<br>'; } ?> 
</div> 

希望。

+0

ありがとうございます。しかし、ユーザーが「はい」または「いいえ」を使用して場所の騒音を評価した場合。どのように追加できますか? – user3676306

+0

ControllerのUPDATEをチェックして、どのように動作するか全員にお知らせください。 – Sebastian

+0

これは動作しません。それは条件を変更するだけでも "騒々しい"とエコーします。 "$ something"については、実際に何を置くべきですか?私はその部分についてかなり理解していません。 – user3676306