• 26-12-2015, 19:08:38
    #1
    Merhaba arkadaşlar bir xml de ürün görsellerini alırken bir sorun yaşıyorum.

    <Resim></Resim>
    <Resim1></Resim1>
    <Resim2></Resim2>
    <Resim3></Resim3>
    ...

    şeklinde bir xml yapısı var. buradaki görselleri

    for($i=1;$i<=10;$i++){
    	$adi="Resim".$i;
    
    }
    şeklinde bir for döngüsü ile alıyordum ancak

    <Resim></Resim>

    bu etiketteki görseli alamadım malesef. Bunun için nasıl bir düzenleme yapmam gerekir ?
  • 27-12-2015, 00:18:48
    #2
    Merhaba,
    for($i=0;$i<=10;$i++){
    if($i == 0) $ix = ""; else $ix = $i;
    	$adi="Resim".$ix;
    }
    Şöyle basit bi yolla halledebilirsiniz.

    kolaylıklar.

    Ankon adlı üyeden alıntı: mesajı görüntüle
    Merhaba arkadaşlar bir xml de ürün görsellerini alırken bir sorun yaşıyorum.

    <Resim></Resim>
    <Resim1></Resim1>
    <Resim2></Resim2>
    <Resim3></Resim3>
    ...

    şeklinde bir xml yapısı var. buradaki görselleri

    for($i=1;$i<=10;$i++){
    	$adi="Resim".$i;
    
    }
    şeklinde bir for döngüsü ile alıyordum ancak

    <Resim></Resim>

    bu etiketteki görseli alamadım malesef. Bunun için nasıl bir düzenleme yapmam gerekir ?
  • 27-12-2015, 00:48:07
    #3
    bluexpres adlı üyeden alıntı: mesajı görüntüle
    Merhaba,
    for($i=0;$i<=10;$i++){
    if($i == 0) $ix = ""; else $ix = $i;
    	$adi="Resim".$ix;
    }
    Şöyle basit bi yolla halledebilirsiniz.

    kolaylıklar.
    Çok teşekkürler hocam
  • 29-12-2015, 01:44:58
    #4
    bluexpres adlı üyeden alıntı: mesajı görüntüle
    Merhaba,
    for($i=0;$i<=10;$i++){
    if($i == 0) $ix = ""; else $ix = $i;
    	$adi="Resim".$ix;
    }
    Şöyle basit bi yolla halledebilirsiniz.

    kolaylıklar.
    Hocam ek olarak bir soru daha sorsam ?

    Resim1, resim2... şeklinde etiketler ilerliyor ancak birde anaresim olarak ayrı bi etikette görsel mevcut.

    Benim tablo yapımda ise id, urunid ve resim şeklinde stunlar mevcut bunu değiştiremiyorum çünkü sitede mevcut urunler var.

    anaresmi de diğer resimler gibi nasıl veritabanındaki yerine ekleyebilirim?
  • 29-12-2015, 01:57:30
    #5
    Kodlarınızın bu olayı organize eden kısmını paylaşırsanız daha net yanıt verilebilir. Önceki yanıtımda sorunuzun doğru yanıtını verdim fakat nasıl kullanacağınızı anlamadan yanıtlamıştım.

    muhtemelen for döngünüz $adi="Resim".$ix; şundan hemen sonra bitmiyor. <child> şeklinde düzenleme yapıyorsunuz. Biraz sallama yanıt olacak kodlarınızı bilmediğim için ama 0'a dahil edebilirsiniz.

    Yani
    for($i=0;$i<=10;$i++){
    if($i == 0) {
    $ix = ""; 
    $tag = "<AnaResim></AnaResim>"; //gibi.
    }else $ix = $i;
        $adi="Resim".$ix;
    }
    şeklinde. ilk elemanla birlikte anaresim child'ını da aradan çıkartırsınız.

    Yanlış anladıysam kod gönderirseniz yönlendirmeye çalışalım
    Kolaylıklar.


    Ankon adlı üyeden alıntı: mesajı görüntüle
    Hocam ek olarak bir soru daha sorsam ?

    Resim1, resim2... şeklinde etiketler ilerliyor ancak birde anaresim olarak ayrı bi etikette görsel mevcut.

    Benim tablo yapımda ise id, urunid ve resim şeklinde stunlar mevcut bunu değiştiremiyorum çünkü sitede mevcut urunler var.

    anaresmi de diğer resimler gibi nasıl veritabanındaki yerine ekleyebilirim?
  • 29-12-2015, 03:27:23
    #6
    Aslında kodlar sizin verdiğinizden çok farklı değil hocam.

    Sadece EkResim alanı haricindeki AnaResimi dahil edip o şekilde kaydını yapmam gerekiyor

    for($i=0;$i<=10;$i++){ 
    			if($i == 0) $ix = ""; else $ix = $i; 
    			$adi="EkResim".$ix; 
    				$eklenen_urun_id=mysql_insert_id();
         
    			if($Product->$adi){
          
            
    			echo $resim=$Product->$adi; echo "<br />";
             
            
               mysql_query("insert into resimler values('','$eklenen_urun_id','$resim')"); 
    			
    			} }
  • 29-12-2015, 14:56:48
    #7
    döngüde hep $adi'ya eşitleyince ne yaptığınızı tam kestiremedim, aşağıda xml'den çektirip db'ye ekliyormuşsunuz şimdi anlamış olduk

    burda kodlarda mysql_insert_id()'yi for dışına çıkartabilirsiniz sanıyorum. onu bir denersiniz. çünkü insert for'un üstünde haliyle forun üstünde 1 kere insert_id eşitlemeniz yeterli.

    biraz ters bir yerden gidilmiş ama algoritmayı değiştirmeyelim. resimler maksimun örneğin 5'e kadar gidiyor ama siz döngüy 10'a kadar döndürüyorsanız bu AnaResim'i de 10'a atayalım. 10 kesin boşsa ama buna dikkat edersiniz. Resimlerin 10a kadar gittiği durum olursa arttırır içerdeki if'i değiştirirsiniz.

    $eklenen_urun_id=mysql_insert_id();
    for($i=0;$i<=10;$i++){ 
    
    			if($i == 0) $ix = ""; else $ix = $i; 
    			if($i == 10) {
                            $adi="AnaResim"; 
                            } else {
    			$adi="EkResim".$ix; 
                            }
    			if($Product->$adi){
    			echo $resim=$Product->$adi; echo "<br />";
                            mysql_query("insert into resimler values('','$eklenen_urun_id','$resim')"); 
    			
    			} }
    kolaylıklar.



    Ankon adlı üyeden alıntı: mesajı görüntüle
    Aslında kodlar sizin verdiğinizden çok farklı değil hocam.

    Sadece EkResim alanı haricindeki AnaResimi dahil edip o şekilde kaydını yapmam gerekiyor

    for($i=0;$i<=10;$i++){ 
    			if($i == 0) $ix = ""; else $ix = $i; 
    			$adi="EkResim".$ix; 
    				$eklenen_urun_id=mysql_insert_id();
         
    			if($Product->$adi){
          
            
    			echo $resim=$Product->$adi; echo "<br />";
             
            
               mysql_query("insert into resimler values('','$eklenen_urun_id','$resim')"); 
    			
    			} }
  • 30-12-2015, 02:30:46
    #8
    bluexpres adlı üyeden alıntı: mesajı görüntüle
    döngüde hep $adi'ya eşitleyince ne yaptığınızı tam kestiremedim, aşağıda xml'den çektirip db'ye ekliyormuşsunuz şimdi anlamış olduk

    burda kodlarda mysql_insert_id()'yi for dışına çıkartabilirsiniz sanıyorum. onu bir denersiniz. çünkü insert for'un üstünde haliyle forun üstünde 1 kere insert_id eşitlemeniz yeterli.

    biraz ters bir yerden gidilmiş ama algoritmayı değiştirmeyelim. resimler maksimun örneğin 5'e kadar gidiyor ama siz döngüy 10'a kadar döndürüyorsanız bu AnaResim'i de 10'a atayalım. 10 kesin boşsa ama buna dikkat edersiniz. Resimlerin 10a kadar gittiği durum olursa arttırır içerdeki if'i değiştirirsiniz.

    $eklenen_urun_id=mysql_insert_id();
    for($i=0;$i<=10;$i++){ 
    
    			if($i == 0) $ix = ""; else $ix = $i; 
    			if($i == 10) {
                            $adi="AnaResim"; 
                            } else {
    			$adi="EkResim".$ix; 
                            }
    			if($Product->$adi){
    			echo $resim=$Product->$adi; echo "<br />";
                            mysql_query("insert into resimler values('','$eklenen_urun_id','$resim')"); 
    			
    			} }
    kolaylıklar.
    Hocam son bir sorum olucak. Değerdeki 10 sayısı kadar kayıt ekleniyor. Onu Nasıl kaç adet görsel varsa o kadar eklemesini sağlayabiliirm?
    Mesela 10 değerini 5 yapıp denediğimde veritabanında aşağıdaki gibi bir sonuç oluşuyor.

  • 30-12-2015, 19:19:10
    #9
    10'a kadar dönüyordur ama örneğin 4tanedir o zaman 5'incide
    $Product->$adi şu bir değer döndürmez.
    siz if($Product->$adi){ şu şekilde kontrolünü yapmışsınız çalışması gerekiyor.
    echo $resim=$Product->$adi; echo "<br />"; şunun ne döndürdüğüne bakmak lazım.

    if($Product->$adi != "") şu şekilde değiştirerek bir deneyebilir misiniz. ayrıca echo $resim= 'in altında
    var_dump($resim); yaparak örneğin 4'ten sonraki boş değerler için ne döndürdüğüne bakabilirsiniz. ona göre if düzenlenebilir.

    kolaylıklar.


    Ankon adlı üyeden alıntı: mesajı görüntüle
    Hocam son bir sorum olucak. Değerdeki 10 sayısı kadar kayıt ekleniyor. Onu Nasıl kaç adet görsel varsa o kadar eklemesini sağlayabiliirm?
    Mesela 10 değerini 5 yapıp denediğimde veritabanında aşağıdaki gibi bir sonuç oluşuyor.