Проблем с код за класация Топ 5 най сваляни

bankera1990

Registered
Имам проблем със следния код
Код:
<?
$query246 = "SELECT * FROM clips WHERE order by downs DESC LIMIT 5";
$result4 = mysql_query($query246);
$i=1;
while($rowclips = mysql_fetch_array($result4))
{
$ime = $rowclips['ime'];
?><table><tr width="100%" class="success"><td><img src="images/top_<? echo $i;?>.png"></td><td width="100%">
<h5><a href="clips-view-<? echo $rowclips['id']; ?>.html" title="<? echo $ime;?>">
<?
if (strlen($ime) > 23) {
$ime = substr($ime, 0, 23).'...'; 
}
echo $ime;
?></a></h5></td></tr></table>
<?
$i++;
}
?>
та исках да го направя с изображения от 1 до 5 но ми показва файловете само до 5 свалени не ми отброява над 5 свалени
пр. имам в таблицата clips с 20 записа като някой са сваляни 5 пъти а др. 20 пъти като кода ми изкарва само записите с 5 свалени
 
bankera1990 каза:
Имам проблем със следния код
Код:
<?
$query246 = "SELECT * FROM clips order by downs DESC LIMIT 5";
$result4 = mysql_query($query246);
$i=1;
while($rowclips = mysql_fetch_array($result4))
{
$ime = $rowclips['ime'];
?><table><tr width="100%" class="success"><td><img src="images/top_<? echo $i;?>.png"></td><td width="100%">
<h5><a href="clips-view-<? echo $rowclips['id']; ?>.html" title="<? echo $ime;?>">
<?
if (strlen($ime) > 23) {
$ime = substr($ime, 0, 23).'...'; 
}
echo $ime;
?>
та исках да го направя с изображения от 1 до 5 но ми показва файловете само до 5 свалени не ми отброява над 5 свалени
пр. имам в таблицата clips с 20 записа като някой са сваляни 5 пъти а др. 20 пъти като кода ми изкарва само записите с 5 свалени

не трябва ли тогава заявката да е с "WHERE downs=5" нещо такова ?
 
Знам ли за това питам че се оплетох здравата. Според мен проблема ми идва от това
$i=1;
и
$i++;
но де да знам. :?
 
bankera1990 каза:
Знам ли за това питам че се оплетох здравата. Според мен проблема ми идва от това
$i=1;
и
$i++;
но де да знам. :?
PHP:
<?
$query246 = "SELECT * FROM clips order by downs DESC LIMIT 5";
$result4 = mysql_query($query246);
$i=1;
while($rowclips = mysql_fetch_array($result4))
{
$ime = $rowclips['ime'];
?><table><tr width="100%" class="success"><td><img src="images/top_<? echo $i++;?>.png"></td><td width="100%">
<h5><a href="clips-view-<? echo $rowclips['id']; ?>.html" title="<? echo $ime;?>">
<?
if (strlen($ime) > 23) {
$ime = substr($ime, 0, 23).'...';
}
echo $ime;
?>
:?:
 
PHP:
<?
$query246 = "SELECT * FROM clips order by downs DESC LIMIT 5";
$result4 = mysql_query($query246);
$i=1;
while($rowclips = mysql_fetch_array($result4))
{
$ime = $rowclips['ime'];
?><table><tr width="100%" class="success"><td><img src="images/top_<? echo $i;?>.png"></td><td width="100%">
<h5><a href="clips-view-<? echo $rowclips['id']; ?>.html" title="<? echo $ime;?>">
<?
if (strlen($ime) > 23) {
$ime = substr($ime, 0, 23).'...';
}
echo $ime;
$i++;
?>
 
точно така го направих показва ми
на първо място песента която е теглена 5 пъти
и след това реди останалите по низходящ ред от 5 на долу :#
 
bankera1990 каза:
точно така го направих показва ми
на първо място песента която е теглена 5 пъти
и след това реди останалите по низходящ ред от 5 на долу :#
А без това $i смисъл ако изобщо премахниш всички свързано с $i, какъв ще е резултата?
 
сага ще пробвам и ще си edit-на мнението но
как се правят тези класаций
9c1c443c552dae3f.gif
 
select * from tablica orderby DOWNLOADED limit 0,5
echo" <img src='kartinka1">".$result[zaglavie]." "

---------------същия код----------------------------------- limit 1,5
echo" <img src='kartinka2">".$result[zaglavie]." "


-----------------същия код---------------------------------- limit 2,5
echo" <img src='kartinka3">".$result[zaglavie]." "


не мога да ти дам точен код но това е в общи линии заменяш заявката за да отговаря на твоите полета в таблицата и kartinka 1 слагаш примерно картинката [1] както си дал скрийншот после при следващата завка виж как лимитът става 1,5 тоест това е следващия файл по сваляне и слагаш картинка на която пише 2 и така до 5... най-елементарния начин но със повече заявки - 5 вместо 1 . :?:
 
Точно тази която искаш ти трябва 1 заявка, 1 цикъл и 1 таблица. :)
PHP:
$query = mysql_query("SELECT * FROM `table` ORDER BY `download` DESC LIMIT 5");
$i = 1;
while ($row = mysql_fetch_asssoc($query)) {
echo $i . ' - ' . $row['name'];
$i++;
}
:?:
 
Ev0luti0N каза:
Точно тази която искаш ти трябва 1 заявка, 1 цикъл и 1 таблица. :)
PHP:
$query = mysql_query("SELECT * FROM `table` ORDER BY `download` DESC LIMIT 5");
$i = 1;
while ($row = mysql_fetch_asssoc($query)) {
echo $i . ' - ' . $row['name'];
$i++;
}
:?:

мерси но пак е същото клиповете който са теглени над 5 не ми ги изкарва :#
 
bankera1990 каза:
Ev0luti0N каза:
Точно тази която искаш ти трябва 1 заявка, 1 цикъл и 1 таблица. :)
PHP:
$query = mysql_query("SELECT * FROM `table` ORDER BY `download` DESC LIMIT 5");
$i = 1;
while ($row = mysql_fetch_asssoc($query)) {
echo $i . ' - ' . $row['name'];
$i++;
}
:?:

мерси но пак е същото клиповете който са теглени над 5 не ми ги изкарва :#
Нещо друго не правиш както трябва.
Поне според мене това е правилният код който ти трябва. :idea:
 
Код:
Fatal error: Call to undefined function mysql_fetch_asssoc() in C://
 on line 418
грешка на
while ($row = mysql_fetch_asssoc($query))
 
bankera1990 каза:
Код:
Fatal error: Call to undefined function mysql_fetch_asssoc() in C://
 on line 418
грешка на
while ($row = mysql_fetch_asssoc($query))
PHP:
$query = mysql_query("SELECT * FROM `table` ORDER BY `download` DESC LIMIT 5");
$i = 1;
while ($row = mysql_fetch_assoc($query)) {
echo $i . ' - ' . $row['name'];
$i++;
 
добре де защо се получава така като имам клипове сваляни повече от 5 пъти а моя и сега и твоя php код вади на първо място песните който са сваляни до 5 и след това ги реди на долу
пр.
1. песента която има сваляния 5
2. песента която има сваляния под 5 тоест 4 или 3
а стараното е че тези който са сваляни над 5 се губят :#
:shock:
 
bankera1990 каза:
1. песента която има сваляния 5
2. песента която има сваляния под 5 тоест 4 или 3
а стараното е че тези който са сваляни над 5 се губят :#
:shock:
Пробвай моя пример който дадох и ако и там ти се появява така резултатите значи е проблема в друга част от кода или в самата дб и/или в имената на полетата може нещо да си се заблудил от толкова проби. :)
 

Back
Горе