mysql birden çok tablo ve esnek çıkış seçin

2 Cevap php

Her tablo farklı alanlar var yaklaşık üç tablo seçin. Bir alan "başlığı" olabilir, diğer ancak alan "konumu" olmayabilir. Şimdi ben bu üç tablo ortak bir çıkış olmasını istiyorsanız ve her satır bir başlık olması gerekiyordu. çıktı alan "başlığı" var whoch tablolar, başlık alanı "başlığı" gelmelidir ama tablo değil "başlığı" var ama çıkışı "konumu" başlık varsa alan "konumu" gelmelidir için. Düzenli bir süre-bir döngü içinde bu gibi görünecektir:

while ($row = mysql_fetch_array($result)) {
   $marker['###TITEL###'] = $row['title']; 
}

ne ben şimdi istiyorum "esnek" $ row ['esnek'] gibi sahip olmaktır. Yani alan "title" varsa eğer bu olmuyorsa o $ row ['title'] olmalı, ama "Konumu, ['yer'] $ satır olmalıdır.

Herkes bu çözmek için nasıl bir fikir var mı?

Selamlar, Maschek

2 Cevap

Kullanım BİRLİĞİ, tüm tablolardaki sonuçları katılmak için alan olarak esnek takma, sonra sonuç kümesi flexible sütunu bulunur.

SELECT title AS flexible, field2, field3 FROM a
UNION
SELECT location AS flexible, field2, field3 FROM b

Ben bunu yapacağını nasıl:

while (list($title, $location, $other) = mysql_fetch_array($result)) {
    if (!empty($title)) {
       $row['title'] = $title;
    } else if (!empty($location)) {
       $row['title'] = $location;
    } else {
       $row['title'] = $other;
    }
}

Maalesef sözdizimi% 100 doğru değilse. Ben php kod yok uzun bir süre var.

Ayrıca, ben $ satır denilen değişken senin soru $ işaretleyici denilen biri olacaktır.