1
私は現在、codeigniterアプリケーションを使用しています。さまざまなcritieriaに基づいてジョブをフィルタリングできますが、実際にはうまく動作しません。ユーザーを濾過した後Codeigniterヘルプ - コントローラでのレコードとループのアクティブ化
<section style="display: block;" class="employer">
<div class="job_holder">
<img src="http://lcl.doctrine.com/media/uploads/users/large_moovjob_large4.gif" alt="Test Company" height="148" width="198">
<dl>
<dt>2</dt>
<dd>Matches</dd>
</dl>
<!--<a href="" class="fave">Fave</a>-->
<ul class="job_listings">
<li>
+ <a href="http://lcl.doctrine.com/jobwall/getjob/4" class="openjob">
PHP Backend Web Developer
</a>
</li>
<li>
+ <a href="http://lcl.doctrine.com/jobwall/getjob/5" class="openjob">
Website Designer
</a>
</li>
</ul>
</div>
</section>
は、しかし、私は何を得るのマークアップが終わっ
Array
(
[0] => Array
(
[job_id] => 4
[job_title] => PHP Backend Web Developer
[salary] => 23000
[job_tags] => IT,Media
[retrain] => no
[job_extras] => We offer a very generous bonus scheme, including a company car, profit bonuses and a pension package.
[job_summary] => The job consists of a 60/40 spilt of PHP and front end skills, you will be expected to be proficient in, PHP, OO, MySQL and JAVASCRIPT
[job_description] => The job is a 60/40 split between the front and the backend of coding. You will be working within a team of 4 using an inhouse framework and where applicable an in house CMS.
For working hours of 9-5.30 (we try not to stay too late but sometimes this is unnavoidable) you will be paid ?23,000, you will also be given a company car, and 1% of all yearly profits, we will also match any pension contributions that you make.
[company_name] => Test Company
[company_summary] => Test company is excatly what it says it is a test company, we have created this test company so that we can see that moovjob is functioning as it should be and that everything is upload, saving, applying and generally saving as we would expect. Hello
[logo_small] => small_moovjob_small12.png
[logo_large] => large_moovjob_large4.gif
[employer_id] => 1
)
[1] => Array
(
[job_id] => 5
[job_title] => Website Designer
[salary] => 28000
[job_tags] => Media,Marketing
[retrain] => no
[job_extras] => Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam enim nisl, sodales dignissim tempus in, placerat id enim. Aenean eget diam velit. Morbi quis erat mi. Donec metus sem, consectetur at malesuada ac, iaculis nec arcu. Morbi libero leo, rhoncus ac vestibulum quis, vehicula nec metus. Vestibulum quis luctus erat. In varius accumsan ornare. Ut ullamcorper bibendum lorem ut elementum.
[job_summary] => Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam enim nisl, sodales dignissim tempus in, placerat id enim. Aenean eget diam velit. Morbi quis erat mi. Donec metus sem, consectetur at malesuada ac, iaculis nec arcu. Morbi libero leo, rhoncus ac vestibulum quis, vehicula nec metus. Vestibulum quis luctus erat.us erat. In varius accumsan ornare. Ut ullamcorper bibendum lorem ut elementum.
[job_description] => Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam enim nisl, sodales dignissim tempus in, placerat id enim. Aenean eget diam velit. Morbi quis erat mi. Donec metus sem, consectetur at malesuada ac, iaculis nec arcu. Morbi libero leo, rhoncus ac vestibulum quis, vehicula nec metus. Vestibulum quis luctus erat. In varius accumsan ornare. Ut ullamcorper bibendum lorem ut elementum.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam enim nisl, sodales dignissim tempus in, placerat id enim. Aenean eget diam velit. Morbi quis erat mi. Donec metus sem, consectetur at malesuada ac, iaculis nec arcu. Morbi libero leo, rhoncus ac vestibulum quis, vehicula nec metus. Vestibulum quis luctus erat. In varius accumsan ornare. Ut ullamcorper bibendum lorem ut elementum.
[company_name] => Test Company
[company_summary] => Test company is excatly what it says it is a test company, we have created this test company so that we can see that moovjob is functioning as it should be and that everything is upload, saving, applying and generally saving as we would expect. Hello
[logo_small] => small_moovjob_small12.png
[logo_large] => large_moovjob_large4.gif
[employer_id] => 1
)
)
Iループ、私はこのようになります配列をループ2回繰り返していることである、この形式で結果を示すべきです次のコードを実行して、
<?php if(is_array($jobs)) : ?>
<pre><?php print_r($jobs); ?></pre>
<?php $count = count($jobs); ?>
<?php foreach ($jobs as $j) : ?>
<section class="employer">
<div class="job_holder">
<img src="<?php echo base_url(); ?>media/uploads/users/<?php echo $j['logo_large']; ?>" width="198" height="148" alt="<?php echo $j['company_name']; ?>"/>
<dl>
<dt><?php echo $count; ?></dt>
<dd>Matches</dd>
</dl>
<!--<a href="" class="fave">Fave</a>-->
<ul class="job_listings">
<?php foreach ($jobs as $j) : ?>
<?php $job = $j['job_title']; ?>
<li>
+ <a href="<?php echo base_url(); ?>jobwall/getjob/<?php echo $j['job_id']; ?>" class="openjob">
<?php echo $job; ?>
</a>
</li>
<?php endforeach; ?>
</ul>
</div>
</section>
<?php endforeach; ?>
は基本的に私は何をする必要があるか、会社名と、その後の企業の仕事をエコーし、その後に移動し、それは現時点では何をしているか、そのジョブをとび名からエコーとされています$jobs
に2つの結果がありますが、どちらも同じ会社のものです。私のモデルで
コードは、あなたがそれを確認するために、まず雇用主があなたの仕事をソートするクエリ変更する必要がある場合があります
Employer
job posting 1
job posting 2
Other employer
job posting 1
のような一貫性のある結果を得るためには、以下の
public function search($salary = null, $location = null, $tags = null, $quick_tags = null)
{
$this->db->select('job_id, job_title, salary, job_tags, retrain, job_extras, job_summary, job_description, company_name, company_summary, logo_small, logo_large, employers.employer_id');
$this->db->from('jobs');
$this->db->join('employers', 'employers.employer_id = jobs.employer_id', 'left');
if(isset($salary)) {
$this->db->where('jobs.salary >=', $salary);
}
if(isset($location)) {
$this->db->where('jobs.city', $location);
}
if(isset($tags)) {
$this->db->like('jobs.job_tags', $tags);
}
if(isset($quick_tags) && is_array($quick_tags)) {
foreach ($quick_tags as $index => $value) {
if ($index == 0)
$this->db->like('jobs.job_tags', $value);
else
$this->db->or_like('jobs.job_tags', $value);
}
}
$this->db->group_by('jobs.job_title');
$query = $this->db->get();
return $query->result_array();
}