Welcome, Guest. Please login or register.
Did you miss your activation email?


Login with username, password and session length

Search

 
Advanced search

18534 Posts in 2415 Topics- by 850 Members - Latest Member: saleco
Pages: [1]   Go Down
Print
Author Topic: [> Reseno <] Ratings ...  (Read 1566 times)
M@jk!
<?php echo '
Full Member
***
Offline Offline

Posts: 212


Nesposobni su sposobni da onesposobe sposobne


View Profile WWW
« on: 16.05.2008; 19:40:04 PM »

Ovako, mislio sam da ubacim ocenjivanje sajtova u katalogu, evo kako sam ja to zamislio:

 Sto se tice baze, tamo se nalazi sledece: ocn (ocena), ukp (ukupno) i posl (ip glasaca).

 Da ne pisem celu skriptu, kako ide upit i bla bla bla nego da predem na glavno.

Evo i skripte:
Code:
$ip = getenv('REMOTE_ADDR');
if ("$ip"=="$posl")
{
echo'Zao nam je, ali ste vec glasali.';
}
//
else if ($glas>='0' and $glas<='5' and "$ip"!="$posl")
{
$ukupno = $ukp*$ocn+$glas;
$aver = $ukupno / ($ukp+1);
$aver=round($aver, 1);
$ukp = $ukp+1;

 E sada nastaje problem, u bazi upisuje samo novi rejting, a nece da racuna.  ???
« Last Edit: 24.05.2008; 03:14:05 AM by M@jk! » Logged

www.shumers.net ~ Shumadijski Portal
www.1-1-razmena.shumers.net ~ Sistem za razmenu banera
www.katalog-sajtova.shumers.net ~ Katalog Linkova
www.ts.shumers.net ~ Sumadia Tuning-Styling
www.shumers.net/pc-trikovi-i-saveti.php
Tomislav
MODERATOR
Full Member
*
Offline Offline

Posts: 245



View Profile
« Reply #1 on: 16.05.2008; 19:55:37 PM »

Za početak probaj sredit ove navodnike što si nabacao svuda gdje im nije mjesto.

Drugo:
Ne znam zašto nitko ne koristi nikakav ID u bazi, samo bacate i upisujete, pa kasnije imate svakakvih problema.
Tablica bi trebala izgledat ovako:
id, ip, ocjena

id je id stranice koja se ocjenjuje, ip je IP glasača, ocjena je ocjena koju je glasač dao

Sad kad netko želi glasati uzmemo njegov IP, id stranice, i provjerimo jel je taj glasao:
Code:
<?php
$upit 
mysql_query("SELECT * FROM ocjene WHERE id=$id AND ip=$ip");
if(!
$upit)
onda se može glasat }
else
{ echo 
've&#263; si glasao'; }
?>


Kad netko odglasa, preusmjeriš ga na stranicu s kojom prihvatiš ocjenu, uzmeš njegov ip i id stranice za koju je glasao pa napraviš upis u bazu.
Sad, na brzinu sa MySQL-om izračunaš prosjek za tu stranicu ovako:
Code:
<?php
$upit 
mysql_query("SELECT COUNT(id) AS ukupno_ocjena, AVG(ocjena) AS prosjecna_ocjena FROM ocjene WHERE id=$id");

echo 
'Hvala na glasu!';
while(
$fetch mysql_fetch_array($upit))
{
echo 
'ukupno glasova: '.$fetch[ukupno_ocjena].'<br/>';
echo 
'prosje&#269;na ocjena: '.$fetch[prosjecna_ocjena].<br/>;
}
?>


Logged

M@jk!
<?php echo '
Full Member
***
Offline Offline

Posts: 212


Nesposobni su sposobni da onesposobe sposobne


View Profile WWW
« Reply #2 on: 17.05.2008; 02:34:33 AM »

Sada nastaje problem, nece da prekine, mogu da glasam koliko god hocu. Ne radi if.
Logged

www.shumers.net ~ Shumadijski Portal
www.1-1-razmena.shumers.net ~ Sistem za razmenu banera
www.katalog-sajtova.shumers.net ~ Katalog Linkova
www.ts.shumers.net ~ Sumadia Tuning-Styling
www.shumers.net/pc-trikovi-i-saveti.php
Tomislav
MODERATOR
Full Member
*
Offline Offline

Posts: 245



View Profile
« Reply #3 on: 17.05.2008; 18:16:02 PM »

Sada nastaje problem, nece da prekine, mogu da glasam koliko god hocu. Ne radi if.

If mora radit. Vjerojatno je nešto drugo.

Dakle da proširim kod:

Code:
<?php

$ip 
getenv('REMOTE_ADDR');
$id //id stranice za koju se glasa

if(!$_POST['submit])
{
   $upit = mysql_query("SELECT * FROM ocjene WHERE id=$id AND ip=$ip");
   if(!$upit)
   { 
          // prikaz forme za glasanje 
   }
   else
   { 
          echo '
vec si glasao'; 
   }
}
else
{
   $ocjena = $_POST['
ocjena'];
   mysql_query("INSERT INTO ocjene VALUES ($id, $ip, $ocjena);
   echo '
Zahvalujemo na glasanju!;
}
Logged

M@jk!
<?php echo '
Full Member
***
Offline Offline

Posts: 212


Nesposobni su sposobni da onesposobe sposobne


View Profile WWW
« Reply #4 on: 17.05.2008; 20:32:39 PM »

id i ip sam dodelio, ali on upisuje u bazu i ako je isti ip.

 Nece i nece
« Last Edit: 17.05.2008; 20:45:10 PM by M@jk! » Logged

www.shumers.net ~ Shumadijski Portal
www.1-1-razmena.shumers.net ~ Sistem za razmenu banera
www.katalog-sajtova.shumers.net ~ Katalog Linkova
www.ts.shumers.net ~ Sumadia Tuning-Styling
www.shumers.net/pc-trikovi-i-saveti.php
Tomislav
MODERATOR
Full Member
*
Offline Offline

Posts: 245



View Profile
« Reply #5 on: 17.05.2008; 20:49:09 PM »

stavi skriptu ili cijeli kod da vidim ...

Ovo bi MORALO pod svaku cijenu radit.
Logged

M@jk!
<?php echo '
Full Member
***
Offline Offline

Posts: 212


Nesposobni su sposobni da onesposobe sposobne


View Profile WWW
« Reply #6 on: 17.05.2008; 20:55:38 PM »

Code:
<?php
$idd 
je definisam jos gore
$ip 
getenv('REMOTE_ADDR');
$upit mysql_query("SELECT * FROM wm_gls WHERE id=$idd AND ip=$ip");
if(!
$upit)


echo 
"<form method='post' action='?voted=".$idd."'>
<input type='hidden' name='id' value='"
.$idd."'>

<select name='vote'>
    <option value='gl'>Glasaj</option>
    <option value='0'>0 </option>
    <option value='1'>1 </option>
    <option value='2'>2 </option>
    <option value='3'>3 </option>
    <option value='4'>4 </option>
    <option value='5'>5 </option>
</select>

<input type='submit' name='submit' value=' Glasaj '>
</form>"
;
 }
else


echo
'glasao si';

}
?>


A sada za upis:

Code:
<?php
$id 
$_POST['id'];
$ocena $_POST['vote'];
$ip getenv('REMOTE_ADDR');

if(!
$_POST['submit'])
 { 
 echo
'=-----=';
 }
 else
 {
   
$upit mysql_query("SELECT * FROM wm_gls WHERE id=$id AND ip=$ip");
   if(!
$upit)
   { 
$add="INSERT INTO wm_gls (id, ip, ocena) values ('$id', '$ip', '$ocena')";
        
mysql_query($add) or die("Nemogu da upisem");


echo 
'<center><h2>Vas glas je upisan. Hvala</h2>
<br /><a href="idi nazad"><< Nazad]</a></center>'
;
   }
   else
   { 
   echo 
'Ve&#263; ste glasali'
   }
 }



?>


 Kao sto si ti napisao.
Logged

www.shumers.net ~ Shumadijski Portal
www.1-1-razmena.shumers.net ~ Sistem za razmenu banera
www.katalog-sajtova.shumers.net ~ Katalog Linkova
www.ts.shumers.net ~ Sumadia Tuning-Styling
www.shumers.net/pc-trikovi-i-saveti.php
M@jk!
<?php echo '
Full Member
***
Offline Offline

Posts: 212


Nesposobni su sposobni da onesposobe sposobne


View Profile WWW
« Reply #7 on: 24.05.2008; 03:13:25 AM »

Uslov if(!$upit) je uvek tacan.

 Problem je resen proverom mysql_num_rows, odnosno brojanjem redova.
Logged

www.shumers.net ~ Shumadijski Portal
www.1-1-razmena.shumers.net ~ Sistem za razmenu banera
www.katalog-sajtova.shumers.net ~ Katalog Linkova
www.ts.shumers.net ~ Sumadia Tuning-Styling
www.shumers.net/pc-trikovi-i-saveti.php
Pages: [1]   Go Up
Print
Jump to: