Mysql katılın, PHP

2 Cevap php

Ben bana ben başarmak için çalışıyorum ne anlatalım kod satırını koyana.

Id belirli bir sayfanın belirli parent_id bir tablo sorgulamak istiyorum. I tüm sonuçları aldıktan sonra ben daha sonra bu özel parent_id olan sayfanın id almak ve başka bir tablodan tüm göreli sayfa parçalarını almak istiyorum.

Sonra ben sadece baskı için hazır bir dizide bu bilgi sahibi olmak istiyorum ...

Herhangi bir yardım büyük mutluluk duyacağız ...

$q = $CONN->query("SELECT cms_page.id, cms_page.title, cms_page.slug, cms_page_part.* FROM cms_page LEFT JOIN cms_page_part ON cms_page_part.page_id=cms_page.id  WHERE cms_page.parent_id='8'");

2 Cevap

Geçerli sorgu verilirse birden fazla satır alınıyor hiçbir sorun olmalıdır:

$sql = "SELECT cms_page.id, cms_page.title, cms_page.slug, cms_page_part.* 
FROM cms_page 
LEFT JOIN cms_page_part ON (cms_page_part.page_id = cms_page.id)
WHERE cms_page.parent_id = '8'";

Sen mysql_query gibi pek bir resultset üzerinde döngü isterim:

$result = mysql_query($sql);
if ($result) {
    // keep track of number of portfolio items
    $i = 1;
    // iterate over rows
    while($row = mysql_fetch_assoc($result)) {
        // output data to page for each row
        echo 'Portfolio item ' . $i;
        echo 'Title: ' . $row['title'] . '<br />';
        echo 'Slub: ' . $row['slug'] . '<br /><br />';
    }
}

Eğer sorgunun sonuçlarını gönderebilir miyim? Bildiğim kadarıyla ben gördüğünüz gibi select ifadesi her eşleşen bölümü için cms_page.id vb alanları tekrarlayarak hile yapmak gerekir.

Ayrıca bakınız http://www.w3schools.com/Sql/sql%5Fjoin%5Fleft.asp

Bu (umarım) ve $ satır ['page_part'] soru çözmek gerekir:

$rows = array();
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
while ($row) {
  $rows[$row['title']][] = $row; // or select only the fields that you need
  $row = mysql_fetch_assoc($result);
}

foreach($rows as $portfolio => $parts) {
  // adjust for actual html rendering
  echo '<pre>';
  print_r($portfolio);
  echo "\n";
  $count = 0;
  foreach($parts as $part) {
    echo ++$count . ' - ' . $part['cms_page_part_field1'] . ' - ' . $part['cms_page_part_field2'] . "\n";
  }
  echo '</pre>';
}