• 11-04-2009, 21:21:37
    #1
    Merhaba Arkadaşlar Ben Bir Script Hazırlıyorum. Fikstür Bölümünde Takıldım. 18 Takım Var DB İçinde.
    Elimde 18 Takımın Ev Sahibi Ve Deplasman Olarak Fikstürünü Oluşturan Kodlama Var. Kodlama Şu Şekil
    <?php
    $takimlar=array("Takim-1","Takim-2","Takim-3","Takim-4","Takim-5","Takim-6","Takim-7","Takim-8","Takim-9","Takim-10","Takim-11","Takim-12","Takim-13","Takim-14","Takim-15","Takim-16","Takim-17","Takim-18");
    echo fikstur($takimlar);
    function fikstur($takimlar) {
      $input=array_rand($takimlar,count($takimlar));
      for ($i=0;$i<count($takimlar);$i+=2) {
        $input1[$i]=$takimlar[$input[$i]];
        $input2[$i]=$takimlar[$input[$i+1]];
      }
      $haftasayisi=(count($takimlar)-1)*2;
      $home=1;
      for ($hafta=1;$hafta<=$haftasayisi;$hafta++) {
        $dizi1=array_rand($input1,count($input1));
        $dizi2=array_rand($input2,count($input2));
        for($i=0;$i<count($input1);$i++) {
          $input12[$i]=$input1[$dizi1[$i]];
          $input22[$i]=$input2[$dizi2[$i]];
        }
        if ($home==1) {
          echo "<br><br>".$hafta.". Hafta Maclari<br><br>";
          for ($i=0;$i<count($input12);$i++) {
            echo "$input12[$i]--$input22[$i]<br>";
          }
        }
        else {
          echo "<br><br>".$hafta.". Hafta Maclari<br><br>";
          for ($i=0;$i<count($input12);$i++) {
            echo "$input22[$i]--$input12[$i]<br>";
          }
        }
        if ($home==1) {
          $home=0;
        } else {
          $home=1;
        }
      }
    }
    ?>
    Burada Takim-1, Takim-2 Yerine DB İçindeki Takım Adlarini Oyuyacak, Kullanıcı Oluştur Dediğinde O Takımlara Ait 34 Haftalik Fikstürü Oluşturacak Ve Bunu DB İçine Öyle Bİr Kaydedecek Ki.
    1. Hafta
    Takım 1 (Attigi Gol-Attigi Gol) -Takim 2 Şeklinde Okutabileyim
    Takım 3 (Attigi Gol-Attigi Gol) - Takim 4 Şeklinde Okutabileyim
    .
    .
    .
    2. Hafta
    Takım 1 (Attigi Gol-Attigi Gol) -Takim 3 Şeklinde Okutabileyim
    Takım 2 (Attigi Gol-Attigi Gol) - Takim 4 Şeklinde Okutabileyim
    .
    .
    .
    Şeklinde Okutabileyim. Elimde Bunu Yazacak Veya Okutacak Algoritma Mantığı Yok.

    Ayrıca Kullanıcı Daha Sonra Fikstürü Düzenleye Gelince. 1. Haftayı Seçti Diyelim Sonuçları Girecek Kaydete Ve Puan Tablosunu Güncelle Tıklayınca Puan,Avaraj Güncellenecek.
  • 11-04-2009, 23:27:55
    #2
    Sanirim Daha Php'ci Arkadaslar Online Olmadi UfuX:} Yada Konuyu Gormediler, Sahsen Bitince Fikstur Bende Goz Atmak İcin Sabirsizlaniyorum, Kolay Gelsin.
  • 12-04-2009, 00:14:23
    #3
    Üyeliği durduruldu
    pardon soru/sorun nedir? algoritmayi mi cikaramadiniz?
  • 12-04-2009, 00:39:19
    #4
    echo "$input12[$i]--$input22[$i]<br>";
    ekrana basmak yerine fikstur diye bi tablo oluşturursan ve
    sonuçları sql ile tabloya yazdırabilirsin

    hatfa sütununa $hafta değerini girersin
    takim1 sütununa $input12[$i] değerini girersin
    takim2 sütununa $input22[$i] değerini girersin
    t1sonuc sütununu boş bırakırsın
    t2sonuc sütununu boş bırakırsın
    böylece başka bir sayfada bunları çağırıp update edebilirsin ve yazdırırsın
    hafta=takim1:t1sonuc - t2sonuc:takim2 gibi..
  • 12-04-2009, 03:16:52
    #5
    sdemirkeser adlı üyeden alıntı: mesajı görüntüle
    pardon soru/sorun nedir? algoritmayi mi cikaramadiniz?
    Evet Tam Olarak Algoritmayı Oluşturamadık. Bunu Nasıl Bir Şekilde Kaydebiliriz Ve Okuyabiliriz.

    niphell adlı üyeden alıntı: mesajı görüntüle
    echo "$input12[$i]--$input22[$i]<br>";
    ekrana basmak yerine fikstur diye bi tablo oluşturursan ve
    sonuçları sql ile tabloya yazdırabilirsin
    hatfa sütununa $hafta değerini girersin
    takim1 sütununa $input12[$i] değerini girersin
    takim2 sütununa $input22[$i] değerini girersin
    t1sonuc sütununu boş bırakırsın
    t2sonuc sütununu boş bırakırsın
    böylece başka bir sayfada bunları çağırıp update edebilirsin ve yazdırırsın
    hafta=takim1:t1sonuc - t2sonuc:takim2 gibi..
    Teşekürler Cevabın İçin Ama Sanırım Bir Kaç Eksik Var Takim1 Sütununa $input12[$i] Değerini Verirsem Sadece 17 Haftalık Maç Kaydedecektir. Diğer 17 Haftalik Maç İse $input11[$i] Değişkeninde. Ayrıca Bu Şekilde Bütün Maçları Ardı Ardına Tabloya Yerleştirecek. Tamamen Karışık Bir Duruma Girecek Hangi Maç Hangi Haftanın Gibi Bir Durum Çıkacak. Bütün Maçları 1 Tabloaya Kaydetmeliyiz Ki. O Maçların Kaçıncı Haftada Olduğunu Anlayabilelim. Ya Da Şöyle Yapmak Gerek.

    hafta takim1 takim2 sonuc
    ----------------------------
    1 Takim1 Takim2 2-3
    1 Takim3 Takim4 6-4
    1 Takim5 Takim6 0-0
    .
    .
    .
    2 Takim1 Takim3 3-6
    .
    .

    Birde Buna Uygun Otomatik Puan Güncellemsi Yapan Kodlama Gerek.


    Genede Teşekkür Ederim Yardımın İçin.
  • 12-04-2009, 12:21:58
    #6
    zaten tek tabloda toplayacaksın ve if in heriki durumu içinde kaydedeceksin
    input12 ve input 11 için tablo yapısıda yaklaşık şöyle olmalı

    hafta | takim1 | takim2 | t1sonuc | t2sonuc
    ------------------------------------------
    --1--| A takımı|B takımı|---3-----|---1----
    --1--| C takımı|D takımı|---0-----|---1----
    --1--| E takımı|F takımı|---0-----|---0----
    --2--| A takımı|B takımı|---3-----|---1----
    --2--| C takımı|D takımı|---0-----|---1----
    --2--| E takımı|F takımı|---0-----|---0----
    --3--| A takımı|B takımı|---3-----|---1----
    --3--| C takımı|D takımı|---0-----|---1----
    --3--| E takımı|F takımı|---0-----|---0----
  • 12-04-2009, 15:24:28
    #7
    niphell adlı üyeden alıntı: mesajı görüntüle
    zaten tek tabloda toplayacaksın ve if in heriki durumu içinde kaydedeceksin
    input12 ve input 11 için tablo yapısıda yaklaşık şöyle olmalı

    hafta | takim1 | takim2 | t1sonuc | t2sonuc
    ------------------------------------------
    --1--| A takımı|B takımı|---3-----|---1----
    --1--| C takımı|D takımı|---0-----|---1----
    --1--| E takımı|F takımı|---0-----|---0----
    --2--| A takımı|B takımı|---3-----|---1----
    --2--| C takımı|D takımı|---0-----|---1----
    --2--| E takımı|F takımı|---0-----|---0----
    --3--| A takımı|B takımı|---3-----|---1----
    --3--| C takımı|D takımı|---0-----|---1----
    --3--| E takımı|F takımı|---0-----|---0----
    Teşekkür Ederim Arkadaşım Yardımın İçin. Bir Sorum Daha Olacak;


    $takimlar=array("Takim-1","Takim-2","Takim-3","Takim-4","Takim-5","Takim-6","Takim-7","Takim-8","Takim-9","Takim-10","Takim-11","Takim-12","Takim-13","Takim-14","Takim-15","Takim-16","Takim-17","Takim-18");
    Burada Takim-1, Takim-2 Yerine DB İçinden Çektigim Takim Adlarını Nasıl Yazabilirim Bir Fikriniz Var Mı. Tekrar Teşekkür Ederim.
  • 12-04-2009, 19:40:51
    #8
    for döndürerek yapabilirsin

    for ($i=1;$i<$toplamtakim;$i++){
    mysql_query("INSERT INTO fikstur (takimlar) VALUES ($takimlar[$i])");
    }

    gibi...

    ama bana sorarsan bence takımlar listen php de kalsın zaten phpyi çalıştırınca veritabanına yazılacaktır

    ondan sonra çekmek istediğin takımı veritabanından normal veri çeker gibi halledersin
  • 14-05-2009, 14:55:56
    #9
    başkalarının kodlarını çalıp, ben yazdım, yazıyorum, nasıl diyebiliyorsunuz, anlam veremiyorum.. kaldı ki, daha takimlar için veritabanından çektiğin takımları nasıl yazacağını soruyorsun ama yazdığın koda bir bak.. maşallahı var..
    kodun orjinal hali nisan 2006'da bu adreste şu şekilde yazılmış:

    <?php
    $takimlar=array("Besiktas","Galatasaray","Fenerbahce","Trabzonspor","Sivasspor","Genclerbirligi","Diyarbakirspor","Kayserispor","Tokatspor","Ankaraspor","Erciyesspor","Samsunspor");
    
    
    echo fikstur($takimlar);
    
    
    function fikstur($takimlar) {
      $input=array_rand($takimlar,count($takimlar));
      for ($i=0;$i<count($takimlar);$i+=2) {
        $input1[$i]=$takimlar[$input[$i]];
        $input2[$i]=$takimlar[$input[$i+1]];
      }
      $haftasayisi=(count($takimlar)-1)*2;
      $home=1;
      for ($hafta=1;$hafta<=$haftasayisi;$hafta++) {
        $dizi1=array_rand($input1,count($input1));
        $dizi2=array_rand($input2,count($input2));
        for($i=0;$i<count($input1);$i++) {
          $input12[$i]=$input1[$dizi1[$i]];
          $input22[$i]=$input2[$dizi2[$i]];
        }
        if ($home==1) {
          echo "<br><br>".$hafta.". Hafta Maclari<br><br>";
          for ($i=0;$i<count($input12);$i++) {
            echo "$input12[$i]--$input22[$i]<br>";
          }
        }
        else {
          echo "<br><br>".$hafta.". Hafta Maclari<br><br>";
          for ($i=0;$i<count($input12);$i++) {
            echo "$input22[$i]--$input12[$i]<br>";
          }
        }
        if ($home==1) {
          $home=0;
        } else {
          $home=1;
        }
      }
    }
    
    ?>