iki tablo sorgu sorunu.
müşterilerin fiş bilgilerini listeliyorum fakat listelerken bir değeri başka kolondan almam gerekiyor sorun burada başlıyor
[CODE]<?php $query_customers = mysql_query("SELECT * FROM $database->customers WHERE status='publish' ORDER BY code ASC");
while($list_customers = mysql_fetch_assoc($query_customers)){
$query_tickets_list = mysql_query("SELECT * FROM $database->tickets WHERE status='publish' ORDER BY id DESC");
while($list_tickets_list = mysql_fetch_assoc($query_tickets_list))
echo '
<tr>
<td></td>
<td><a href="items.php?___ticket_id='.$list_tickets_list['id'].'">'.$list_tickets_list['id'].'</a></td>
<td>'.mb_substr($list_tickets_list['date'],0,10).'</td>
<td>'.$list_customers['name'].'</td>
<td>'.get_lang($list_tickets_list['input_output']).'</td>
<td>'.$list_tickets_list['amount'].'</td>
<td>'.number_format($list_tickets_list['grand_total'], $nf).'</td>
</tr>
';
}
?>[/CODE]
kodları bu şekilde yaptığımdaböyle ekliyor ama ben aslında enes çifci ye ekliyorum bu fişi diğerine de ekli gösteriyo ama sadece bu sayfada gösteriyo aslında eklemiyor
nasıl çözebilirim ?
Php
çünki döngü içerisinde kullandığınız sql sorgusuna kişiye özel bir şart koşmamışssınız.
Bundan dolayı bu şekilde listeliyor.
<?php $query_customers = mysql_query("SELECT * FROM $database->customers WHERE status='publish' ORDER BY code ASC");
while($list_customers = mysql_fetch_assoc($query_customers)){
$query_tickets_list = mysql_query("SELECT * FROM $database->tickets WHERE status='publish' AND kisi_id ='".$list_customers['id']."' ORDER BY id DESC");
gibi bişey olabilirdi.
Tablo yapınızı bilmediğim için böyle bir örnek yazdım.
2. olarakta döngü içerisinde sql sorgusu kullanmak kadar performasn düşürücü bir etmen yoktur sanırım.
Forumda MYSQL JOIN şeklinde arama yapmanızı tavsiye ederim.
Tabloları birleştirerek kullanın.
Kolay gelsin.