• 18-09-2009, 23:25:25
    #1
    Arkadaşlar ben bu iki PHP komutu arasındaki farkı daha önce kavramıştım fakat şuan pek kafa yoramadım.

    Önce şarta bakma , sonradan şarta bakma gibi iki durum var sanıyorum , örneklendirip açıklayabilecek 1 kişi bile varsa benim için yeterli.

    İşim düştükçe başınızı ağrıtacağım , kusura bakmayın , gün içerisinde sürekli PHP komutlarının ne işe yaradığını ve kullanımlarını öğreniyorum , uygulamalar yapıyorum , kaynaklar araştırıyorum. Siz de yukarıdaki soruma cevap vererek bana bir bilgi daha kazandırmış olacaksınız. Şimdiden teşekkürler.
  • 18-09-2009, 23:31:46
    #2
    Üyeliği durduruldu
    PHP: do-while - Manual burda anlatılmış şöyleki

    $i = 1;

    do{
    echo $i;
    } while($i>9)

    yani do bölümünü çalıştırıyor eger true dönüyorsa geriye gidip tekrar çalıştırıyor şöyle anlatayım bir while döngün var bunu 1 kere çalıştırmak istiyorsun sonradan şart gerçekleşiyorsa devam etsin istiyorsun o zaman do while işine yarar
  • 18-09-2009, 23:32:48
    #3
    dediğin gibi do-while ddöngüsünde while bölümüne gelmeden önce işlem bir kez yapılmış olur. Eğer while sorgusu sağlanıyorsa tekrar başa döner. Normal while ise sadece koşul sağlandığında olur. Sağlanmazsa işlem gerçekleşmez. Yani kısacası do-while döngüsünde ne olursa olsun işlem en az bir kez gerçekleşecektir.
  • 18-09-2009, 23:34:18
    #4
    CmDWeB adlı üyeden alıntı: mesajı görüntüle
    PHP: do-while - Manual burda anlatılmış şöyleki
    $i = 1;
    do{
    echo $i;
    } while($i>9)
    yani do bölümünü çalıştırıyor eger true dönüyorsa geriye gidip tekrar çalıştırıyor şöyle anlatayım bir while döngün var bunu 1 kere çalıştırmak istiyorsun sonradan şart gerçekleşiyorsa devam etsin istiyorsun o zaman do while işine yarar
    Şu an manualdan bakıyorum. İyi okuyup anlayabileceğimi düşünüyorum. Teşekkürler konuya katkınız için.
  • 18-09-2009, 23:45:52
    #5
    loperselim adlı üyeden alıntı: mesajı görüntüle
    dediğin gibi do-while ddöngüsünde while bölümüne gelmeden önce işlem bir kez yapılmış olur. Eğer while sorgusu sağlanıyorsa tekrar başa döner. Normal while ise sadece koşul sağlandığında olur. Sağlanmazsa işlem gerçekleşmez. Yani kısacası do-while döngüsünde ne olursa olsun işlem en az bir kez gerçekleşecektir.
    Ben bir özetliyim anladığımı , siz de bakınız isterseniz doğru anlamış mıyım diye?

    While'de önce koşula bakılır. Örneğin i=0 dedik ve while deyimine i'yi her seferinde 1 arttırmasını istedik. Şartımız ise i
    0 dan sonra 1 arttı , koşula baktı , 1 daha arttı , 2 oldu. Şarta yine baktı , 3 ten küçük dediği için arttırmadı.


    Do-whileda ise;
    Önce işlem bir kere gerçekleşti. İşlemin sonunda şarta bakıldı , sağlandıysa bir daha gerçekleşti , işlem sonunda bir daha şarta bakıldı. Bu şekilde devam ediyor.
    Dowhileda deyimimiz en azından 1 kere çalışmış oluyor. Whileda ise önce şarta baktığı için böyle bir durum yok.

    Doğru anlamıs mıyım acaba?
  • 19-09-2009, 09:10:43
    #6
    while ve dowhile komutlarında
    while içerisine birden fazla şart nasıl yazabiliriz?

    edit :
     while ($i < 55 && $y<10)
    şeklindeymiş. Tamamdır.
  • 24-09-2009, 15:42:59
    #7
    Üyeliği durduruldu
    burock3699 adlı üyeden alıntı: mesajı görüntüle
    Do-whileda ise;
    Önce işlem bir kere gerçekleşti. İşlemin sonunda şarta bakıldı , sağlandıysa bir daha gerçekleşti , işlem sonunda bir daha şarta bakıldı. Bu şekilde devam ediyor.
    Dowhileda deyimimiz en azından 1 kere çalışmış oluyor. Whileda ise önce şarta baktığı için böyle bir durum yok.
    Doğru anlamıs mıyım acaba?
    kesinlikle. while da şart sağlanmazsa hiç çalışmaz. do - while da ise şart sonda olduğu için şart sağlansın yada sağlanmasın 1 kere çalışır
  • 24-09-2009, 20:03:00
    #8
    Aynı işi for döngüsü ilede yapamaz mıyız? Mesela ana kategoriyi çek, eğer varsa alt kategorilerini de çek. Şöyle ki;

    <?php
     
    $sql = "SELECT * FROM kat";
    $query = mysql_query($sql);
    $kayitsayisi = mysql_num_rows($query);
     
    for ($i=0; $i<$kayitsayisi; $i++) {
     $row = mysql_fetch_array($query);
    echo "Burada ana kategorilerim sıralanıyor...";
     
    $sql2 = "SELECT * FROM kat WHERE ustkatid='".$row["id"]."'";
    $query2 = mysql_query($sql2);
    $kayitsayisi2 = mysql_num_rows($query2);
     
    for ($x=0; $x<$kayitsayisi2; $x++) {
          $row2 = mysql_fetch_array($query2);
          echo "Burada ise, eğer varsa alt kategorilerim sıralanıyor.";
     }
    }
    ?>
  • 26-09-2009, 10:39:11
    #9
    burock3699 adlı üyeden alıntı: mesajı görüntüle
    while ve dowhile komutlarında
    while içerisine birden fazla şart nasıl yazabiliriz?

    edit :
     while ($i < 55 && $y<10)
    şeklindeymiş. Tamamdır.
    bilgi vereyim:
    && bu isaret "ve" operatorudur. birde "veya" vardir. oda || budur.

    && --> "ve" operatoru TRUE dondurmek icin her iki sartinda TRUE olmasi gerekir.
    || --> "veya" operatorundeyse iki sarttan birinin TRUE donmesi yeterlidir.

    not: illa 2 sart degil 3,4,5,6... sart koyabilirsiniz.

     sart && sart2 && sart3 && sart4
    gibi. programlamada matematik bilgisi cok onemlidir, mantiga herzaman matematikdeki formuller gibi bakin.
    mesela,

     if((sart1 && sart2) || (sart3 && sart4))
    gibi seyler olusturabilirsiniz.

    @Nefusa, senin dediginin alakasi olmamis. aslinda evet for()'u while() yerine kullanabilirsin if() yardimi ile. ama senin verdigin ornek yanlis ve alakasiz.
    yazdiginiz programin calismasina bakmayin, mantiginin ne oldugunu bilin.