• 21-05-2008, 19:48:59
    #1
    arkadaslar biraz kastım.. aslinda sayfalama işini yaptım. onda sorun cikmadi...
    sayfa sayfa ilerliyor sayfa id'i degistikce..
    ama altta sayfaları listelerken bir sorun olustu sanirim.
    kodlarda biraz karman çorman oldu.. kirli kod kaldı. kusura bakmayın bi beynim sulandı 60dk'dir :]

    ben kodları vereyim php bilen arkadaslar durumu ve kodlarımdaki hatayı anlıcaktır zaten.

    <?php
    include("./baglan.php");
    
    $sql = mysql_query("SELECT * FROM taksi");
    while($config = mysql_fetch_array($sql)){
        $groups[$config['grup']] = '';
    }
    echo '<center><form><select size="1" name="mekanturu" onchange="formHandlermekanturu(this.form)"><option value="0">Lütfen bir semt seçin</option>';
    foreach($groups as $key => $value){
        echo '<option value="oku.php?semt='.$key.'">'.$key.'</option>';
    }
    
    echo '</select></form><br /></center>';
    if(empty($_GET['sayfa'])) { 
    $sayfa ="1"; 
    } else {
     $sayfa=intval($_GET["sayfa"]);
    }
    $limit=6;
    $sonsayfa = ($sayfa-1)*$limit; 
    $semt=$_GET['semt'];
    
    
    if(empty($_GET['semt'])) {
        $sorgu=mysql_query("SELECT * FROM taksi LIMIT $sonsayfa,$limit");
    } else { 
        $sorgu=mysql_query("SELECT * FROM taksi WHERE grup like '".$_GET['semt']."' LIMIT $sonsayfa,$limit ");
    }
    
    $kacadet=mysql_num_rows($sorgu);
    $kacsayfa = $kacadet / $limit;
    $kacsayfa = ceil($kacsayfa);
    
    while($al=mysql_fetch_array($sorgu)) { 
    $ad=$al['isim'];
    $tel=$al['telefon'];
    $adres=$al['adres'];
    $grup=$al['grup'];
    
    ?>
    
    <table width="288" height="160" border="1" align="center" bordercolor="#000000">
      <tr>
        <td width="56" height="24"><strong>isim</strong></td>
        <td width="217"><? echo "$ad"; ?></td>
      </tr>
      <tr>
        <td height="27"><strong>telefon</strong></td>
        <td><? echo "$tel"; ?></td>
      </tr>
      <tr>
        <td><strong>adres</strong></td>
        <td><? echo "$adres"; ?></td>
      </tr>
      <tr>
        <td height="23"><strong>grup</strong></td>
        <td><? echo "$grup"; ?></td>
      </tr>
    </table>
    <br />
    
    <? } 
    ?>
    <center>
    <?php
    
    echo " $kacsayfa ";  // sorun cikti.  degisken deger aliyor mu bakalim. ~ doomsday
    /*
    while($a < $kacsayfa){
    echo '<a href=oku.php?semt='.$semt.'&sayfa='.$a.'>'.($a).'</a> | ';
    $a++;
    }  
    */
    ?>
    <br />
    <?php 
    
    if(empty($semt)) {
    while($a < 10){
    echo '<a href=oku.php?sayfa='.$a.'>'.($a).'</a> | ';
    $a++;
    } 
    } else { 
    while($a < 10){
    echo '<a href=oku.php?semt='.$semt.'&sayfa='.$a.'>'.($a).'</a> | ';
    $a++;
    }  
    }
    ?>
    <hr />
    
    </center>
    
    
    <script language="JavaScript">
    function formHandlermekanturu(form){
        var URL= form.mekanturu.options[form.mekanturu.selectedIndex].value;
        if(form.mekanturu.selectedIndex != 0)
        window.location.href = URL;
    }
    </script>
  • 21-05-2008, 20:10:27
    #2
    Umarım Sorunumuza Kısa Süre İçinde Çözüm Buluruz
  • 21-05-2008, 20:58:11
    #3
    hata satırını ve hatayı yazarsanız daha kolay yardımcı olabiliriz.
  • 22-05-2008, 17:59:38
    #4
    verdiği hata yok sorun sorgulama sonlanmıyor mesela 1 sayfa veri olsada 9. sayfaya kadar gidiyor 4 sayfada...
  • 22-05-2008, 21:06:47
    #5
    aşağıdaki gibi denermisin

    <?php
    include("./baglan.php");
    
    $sql = mysql_query("SELECT * FROM taksi");
    while($config = mysql_fetch_array($sql)){
        $groups[$config['grup']] = '';
    }
    echo '<center><form><select size="1" name="mekanturu" onchange="formHandlermekanturu(this.form)"><option value="0">Lütfen bir semt seçin</option>';
    foreach($groups as $key => $value){
        echo '<option value="oku.php?semt='.$key.'">'.$key.'</option>';
    }
    
    echo '</select></form><br /></center>';
    
    $sayfa=intval($_REQUEST['sayfa']);
    
    if(empty($sayfa)) { 
    $sayfa ="1"; 
    } 
    
    $limit=6;
    $sonsayfa = ($sayfa-1)*$limit; 
    $semt=$_GET['semt'];
    
    
    if(empty($_GET['semt'])) {
        $sorgu=mysql_query("SELECT * FROM taksi LIMIT $sonsayfa,$limit");
    } else { 
        $sorgu=mysql_query("SELECT * FROM taksi WHERE grup like '".$_GET['semt']."' LIMIT $sonsayfa,$limit ");
    }
    
    $kacadet=mysql_num_rows($sorgu);
    $kacsayfa = $kacadet / $limit;
    $kacsayfa = ceil($kacsayfa);
    
    while($al=mysql_fetch_array($sorgu)) { 
    $ad=$al['isim'];
    $tel=$al['telefon'];
    $adres=$al['adres'];
    $grup=$al['grup'];
    
    ?>
    
    <table width="288" height="160" border="1" align="center" bordercolor="#000000">
      <tr>
        <td width="56" height="24"><strong>isim</strong></td>
        <td width="217"><? echo "$ad"; ?></td>
      </tr>
      <tr>
        <td height="27"><strong>telefon</strong></td>
        <td><? echo "$tel"; ?></td>
      </tr>
      <tr>
        <td><strong>adres</strong></td>
        <td><? echo "$adres"; ?></td>
      </tr>
      <tr>
        <td height="23"><strong>grup</strong></td>
        <td><? echo "$grup"; ?></td>
      </tr>
    </table>
    <br />
    
    <? } 
    ?>
    <center>
    <?php
    
    echo " $kacsayfa ";  // sorun cikti.  degisken deger aliyor mu bakalim. ~ doomsday
    
    ?>
    <br />
    <?php 
    
    if(empty($semt)) {
    while($a < 10){
    echo '<a href=oku.php?sayfa='.$a.'>'.($a).'</a> | ';
    $a++;
    } 
    } else { 
    while($a < 10){
    echo '<a href=oku.php?semt='.$semt.'&sayfa='.$a.'>'.($a).'</a> | ';
    $a++;
    }  
    }
    ?>
    <hr />
    
    </center>
    
    
    <script language="JavaScript">
    function formHandlermekanturu(form){
        var URL= form.mekanturu.options[form.mekanturu.selectedIndex].value;
        if(form.mekanturu.selectedIndex != 0)
        window.location.href = URL;
    }
    </script>
  • 23-05-2008, 12:04:21
    #6
    Sorun Aynı Şekil Devam Etmekte
  • 24-05-2008, 13:42:24
    #7
    Üyeliği durduruldu
    scripti okudum birazda pek bişi anlamadım sanırsam olmayan sayfaları
    da varmış gibi gösteriyor ozaman şöyle yapacaksınız
    sqlden kaç tane veri olduğuna bakın sonra onu sayfalarda listelenen sayıya bölün
    for ile döngüye başlayın işte linkleri dökün
    o anda bulunan sayfayıda linksiz hale getirmek içinde if kullanın bu şekilde
    olacaktır.
  • 25-05-2008, 02:55:43
    #8
    Merhaba

    Oncelikle yapilmasi gereken sey, girilen sayfa ile, databaseden cekilen sorgu sayisinin limite bolunerek kac sayfa ettiginin bulunmasi ve bunun GIRILEN sayfa ile kiyasinin yapilmasi gerekir.

    Calismayan Kod uzerinden, calistirip deneme yanilma da yapmadan isi cozmek kolay degildir. Hele hele kodu kendiniz yazmadi iseniz.

    Ama soyle bir sey denemelisin.

    $kacadet=mysql_num_rows($sorgu);
    $kacsayfa = $kacadet / $limit;
    $kacsayfa = ceil($kacsayfa);

    [ Bunlar senin satirlarin, bunun altina]

    if ($sayfa > $kacsayfa) {
    $sayfa =1;
    $limit =0;
    }


    kodun devam eden kisminda REM koydugun yerde de $sayfa yi cagirman lazim veyahutta yukardaki kiyas IF icini ona gore ayarlaman lazim.

    Calisir durumda gordugumuzde kolaylikla cozulebilecek bisey.

    Umarim yardimci olur

    Selim
  • 27-05-2008, 03:27:31
    #9
    teşekkürler açıklamalarınız için. malesef bu konuya daha sonra değineceğim. zamanım olunca.