Puanlama sistemi.

emrkarEmre K.

Merhaba arkadaşlar.

puanlama

Bir puanlama sistemi yapıyorum, bu puanlama sisteminde 6 veya daha çok faktöre puan verilebilecek.Tüm faktörlere verilen puanların ortalanmasını yazacak.Ayrıca her faktörün kendi puan ortalaması da ayrıca hesaplanıp karşısında yazacak.

Bunu nasıl yapabilirim.

Bu puanlama sistemini mysql kullanmadan yapabilirmiyim.

2013-11-23 15:30:36 Edit:2013-11-23 15:32:03

Php

mysql gerekmez ama senin çizdiğin resimden faktörler anlaşılmıyor. ortalama hariç ne yapılacak ?

Her programcı birgün Php yi tadacaktır
2013-11-24 21:44:17

emrkarEmre K.

merhaba öncelikle ilgilendiğiniz için teşekkürler drekon.

Yaklaşık altı alan olacak üstten aşağıya ve her alanda bir bar

olacak ve bu bar hareket ettirilerek not verecek giren kişi.

mesela;

ALAN1 --------|--  80

ALAN2 ------|----- 50

ALAN_ADI  -  BAR  -   Puan

Ayrıca tüm ALAN1 ALAN 2 ...ALAN N lerin ortalaması GENEL_PUAN

adında en üstte yazılacak.

ALAN ların karşısında da o alana ait ortalama ayrıca yazacak.

Tam anlatabildimmi bilemiyorum tekrar teşekkürler.

2013-11-24 22:40:45

Edit:

Php

alicilinAli Fırat Güler

Bu tür bir puanlama sistemi için Mysql kullanmanız şart değil. Ama mysql kullanmamanız için bir sebebinizde yok. Veri depolamak ve veri yönetmek veri tabanlarının işi. Boşuna kendimize eziyet etmektense veri tabanı kullanır keyfimize bakarız.

Mantık (puan verilecek seyin bir ürün olduğunu varsayıyorum);

Tablo1: urunler

tablo1 stunları: urun_id | urun_adi v.s....

------------------------------------------------

Tablo2: puan_turleri

Tablo2 stunları: tur_id | tur_adi

--------------------------------------------------

Tablo 3: puanlar

Tablo3 stunları: urun_id | tur_id | uye_id| puan

--------------------------------------------------

şimdi. ürünler tablosuna normal olarak ürünler eklenecek. Ve ürünlerin puanlarını sınıflandırmak için puan_turleri tablosundaki puan türlerini kullanıcaksınız. Örnk: Tasarım, koku, tat, görsellik gibisinden.

puanlar tablosunada, hangi ürüne oy verildiğini bilmek için oy verilen ürün id umarasını kaydediceksiniz. ve verilen oy'un hangi türe verildiğini bilebilmek için

puan türünün id numarasınıda kayıt ediceksiniz. Eğerki bir üyenin birden fazla oylama yapmasını istemiyorsanız, yada hangi üyelerin oyladığını bilmek istiyorsanız uye_id kısmına da oyu veren üyenin id numarasını kayıt edebilirsiniz. Eğerki gerek yok derseniz o stunu yok sayabilirsiniz.

Ve verilen puanıda "puan" stununa kayıt ediceksiniz.

Şimdi kullanıcının bir ürün için vereceği Oyları burayada kayıt ettik. sıra geldi oyları çekmeye.

Örneğin ürünümüzün detay sayfasındayız. Ve puanlarını dediğiniz gibi çekmek istiyoruz. Ürün id numaramız 15 olsun

SELECT  

      puan_turleri.tur_adi,

      AVG(puanlar.puan) As ortalama,

      (SELECT AVG(puan) FROM puanlar WHERE urun_id =1) As       

      top_ort

FROM 

      puanlar

INNER JOIN 

      puan_turleri 

ON 

      puanlar.tur_id = puan_turleri.tur_id

 WHERE 

     puanlar.urun_id = 1 GROUP BY puan_turleri.tur_id 

--------------------------------

Şeklinde bir kullanımla alıcağını çıktı şunun gibi bişeydir.

Buradaki tur_adi Oy türlerinin adıdır. Ortalama ise oy türlerinin ortalaması. Top_ort ise Genel ortalamadır.

Not: yukarıdaki urun_id = 1 olan yerlerdeki 1 olan yerlere değişken gelicek.

Not2: Top_ort kısmını bir defa ekrana yazdırmanız gerekli. Onuda döngü içerisinde ayarlarsınız artık :)

Bukadarı yeterlidir sanırım. kolay gelsin.

2013-11-26 13:58:55 Edit:2013-11-26 14:20:25

phpkodlari.com © 2009 Herkes Php öğrenecek
Eglence ve Oyun: Gamikro