PHP'de Oyalama Değerlendirme

0
Onaylı Üye
Üye
Katılım
28 Eylül 2004
Mesajlar
896
Tepki puanı
0
ilk baş özür dilerim sitede arama ma rahmen bir örnek uygulama bulamadım.

php ile oylama nasıl yapılır bunu öğrnemek istiyorum örnek kodlarınız varsa eklerseniz sevinirim baya aramama rahmen nette'de bişe bulamadım ve aklıma burası geldi yeni başladım php yani asp'den çok farklı değil ama komut öğrenmem lazım.

yarım eden olursa tşk. ederim
 
0
Onaylı Üye
Üye
Katılım
28 Eylül 2004
Mesajlar
896
Tepki puanı
0
script aramıyorum zaten burdakilerde profesyonel örnek kodlar arıyorum teşk. ederim gene cevabın için.
 
0
Onaylı Üye
Üye
Katılım
29 Ekim 2005
Mesajlar
3,592
Tepki puanı
36
yeni bir tablo açıp tabloyu aşağıdaki şekilde yaratın:

ID -- Puanlar -- PuanKisi

ID bölümüne oylanan dosya/makale vb. neyse onun id numarası gelecek.

Yeni bir oy eklenirken,

PHP:
$verilenpuan = POST'dan gelen puan;

$sql = "SELECT * FROM tablo WHERE ID ='$id'";
$res = mysql_query($sql) or die('Invalid query: ' . mysql_error());
$rc = mysql_num_rows($res);
$row = mysql_fetch_array($res);

if ($rc == "0") {
//Daha önce bu içerik için oy kullanılmamış.
//Tabloda yeni bir satır yaratıp verilen puanı işliyoruz.
$sql = "INSERT INTO tablo (ID, Puanlar, PuanKisi) VALUES ('$ID', '$verilenpuan', '1')";
$res = mysql_query($sql) or die('Invalid query: ' . mysql_error());
}
else {
//Daha önce bu içeriğe oy verilmiş, oyları yeniliyoruz.
$puan = $row[Puanlar] + $verilenpuan;
$kisi = $row[PuanKisi] + 1;
$sql = "UPDATE dosyalar SET Puanlar= '$puan',PuanKisi="$kisi" WHERE ID=$id";
$res = mysql_query($sql) or die('Invalid query: ' . mysql_error());
}

Herhangi bir içeriğin puanını çıkartırken:

PHP:
$sql = "SELECT * FROM tablo WHERE ID ='$id'";
$res = mysql_query($sql) or die('Invalid query: ' . mysql_error());
$rc = mysql_num_rows($res);
$row = mysql_fetch_array($res);

if ($rc == "0") {
echo "Puan Verilmemiş";
}
else {
phesapla = ceil($row[Puanlar] / $row[PuanKisi]); 
echo $phesapla;
}

Kodu denemedim ama çalışması lazım. Bi sorun çıkarsa yazın.
 
0
Onaylı Üye
Üye
Katılım
28 Eylül 2004
Mesajlar
896
Tepki puanı
0
hemen deniyorum tşk. ederim.

$sql = "UPDATE puan SET Puanlar= '$puan',PuanKisi="$kisi" WHERE ID=$id"; Şurda hata veriyor.

syntax error, unexpected T_VARIABLE

id Puanlar PuanKisi Tanımlı Olan PUAN diye bir tablo oluşturdum int (11). değerli hepsi

id ye auto vermedim ilk baş alışkanlıkla vermişim düzetmeme rahmen bi değişiklik olmadı

Yazdırma durmuna gelirsem

phesapla = ceil($row[Puanlar] / $row[PuanKisi]);

burda bi hata verdi ama print ile çözdüm db ye kafamdan id girip yazdırdım hiç bir sorun yok yazdırma kısmında sadece puan vermede sıkıntı var.

print ceil($row[Puanlar] / $row[PuanKisi]);
 
0
Onaylı Üye
Üye
Katılım
28 Eylül 2004
Mesajlar
896
Tepki puanı
0
Sorunu çözdüm dikakt etmemişim.

$sql = "UPDATE puan SET Puanlar= '$puan',PuanKisi='$kisi' WHERE ID='$id'";

" ve ' işaretleri bazen görmezlikten gelinebiliyor.

Şimdi refferrer araştırıyorum oy verildikten sonra bide geri dönsün sayfaya..

Bide ben açıkçası

$verilenpuan = POST'dan gelen puan; buraya 1 değerini atadım ve puan1.php yaptım ve ve siteden link verecem post olayını daha öğrendim yada checkbox olarak nasıl yaparız yazarsan sevinirim çünkü..

oy.php?id=1952 gibi gidecek peki post get bunu nasıl anlıcak tam kavrayamıyorum..

$ara = mysql_real_escape_string($_POST['ara']);

mesala aramada bunu yapıyorum ama puan olayı kafamı karıştırıyor.

Bu arada tekrar tşk. ederim.
 
0
Onaylı Üye
Üye
Katılım
29 Ekim 2005
Mesajlar
3,592
Tepki puanı
36
diyelim puan eklemeyi yapacak olan php, puanla.php

puanla.php'ye get olarak yollayabilirsin, misal

puanla.php?verilenpuan=5

olarak gönderdiğinde $verilenpuan değişkeni 5'i alacaktır.
 
1
Onaylı Üye
Üye
Katılım
25 Şubat 2005
Mesajlar
3,824
Tepki puanı
20
Konum
hawaii. ama sanal tur.
CREATE TABLE `puanlar` (`id` int not lisanssız auto_increment primary key, `toplampuan` int, `toplamoy` int);

PHP:
<?php
if ($_POST['puan']) {
 
$puanartir = mysql_query("UPDATE puanlar SET toplampuan=toplampuan+'".$_POST[puan]."' WHERE id='".$_POST[id]."'");
$oyartir = mysql_query("UPDATE puanlar SET toplamoy=toplamoy+1 WHERE id='".$_POST[id]."'");
 
echo "oy kullandığınız için teşekkürler..";
 
} else {
?>
<form method="post">
<input type="hidden" name="id" value="id numarası" />
<select name="puan">
 <option value="3">3</option>
 <option value="2">2</option>
 <option value="1">1</option>
</select>
<input type="submit" value="ekle" />
</form>
<?php } ?>



denemedim yalnız.
 
0
Onaylı Üye
Üye
Katılım
28 Eylül 2004
Mesajlar
896
Tepki puanı
0
diyelim puan eklemeyi yapacak olan php, puanla.php

puanla.php'ye get olarak yollayabilirsin, misal

puanla.php?verilenpuan=5

olarak gönderdiğinde $verilenpuan değişkeni 5'i alacaktır.

verilen puanı get olarak tanımladık diyelim bunu yaparım peki id yi nasıl tanımlıcam

yani şöyle gitmesei lazım puanla.php?id=1252&verilenpuan=5

aynı mantık geçerli olurmu genede ben deneyip sonucu buraya aktaracam gete isim verelim bakalım neler olacak.

yeni öğreniyorum php yi ama zorlanmadım aşırı derecede asp bildiğim için.
 
1
Onaylı Üye
Üye
Katılım
25 Şubat 2005
Mesajlar
3,824
Tepki puanı
20
Konum
hawaii. ama sanal tur.
$_GET['id']
 
0
Onaylı Üye
Üye
Katılım
29 Ekim 2005
Mesajlar
3,592
Tepki puanı
36
sempaty'nin dediği gibi id'ide get ile yollayabilirsin. bende aspden geçmiştim, kolay toparlarsın. :)
 
0
Onaylı Üye
Üye
Katılım
28 Eylül 2004
Mesajlar
896
Tepki puanı
0
$verilenpuan = mysql_real_escape_string($_POST['verilenpuan']);
$id = $_GET[id] ;

Puanver php ye üsteki satırları koydum.

<form action="puanver.php?id=<?=$satir[id]?>" method="post">
<input type="hidden" name="id" value="<?=$satir[id]?>" />
<select name="verilenpuan">
<option value="5">5</option>
<option value="4">4</option>
<option value="3">3</option>
<option value="2">2</option>
<option value="1">1</option>
</select>
<input type="submit" value="ekle" />
</form>

Buda Oylamayı yapmak istediğiniz kısma atıyorsunuz..

Şimdi tek yapmak gereken puanver.php ye http referrer eklemek böylece sayfa geri gelmiş olacak.

Bu arada herkeze tşk. ederim.
 
0
Onaylı Üye
Üye
Katılım
29 Ekim 2005
Mesajlar
3,592
Tepki puanı
36
asp'deki redirect'in php versionu header oluyor.

PHP:
header("location:puanver.php");

şeklinde sayfayı yönlendirebilirsin.
 
0
Onaylı Üye
Üye
Katılım
20 Eylül 2006
Mesajlar
447
Tepki puanı
0
arkadaşlar ben bu işte acemiyim.bna biriniz yardım edebilir mi acaba?arkadaslık sitem var ve kişilerin profilleri değerlendirmelerini istiyorum.yardımcı olabilecek var mı?
 
Geri
Üst