• 01-04-2013, 15:59:23
    #1
    Arkadaşlar e-ticaret uygulaması yazıyorum. Yazmışken tema destekli yazayım dedim ve smarty e bulaştım Takıldığım bi yer var
    {foreach item=sepet from=$sepettekiler}
    	<tr>
    		<td>{$sepet->urun_ID}</td>
    		<td align="center">{$sepet->adet}</td>
    		<td align="right">{$sepet->toplam} TL</td>
    	</tr>
    {/foreach}
    şöyle bi döngüde sepetteki ürünleri çekiyorum ancak {$sepet->urun_ID} ile ürünler tablosundan ürün bilgilerini çekmem gerek nasıl yapabilirim mantığı nedir?
  • 01-04-2013, 22:37:11
    #2
    Üyeliği durduruldu
    {foreach $sepet as $s}
    <tr>
    <td>{$s->urun_ID}</td>
    <td align="center">{$s->adet}</td>
    <td align="right">{$s->toplam} TL</td>
    </tr>
    {/foreach}
  • 02-04-2013, 09:55:25
    #3
    RobinsonCrusoe adlı üyeden alıntı: mesajı görüntüle
    {foreach $sepet as $s}
    <tr>
    <td>{$s->urun_ID}</td>
    <td align="center">{$s->adet}</td>
    <td align="right">{$s->toplam} TL</td>
    </tr>
    {/foreach}
    @RobinsonCrusoe sanırım yanlış anladın.

    php örneği vereyim ;
    $sepettekiler = $db->get_results("SELECT * FROM sepettekiler");
    foreach ($sepettekiler AS $sepet){
    $urun = $db->get_row("SELECT * FROM urunler WHERE id='$sepet->urun_ID'");
    echo $urun->isim;
    }
  • 02-04-2013, 17:12:06
    #4
    ulast adlı üyeden alıntı: mesajı görüntüle
    Arkadaşlar e-ticaret uygulaması yazıyorum. Yazmışken tema destekli yazayım dedim ve smarty e bulaştım Takıldığım bi yer var
    {foreach item=sepet from=$sepettekiler}
    	<tr>
    		<td>{$sepet->urun_ID}</td>
    		<td align="center">{$sepet->adet}</td>
    		<td align="right">{$sepet->toplam} TL</td>
    	</tr>
    {/foreach}
    şöyle bi döngüde sepetteki ürünleri çekiyorum ancak {$sepet->urun_ID} ile ürünler tablosundan ürün bilgilerini çekmem gerek nasıl yapabilirim mantığı nedir?
    iç içe foreach döngüsü oluşturacaksın yani sepetteki ürünleri listelerken kullandığın sorgu gibi ürünün içinde bu sorguyu kullanıp {foreach} etiketinde bu sorguyu tanımlayacaksın.
    Şu sayfada benzer örnekler görebilirsin. Sana fikir verecektir.

    http://www.smarty.net/docs/en/langua...on.foreach.tpl
  • 02-04-2013, 17:18:06
    #5
    Ya da JOIN ile urunler tablosunu sepettekiler tablosuna bağlayacaksın.

    $sepettekiler = $db->get_results("SELECT * FROM sepettekiler LEFT JOIN urunler ON sepettekiler.urun_ID = urunler.id"); 
    
    foreach ($sepettekiler AS $sepet){ 
    
    echo $sepet->isim; 
    }
  • 02-04-2013, 17:53:22
    #6
    Arkadaşlar inanın çözemiyorum mantığını kuramadım bir türlü

    $smarty->assign("urunler",$db->get_results("SELECT * FROM urunler WHERE id='URUN_ID'"));

    bu urun_id i icerde nasıl tanımlıycam ben?
  • 02-04-2013, 18:23:49
    #7
    ulast adlı üyeden alıntı: mesajı görüntüle
    Arkadaşlar inanın çözemiyorum mantığını kuramadım bir türlü

    $smarty->assign("urunler",$db->get_results("SELECT * FROM urunler WHERE id='URUN_ID'"));

    bu urun_id i icerde nasıl tanımlıycam ben?
    Önce ürün id yi sabit bir değişkene ata. smarty için oluşturduğun sepet sorgusundan $id değerini diğer sorgunun içine aktaracaksın. template kısmına geçtiğinde iç içe foreach döngüsü ile bilgilerini alacaksın. en içteki döngü ürün bilgileri olacak. bu döngü id değerini zaten hazırladığın sorguya göre dıştaki foreach döngüsünden alacak.
  • 02-04-2013, 19:36:18
    #8
    alisveris_sepeti.php tpl içine ;

    $smarty->assign("sepettekiler",$db->get_results("SELECT * FROM sepet"));

    olarak geliyor

    tpl içinde {foreach} ile $sepet->urun_ID ile alıyorum.
    Şimdi ben {$sepet->urun_ID}'yi alisveris_sepeti.php içinde nasıl kullanıcam ?
    delircem ya
  • 03-04-2013, 09:29:49
    #9
    ulast adlı üyeden alıntı: mesajı görüntüle
    alisveris_sepeti.php tpl içine ;

    $smarty->assign("sepettekiler",$db->get_results("SELECT * FROM sepet"));

    olarak geliyor

    tpl içinde {foreach} ile $sepet->urun_ID ile alıyorum.
    Şimdi ben {$sepet->urun_ID}'yi alisveris_sepeti.php içinde nasıl kullanıcam ?
    delircem ya
    $smarty->assign("urunler",$db->get_results("SELECT * FROM urunler WHERE id='$id'"));

    şeklinde bir sql sorgusu yaparsın. sepet ten aldığın {$sepet->urun_ID} değerini $id şeklinde bir değişkene ata. Daha sonra sepet için yaptığın foreach döngüsünün içinde bir foreach döngüsü daha oluştur. Bu sefer ürün için yapacaksın bu döngüyü. Bu foreach döngüsü $id değerini sepetten alacağı için istediğin veriyi çekersin.