2012-02-14 10 views
0

配列内のphpに問題があります。PHP配列 - 1件の少数のレコード

私はそのようなdbテーブルを持っています、それは仕事へのアプリケーションを示しています。私が欲しいもの enter image description here

例えば自分のファイルと肩書きを注文することです

タイトルが示されなければならない:
WEBTasarımUzmanı
noktamedya.com/CVs/zsdfsdfsdfsdfsdf.docx
noktamedya.com/ CVS/zsdfsdfsdfsdfsdf.docx

İçerikYöneticisi
noktamedya.com/CVs/abc.docx
noktamedya.com/CVs/

abc.docx私は、ファイルとjobTitleためにここに持って

public function getAllRec() 
     { 
      $query = "SELECT * FROM applyRecords "; 
      $resultDb = $this->db->query ($query); 
      $jobs = array(); 

     while ($row = $resultDb->fetchObject()) { 
      $job = new Job(); 
      $job->title = $row->jobTitle; 
         $job->url = $row->file; 

      $jobs [] = $job; 
     } 
     return $jobs; 
     } 

デシベルから重要なレコードにかかるクラスを持っています。 in admin inc。私はその

$jobs3 = $jobHome->getAllRec(); 

のように、この関数を呼び出し、そのjobTitleで注文してみたが、エラーがあり、ここで間違っているものを

foreach($jobs3 as $job) 
{ 
    $groupJobs = [$job->title][$job->url] = $job; 
} 

を理解していけませんか?

答えて

0

をフェッチするデータベースの時にレコードをソート: グループジョブアプリケーションジョブのタイトル

$groupJobs = array(); 
foreach($job3 as $job){ 
    if(!isset($groupJobs[$job->title])){ 
     $groupJobs[$job->title] = array(); 
    } 
    $groupJobs[$job->title][] = $job; // add job to group 
} 
+0

を呼び出すことができますこれは私がしたいです。どのようにURLのここで –

+0

を取得することができますし、私はこのforeach($ key => $値として$ groupJobs){ echo $ key。 "
"; echo $ value; } –

+0

実際には$ jobはオブジェクトなので、URLを取得するには2つのネストされたforeachループが必要です:foreach($ groupJopb as $ title => $ jobs){foreach($ jobs as $ job){echo $ title。 ' - ' $ job-> url; }} –

0

PHPで注文する代わりに、SQLで注文してから続行してください。代わりに

"SELECT * FROM applyRecords " 

これは、有効なPHPの構文ではありません

"SELECT * FROM applyRecords ORDER BY jobtitle " 
+0

しかし、ここではエラーが発生します。foreach($ jobs3 as $ job) { $ groupJobs = [$ job-> title] [$ job-> url] = $ job; } –

+0

dbにはタイトル欄がありますか?それはjobTitleでなければなりません、urlと同じですか? – ustun

+0

いいえそれはクラス –

0
$groupJobs = [$job->title][$job->url] = $job; 

を試してみてください。私も、あなたはここでやろうとしているものを見ることはできませんが、私は野生の推測します:あなたはこのためにパラメータを追加し、SQLが順序付けにやらせる必要があります:

public function getAllRec($order) 
{ 
    $query = "SELECT * FROM applyRecords "; 
    if ($order) $query .= " ORDER BY " . $order; 
    $resultDb = $this->db->query ($query); 
    ... 
注文について

$groupJobs[] = array(
    "title" => $job->title, 
    "urls" => array($job->url1, $job->url2) 
); 

$groupJobs[$job->title] = array(
    $job->url => $job 
); 

groupJobsアレイは、foreachの前に配列として定義する必要があります。

+0

ですが、私はjobTitle one JobTitleいくつかのURLを印刷しようとします –

+0

私はあなたがどのようにURLを表示したいのか、そしてそれらを得る場所がわかりません。しかし、配列を格納することができます。上記を参照。 – PiTheNumber

0

はこのような何かを試してみてください。 そして、$ jobはオブジェクトです。

+0

ここで私はここにURLの –

0

ただ、私は、これはあなたがやろうとしているものだと思います

"SELECT * FROM applyRecords ORDER BY jobTitle" 
0

私への適用最終回答は

$groupJobs = array(); 

foreach($jobs3 as $job) 
{ 
    $groupJobs[$job->title][] = $job; 

} 

foreach($groupJobs as $key => $value){ 

    $key . "<br />"; 
    foreach($value as $node){ 
     $node->url; 
     $node->name; 
    } 

} 

ありがとうございます。

関連する問題