Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

jquery ile + da artma - ile azalma

Konu, 'Javascript' kısmında huk tarafından paylaşıldı.

  1. huk

    huk Yeni Üye

    Kayıt:
    9 Haziran 2012
    Mesajlar:
    2
    Beğenilen Mesajlar:
    0
    Merhaba Arkadaşlar bir projem için sayfa değişmeden + ya basıldığında değerimizin 1 artmasını, - ye basıldığında ise değerimizin 1 azalmasını istiyorum. burda ki + ve - url leri # tanımlanmış linklerdir. Yazılım dili olarakta php kullanıyorum. Bununla alakalı bir örnek buldum ancak tam olarak istediğim şeye ulaşamadım.



    Kod:
    <?php session_start();
    ?>
    <html>
       <head>
          <title>How to create a like/unlike button using jQuery and PHP</title>
           
       <script src="http://code.jquery.com/jquery-1.3.2.min.js"></script>
       <script>
             function doAction(postid,type){
                $.post('doAjax.php', {postid:postid, type:type}, function(data){
                   if(isNaN(parseFloat(data))){
                      alert(data);
                   }else{
                      $('#'+postid+'_'+type+'s').text(data);
                   }
                });
             }
          </script>
       </head>
       <body>
          <?php
          
             include('baglanti.php'); // including database connection.
             
             $postid = 1; // default post id
             $data = mysql_fetch_object(mysql_query('SELECT `like`,`unlike`,`deger` FROM posts WHERE id="'.$postid.'"'));
          
             
          ?>
          
           
         
        
       <table width="600" border="0" cellspacing="0" cellpadding="0">
           <tr>
          
             <td></td>
             <td> <a href="javascript:;" onclick="doAction('<?php echo $postid;?>','unlike');"><?php echo $isaret="-"; ?></a></td>
             <td> <a href="javascript:;" onclick="doAction('<?php echo $postid;?>','like');"><?php echo $isaret="+"; ?></a></td>
             <td>
           
             <a href="javascript:;" onClick="doAction('<?php echo $postid;?>','unlike');">-<span id="<?php echo $postid;?>_unlikes">
             <?php echo $data->unlike;?></span></a>
                       <a href="javascript:;" onClick="doAction('<?php echo $postid;?>','like');">+<span id="<?php echo $postid;?>_likes"><?php echo $data->deger;?> <?php echo $_SESSION["isaret"]; ?></span></a>
            
              
              </td>
             
           </tr>
           
           
       </table>
       </body>
    </html>
    doAjax.php ise

    PHP:
    <?phpsession_start();   include('baglanti.php');      if($_POST['postid'] != '' && $_POST['type'] != ''){            $alreadyExist mysql_num_rows(mysql_query(' SELECT id FROM voted WHERE postid="'.(int)$_POST['postid'].'" AND ip="'.$_SERVER['REMOTE_ADDR'].'"'));            if($alreadyExist==0){         if($_POST['type']=='like'){            mysql_query(' UPDATE posts SET `like`=`like`+1,`deger`=`like`-`unlike` WHERE id="'.(int)$_POST['postid'].'"');            $num mysql_fetch_row(mysql_query(' SELECT `like` FROM posts WHERE id="'.(int)$_POST['postid'].'" LIMIT 1'));            $num2 mysql_fetch_row(mysql_query(' SELECT `deger` FROM posts WHERE id="'.(int)$_POST['postid'].'" LIMIT 2'));                         }elseif($_POST['type']=='unlike'){            mysql_query(' UPDATE posts SET `unlike`=`unlike`+1,`deger`=`like`-`unlike`  WHERE id="'.(int)$_POST['postid'].'"');            $num mysql_fetch_row(mysql_query(' SELECT `unlike` FROM posts WHERE id="'.(int)$_POST['postid'].'" LIMIT 1'));            $num2 mysql_fetch_row(mysql_query(' SELECT `deger` FROM posts WHERE id="'.(int)$_POST['postid'].'" LIMIT 2'));                    }                  echo $num2[0];         mysql_query(' INSERT INTO voted (`postid`,`ip`) VALUES ("'.(int)$_POST['postid'].'","'.$_SERVER['REMOTE_ADDR'].'")');               }else{         echo 'You already voted this.';      }         }
    ?>
    Burdaki örnek te (+:değer -:değer gorunuyor ) Benim istediğim ise (+:- değer) dir yani 1 tane değer gosterge olucak artıya basıldıgında artan,- basıldıgında eksilen.

    Yardımlarınızı bekliyorum :)
     
  2. hsnayd

    hsnayd Yeni Üye

    Kayıt:
    19 Nisan 2012
    Mesajlar:
    5
    Beğenilen Mesajlar:
    0
    Meslek:
    Wep Programcısı
    Şehir:
    Aydın - Kuşadası
    Denemedim ama anladığım kadarı ile şöyle bişey olcak

    PHP:
    <?php session_start();
    ?>
    <html>
       <head>
          <title>How to create a like/unlike button using jQuery and PHP</title>
           
       <script src="http://code.jquery.com/jquery-1.3.2.min.js"></script>
       <script>
             function doAction(postid,type){
                $.post('doAjax.php', {postid:postid, type:type}, function(data){
                   if(isNaN(parseFloat(data))){
                      alert(data);
                   }else{
                      $('#'+postid+'_'+type+'s').text(data);
                   }
                });
             }
          </script>
       </head>
       <body>
          <?php
          
             
    include('baglanti.php'); // including database connection.
             
             
    $postid 1// default post id
             
    $data mysql_fetch_object(mysql_query('SELECT `deger` FROM posts WHERE id="'.$postid.'"'));
          
             
          
    ?>
          
           
         
        
       <table width="600" border="0" cellspacing="0" cellpadding="0">
           <tr>
          
             <td></td>
             <td> <a href="javascript:;" onclick="doAction('<?php echo $postid;?>','unlike');"><?php echo $isaret="-"?></a></td>
             <td> <a href="javascript:;" onclick="doAction('<?php echo $postid;?>','like');"><?php echo $isaret="+"?></a></td>
             <td>
             <a href="javascript:;" onClick="doAction('<?php echo $postid;?>','unlike');">-</a>
             <a href="javascript:;" onClick="doAction('<?php echo $postid;?>','like');">+<?php echo $data->deger;?> <?php echo $_SESSION["isaret"]; ?></span></a>         
             </td>
             
           </tr>
           
           
       </table>
       </body>
    </html>
    PHP:
    <?php 
    session_start
    ();   
    include(
    'baglanti.php');      
    if(
    $_POST['postid'] != '' && $_POST['type'] != ''){
        
    $alreadyExist mysql_num_rows(mysql_query(' SELECT id FROM voted WHERE postid="'.(int)$_POST['postid'].'" AND ip="'.$_SERVER['REMOTE_ADDR'].'"'));            
        if(
    $alreadyExist==0){         
        if(
    $_POST['type']=='like'){            
        
    mysql_query(' UPDATE posts SET `deger`=`deger`+1 WHERE id="'.(int)$_POST['postid'].'"');                    
        
    $num2 mysql_fetch_row(mysql_query(' SELECT `deger` FROM posts WHERE id="'.(int)$_POST['postid'].'" LIMIT 2'));                         
        }elseif(
    $_POST['type']=='unlike'){            
        
    mysql_query(' UPDATE posts SET `deger`=`deger`-1  WHERE id="'.(int)$_POST['postid'].'"');                 
        
    $num2 mysql_fetch_row(mysql_query(' SELECT `deger` FROM posts WHERE id="'.(int)$_POST['postid'].'" LIMIT 2'));}                  
        echo 
    $num2[0];         
        
    mysql_query(' INSERT INTO voted (`postid`,`ip`) VALUES ("'.(int)$_POST['postid'].'","'.$_SERVER['REMOTE_ADDR'].'")');}
        else{echo 
    'You already voted this.';      }         }
    ?> 
     
  3. huk

    huk Yeni Üye

    Kayıt:
    9 Haziran 2012
    Mesajlar:
    2
    Beğenilen Mesajlar:
    0
    Tek bir gösterge var ancak + ve - işlemiyor malesef.
     
    Son düzenleme yönetici tarafından yapıldı: 20 Haziran 2012
  4. hsnayd

    hsnayd Yeni Üye

    Kayıt:
    19 Nisan 2012
    Mesajlar:
    5
    Beğenilen Mesajlar:
    0
    Meslek:
    Wep Programcısı
    Şehir:
    Aydın - Kuşadası
    Sorunu tespit etmen lazım önce
    1. si $_POST['postid'] ve $_POST['type'] degiskenlerini doAjax.php sayfasına aktarmakta sıkıntı varmı ?
    2. si veritabanında burada kullanılan tüm tablolar varmı isimleri aynı mı
    3. sü yapılan sorgular da yazım hatası varmı yani sorgular gerçekleşiyormu

    bu yukarıda yazdıklarımı kontrol etmen lazım hatanın sebebini bulmak için