- Katılım
- 25 Nisan 2012
- Mesajlar
- 12
- Reaction score
- 0
Merhaba Arkadaşlar,
Çalıştığım bir sistem üzerinde youtube'daki like-dislike olayı gibi bir script yazmaya çalışıyorum fakat Php konusunda zayıf olduğumdan iki noktada aşamadığım bir problem ortaya çıktı, birincisi: veritabanındaki verileri yüzdeye çevirip ekrana yazdıramadım, ikincisi ise bu verileri grafiksel olarak gösterecek bar'ın yüzde değerine göre artması ve eksilmesi.
Aşağıda ekran görüntüsünü ve script kodlarını veriyorum. yardımcı olmaya çalışacak arkadaşlara şimdiden çok teşekkür ederim
Ekli dosyayı görüntüle 3640
MySQL: Tablo 1
MySQL: Tablo 2
Döngü:
Anasayfa'da verileri çekip ekrana yazdırmaya çalıştığım script:
Bu da veritabanındaki toplam oy sayısının yüzde (%)'ye çevrilip aşağıdaki element'in width: değerine atamaya çalıştığım bölüm:
$up fonksiyonu:
$down fonksiyonu:
Arada anlaşılmayan bir kısım bırakmamak için biraz uzunca yazdım, ilgilenecek arkadaşlara gerçekten müteşekkir kalacağım :utan:
Çalıştığım bir sistem üzerinde youtube'daki like-dislike olayı gibi bir script yazmaya çalışıyorum fakat Php konusunda zayıf olduğumdan iki noktada aşamadığım bir problem ortaya çıktı, birincisi: veritabanındaki verileri yüzdeye çevirip ekrana yazdıramadım, ikincisi ise bu verileri grafiksel olarak gösterecek bar'ın yüzde değerine göre artması ve eksilmesi.
Aşağıda ekran görüntüsünü ve script kodlarını veriyorum. yardımcı olmaya çalışacak arkadaşlara şimdiden çok teşekkür ederim
Ekli dosyayı görüntüle 3640
MySQL: Tablo 1
Kod:
CREATE TABLE up_down (
kimlik INT PRIMARY KEY AUTO_INCREMENT,
up INT,
down INT
);
MySQL: Tablo 2
Kod:
CREATE TABLE unique_ip(
ip_id INT PRIMARY KEY AUTO_INCREMENT,
ip_add VARCHAR(40),
kimlik_fk INT,
FOREIGN KEY(kimlik_fk) REFERENCES up_down(kimlik)
);
Döngü:
PHP:
<?php
include('config.php');
$sql=mysql_query("SELECT * FROM up_down");
while($row=mysql_fetch_array($sql))
{
$kimlik=$row['kimlik'];
$up=$row['up'];
$down=$row['down'];
}
?>
Anasayfa'da verileri çekip ekrana yazdırmaya çalıştığım script:
PHP:
<div id="arti-eksi-kutusu">
<div class='up'><a href="" class="vote" id="<?php echo $kimlik; ?>" name="up"></a></div> <!--Artı Butonu-->
<div class='down'><a href="" class="vote" id="<?php echo $kimlik; ?>" name="down"></a></div> <!--Eksi Butonu-->
</div>
//Bu kısım görüntü olarak artı ve eksi butonlarının altında yer alıyor.
<span class="up-counter-box"><?php echo $up ?></span> <!--Toplam 'artı' oy sayısı-->
<span class="down-counter-box"><?php echo $down ?></span> <!--Toplam 'eksi' oy sayısı-->
Bu da veritabanındaki toplam oy sayısının yüzde (%)'ye çevrilip aşağıdaki element'in width: değerine atamaya çalıştığım bölüm:
PHP:
<?
$yuzde = 100;
$arti= (number_format($up*100)/$yuzde);
$eksi= (number_format($down*100)/$yuzde);
?>
<div class="percent-wrapper">
<span class="arti" style="width:<? $arti.'%' ?>;"></span>
<span class="eksi" style="width:<? $eksi.'%' ?>;"></span>
</div>
$up fonksiyonu:
PHP:
<?php
include("config.php");
$ip=$_SERVER['REMOTE_ADDR'];
if($_POST['id']){$id=$_POST['id'];
$id = mysql_escape_String($id);
$ip_sql=mysql_query("select ip_add from unique_ip where kimlik_fk='$id' and ip_add='$ip'");
$count=mysql_num_rows($ip_sql);
if($count==0){$sql = "update Messages set up=up+1 where kimlik='$id'";
mysql_query( $sql);
$sql_in = "insert into up_down (kimlik_fk,ip_add) values ('$id','$ip')";mysql_query( $sql_in);
}
else{}
$result=mysql_query("select up from up_down where kimlik='$id'");
$row=mysql_fetch_array($result);
$up_value=$row['up'];
echo $up_value;
}
?>
$down fonksiyonu:
PHP:
<?php
include("config.php");
$ip=$_SERVER['REMOTE_ADDR'];
if($_POST['id']){$id=$_POST['id'];$id = mysql_escape_String($id);
$ip_sql=mysql_query("select ip_add from unique_ip where kimlik_fk='$id' and ip_add='$ip'");
$count=mysql_num_rows($ip_sql);
if($count==0){$sql = "update up_down set down=down+1 where kimlik='$id'";
mysql_query( $sql);
$sql_in = "insert into unique_ip (kimlik_fk,ip_add) values ('$id','$ip')";
mysql_query( $sql_in);
}
else{}
$result=mysql_query("select down from up_down where kimlik='$id'");
$row=mysql_fetch_array($result);
$down_value=$row['down'];
echo $down_value;
}
?>
Arada anlaşılmayan bir kısım bırakmamak için biraz uzunca yazdım, ilgilenecek arkadaşlara gerçekten müteşekkir kalacağım :utan: