2 tablolardan bilgi alma

3 Cevap php

Bazı select ifadeleri ile sorun yaşıyorsunuz.

Ben 2 tablolar var. sms_log ve sms_messages.

sms_log:

id
message_id
user_id

sms_messages:

message_id
admin_id
message
date_sent
date_delivered

Ben sms_message verileri sms_log.user_id = $ id almak istiyorum

Ben bunu nasıl yaparım, biraz sıkışmış im. Ayrıca, nasıl, php ile tam bir standart sorgu gibi aynı, ya da hücrenin önündeki tablo adı ile erişecek:

    `
echo $myrow['sms_messages.message'];

VEYA

echo $myrow['message'];

teşekkür!

3 Cevap

select m.message as message
, m.date_sent as date_sent
FROM sms_messages as m
LEFT JOIN sms_log as l
ON m.message_id = l.message_id
WHERE l.user_id = $id

Hala beklediğiniz gibi dizi erişmek mümkün olacaktır:

echo $arr['message'] ' sent on ' $arr['date_sent'] ;

İlk olarak, bir iç MessageID üzerinde SMS_MESSAGe ve SMS_LOG tabloları birleştirme gerçekleştirmek gerekir. Bu, bu gibi bir şey olacaktır:

SELECT m.Message 
FROM sms_Messages me
INNER JOIN sms_Log l ON l.Message_Id = m.Message_Id
Where l.user_Id = $id;

Bu noktada, myrow değişkeni, sen mesajı gibi erişmek istiyorum:

echo $myrow['message'];

Stephen cesur girişimi rağmen, bu iki tabloyu birleştirmek nasıl sağlanan bilgilerden tespit etmek imkansızdır. Sütunlar message_id denilen her tabloda olduğu gerçeği bir ve değil diğer bir yabancı anahtar olabileceğini ima eder.

Tablolar için beyan herhangi bir birincil anahtarlar var mı? herhangi bir benzersiz dizin?

Bu kendi veri tasarım ya da bir başkasının mı? Sütunlar için veri türleri nelerdir? Ne DBMS kullanıyorsunuz? Bir dizi jeneratör veya mysql otomatik artış doldurulur sütunlardan herhangi mısınız?

Ne bu tablo aslında (Tamam SMS mesajları delalet - ben anlıyorum, ama onlar sadece gelen vardır?

C.