lglgl
Active Member
Моля сериозно,ако няма да помагате, не пишете.
Здравейте! Имам нужда от малко помощ, сам не мога да се справя.
Имам пхп код за Топ снимки, което се избират от MyphpAdmin(в таблицата photos във структура Cool обозначавам от NO на Yes)
Искам от същи пхп код да направя рейтинг страница да се показва кой има най-много гласове.
ето кода.
Както видждаате данните идват от photos таблица, където снимка трябва да е COOL - YES
как да направя че от база данни да показва профили с най много гласове?
ето и таблциа за гласове
Votes
Структура
Id, user1(от кого) user2(към кого) wht(в този случай имам само положителен глас - plus)
ако,някой иска да ми помогне, ще му пратя файл.
Здравейте! Имам нужда от малко помощ, сам не мога да се справя.
Имам пхп код за Топ снимки, което се избират от MyphpAdmin(в таблицата photos във структура Cool обозначавам от NO на Yes)
Искам от същи пхп код да направя рейтинг страница да се показва кой има най-много гласове.
ето кода.
Код:
<?php
$thispage = $PHP_SELF;
$showeachside = 5; // Колко страници да се показват отляво и отдясно на текущата страница
// Колко реда на страница
$rowsPerPage = 12;
// Подразбираме показване на първа страница
$pageNum = 1;
// ако $_GET['page'] е дифинирано използваме тази страница
if(isset($_GET['page']))
{
$pageNum = htmlspecialchars($_GET['page']);
}
if(!preg_match("/^(?i)[0-9_]*$/", $_GET['page'])) { $pageNum = '1'; }
if($_GET['page'] == NULL) { $pageNum = '1'; }
// пресмятаме отместването
$offset = ($pageNum - 1) * $rowsPerPage;
// тук трябва да напишеш своята заявка
$result = mysql_query("SELECT * FROM photos WHERE active='yes' and cool='no' ORDER BY id DESC LIMIT $offset, $rowsPerPage");
if(mysql_num_rows($result)>0)
{
while($rr = mysql_fetch_assoc($result))
{ ?>
<div class="hotPicture">
<a href="user.php?p=photo&id=<? echo $rr['id']; ?>"><img src="<? echo 'resize.php?img='.$rr['pic_big'].'&w=700&h=700'; ?>" width="205" height="205" class="<? if($row['pol'] == "boy") { echo 'm_sex'; } else { echo 'f_sex'; } ?>"></a> </div>
<? $ss = mysql_query("SELECT * FROM users WHERE username = '".$rr['user']."' LIMIT 1");if(mysql_num_rows($ss)>0) {while($r = mysql_fetch_array($ss)){if($r['osnovna'] == NULL) { $photobg = 'images/noimage.jpg'; } else { $photobg = $r['osnovna']; }?>
<?} }
}
}
else
{
echo 'Няма качени снимки';
}
// колко реда общо имаме ?
$query1 = "SELECT COUNT(id) AS numrows FROM photos WHERE cool='no'";
$result = mysql_query($query1) or die('Error, query failed');
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$num = $row['numrows']; // броя на редовете
$start = ($pageNum -1) * $rowsPerPage;
if(empty($start))$start=0; // текуща стартова позиция
$max_pages = ceil($num/$rowsPerPage); // брой на страниците
$cur = ceil($start/$rowsPerPage)+1; // текуща страница
?>
<?php
if(($start-$rowsPerPage) >= 0)
{
$next = $cur - 1;
?>
<a class="page" href="<?php print("$thispage?page=1");?>">Първа</a>
<a class="page" href="<?php print("$thispage".($next>0?("?page=").$next:""));?>">Назад</a>
<?php
}
?>
<?php
$eitherside = ($showeachside * $rowsPerPage);
if($start+1 > $eitherside)print (" .... ");
$pg=1;
for($y=0;$y<$num;$y+=$rowsPerPage)
{
$class=(($y==$start)?"active":"")."page";
if(($y > ($start - $eitherside)) && ($y < ($start + $eitherside)))
{
if ($y <> $start) {
?>
<a class="<?php print($class);?>" href="<?php print("$thispage"."?page=".(($y/$rowsPerPage)+1));?>"><?php print($pg);?></a>
<?php
} else {
?>
<a class="<?php print($class);?>"><?php print($pg);?></a>
<?php
}
}
$pg++;
}
if(($start+$eitherside)<$num)print (" .... ");
?>
<?php
if (($start+$rowsPerPage) < $num)
{
$next = $cur + 1;
?>
<a class="page" href="<?php print("$thispage?page=".$next);?>">Напред</a>
<a class="page" href="<?php print("$thispage?page=$max_pages");?>">Последна</a>
<?php
}
?>
как да направя че от база данни да показва профили с най много гласове?
ето и таблциа за гласове
Votes
Структура
Id, user1(от кого) user2(към кого) wht(в този случай имам само положителен глас - plus)
ако,някой иска да ми помогне, ще му пратя файл.