Проблем с cat.php

DangerM

Registered
Имам проблем с фаила cat.php когато отворя песен и дам на категорията не отваря други песни от същата категория. ето cat.php
Код:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=cp1251" />
</head>
<style>
.lqlq:hover
{
filter: alpha(opacity=65);
-moz-opacity: 1.65;
opacity: 0.60;
border: 2px solid white ;
}
</style>  
<?
if(!$_GET[kategoria]){echo"Не си избрал/а категория";}else{
include"settings.php";
$pp = "5";
//клипчета на страница
$table = "songs";

$total = mysql_result(mysql_query("SELECT COUNT(id) FROM $table where kategoria='$_GET[kategoria]' "),0);
$numofpages = $total / $pp;
if (!isset($_GET['page'])) {
$page = 1;
}
else {
$page = $_GET['page'];
}
$limitvalue = $page * $pp - ($pp);


echo'<table align="left" border="0">';

$i="0";
$nared="6";
$query="SELECT * FROM $table where kategoria='$_GET[kategoria]' ORDER BY id";
$result=mysql_query($query);
while ( $r = mysql_fetch_array( $result )){
$i++;
$width=ceil(100/$nared);
$id = $_GET['id']; 
$sql = mysql_query("SELECT * FROM `songs` WHERE `id`='$id'"); 
$row = mysql_fetch_array($sql); 
$view = $row['views'];
$downs = $row['downs'];
$kat=$row[kategoria];

    if (strlen($ime) > 20)
    {
        $t = '...';
    }
    $ime = substr($ime, 0, 20);
    if ($pic != null)
    {
$kolko_pesni = 30; // колко последни песни да показва
$query = mysql_query("SELECT * FROM songs ORDER BY id DESC LIMIT $kolko_pesni");
echo "<b><font color='white' size='3'></font></b><br/>";
while ($row = mysql_fetch_array($query))
{
echo '<img src="images/lastmp3.png"><a href="play.php?m=play&id='.$row['id'].'"><font size="2"> '.$row['name'].'</font></a><br/>';

}

    }
    if ($i > 4)
    {
        echo "</tr><tr>";
        $i = "1";
    }
}
echo"</table>";
}
?>


Може ли да ми кажете каде бъркам по същия начин направих клиповете но там работи.
благодаря предварително +1
 
Код:
CREATE TABLE IF NOT EXISTS `songs` (
  `id` int(4) NOT NULL auto_increment,
  `name` text NOT NULL,
  `author` varchar(255) NOT NULL,
  `link` text NOT NULL,
  `views` int(10) unsigned NOT NULL,
  `kategoria` varchar(255) character set cp1251 collate cp1251_bulgarian_ci NOT NULL,
  `downs` int(10) unsigned NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=2285 ;
 
Винаги 1 и също id ли дава?

Код:
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=cp1251" /> 
</head> 
<style> 
.lqlq:hover 
{ 
filter: alpha(opacity=65); 
-moz-opacity: 1.65; 
opacity: 0.60; 
border: 2px solid white ; 
} 
</style>  
<?
if (!$_GET[kategoria])
{
    echo "Не си избрал/а категория";
}
else
{
	echo $_GET['kategoria'];
    include "settings.php";
    $pp = "5";
    //клипчета на страница
    $table = "songs";

    $total = mysql_result(mysql_query("SELECT COUNT(id) FROM $table where kategoria='$_GET[kategoria]' "),
        0);
    $numofpages = $total / $pp;
    if (!isset($_GET['page']))
    {
        $page = 1;
    }
    else
    {
        $page = $_GET['page'];
    }
    $limitvalue = $page * $pp - ($pp);


    echo '<table align="left" border="0">';

    $i = "0";
    $nared = "6";
    $query = "SELECT * FROM $table where kategoria='$_GET[kategoria]' ORDER BY id";
    $result = mysql_query($query);
    while ($r = mysql_fetch_array($result))
    {
        $i++;
        $width = ceil(100 / $nared);
        $id = $_GET['id'];
        $sql = mysql_query("SELECT * FROM `songs` WHERE `id`='$id'");
        $row = mysql_fetch_array($sql);
        $view = $row['views'];
        $downs = $row['downs'];
        $kat = $row[kategoria];

        if (strlen($ime) > 20)
        {
            $t = '...';
        }
        $ime = substr($ime, 0, 20);
        if ($pic != null)
        {
            $kolko_pesni = 30; // колко последни песни да показва
            $query = mysql_query("SELECT * FROM songs ORDER BY id DESC LIMIT $kolko_pesni");
            echo "<b><font color='white' size='3'></font></b><br/>";
            while ($row = mysql_fetch_array($query))
            {
                echo '<img src="images/lastmp3.png"><a href="play.php?m=play&id=' . $row['id'] .
                    '"><font size="2"> ' . $row['name'] . '</font></a><br/>';

            }

        }
        if ($i > 4)
        {
            echo "</tr><tr>";
            $i = "1";
        }
    }
    echo "</table>";
}
?>
Това трябва да изкара kategoria-та. Виж дали се променя.
 
Значи проблема е от друг файл, в който се дава погрешен линк. Дай него.

Като промениш ръчно адреса отгоре оправя ли се?
 
Какъв е линка горе? kategoria=1 примерно промени го на 2-3-4 и виж дали ще се промени нещо. Дай и другия файл.
 
Код:
<? 
if (eregi("modules/songs/play.php", $_SERVER['SCRIPT_NAME'])) { die ("Access Denied"); }
?>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<b>
<style type="text/css">
.borderc2 {
border: 1px #CCCCCC solid;
}

.borderc2 h1 {
font-size: 12px;
font-weight: bold;
margin: 0;
}

.borderc2 a {
color: #0099FF;
font-weight: bold;
}

.borderc2 a:hover {
color: #FF0030;
font-weight: bold;
}
</style>
<?php 
include("settings.php");
$id = $_GET['id']; 
$sql = mysql_query("SELECT * FROM `songs` WHERE `id`='$id'"); 
$row = mysql_fetch_array($sql); 
$view = $row['views'];
$downs = $row['downs'];
$kat=$row[kategoria];
?> 
<?
$newdown = $view + 1;
$sql3 = "UPDATE songs SET views='$newdown' where id='$id'";
$ress = mysql_query($sql3);
?>
<table width="100%" border="0" cellpadding="2" cellspacing="2">
  <tbody><tr>
    <td colspan="3" class="borderc2">
	<center><h1><? echo $row['name']; ?>.mp3<br/></h1></td></center>
  </tr>
  <tr>
    <td class="borderc2" width="15%">
	</td>
    <td class="borderc2" width="60%" align="left">

</td>

  <tr>
    <td class="borderc2">
	Свалена:
	</td>
    <td class="borderc2" align="left">
	<b><? echo $downs = $row['downs']; ?> Пъти</b>	</td>
  </tr>
  <tr>
    <td class="borderc2">
	Прегледана:
	</td>
    <td class="borderc2" align="left">
    <font color="red"><? echo $newdown; ?> път(и)<br/></font>
  </tr>
  <tr>
    <td class="borderc2">
	Адрес:
	</td>
    <td class="borderc2" align="left">
	<div class="playads">
	<a href="#">Адрес</a>
	</div>
	</td>
  </tr>
  <tr>
    <td class="borderc2">
	Добавил:
	</td>
    <td class="borderc2" align="left">
	<b><a href="my.php?m=profile&username=<?php echo $row['author']; ?>"><?php echo $row['author']; ?><i><? echo $row['date']; ?></i>	</td>
  </tr>

  <tr>
    <td class="borderc2">
	Категория:
	</td>
    <td class="borderc2" align="left">
<font color='black' size='1'>
<b><?PHP if($kat=="$kategoria"){echo"Няма категория";}else{ echo"<font color='black' size='2'> <a href=\"cat2.php?kategoria=$kat\"><b>$kat</a>";} ?></font>
  </tr>



  <tr>
    <td class="borderc2" align="center">
	</object><br><br><a href="<?php echo $row['link']; ?>"><img src="images/download.gif" border="0"></a></font>
	</td>
    <td class="borderc2" align="center">
<object type="application/x-shockwave-flash" data="modules/player.swf?mp3=<?php echo $row['link']; ?>" width="200" height="20"> 
<param name="movie" value="modules/player.swf?mp3=<? echo $row['link']; ?>">  
</object>
	</td>
    <td class="borderc2" align="center">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Система за гласуване</title>
<?php $id = (is_numeric($_GET['id']) && $_GET['id'] > 0) ? $_GET['id'] : 0; ?>
<script type="text/javascript" src="vote.js"></script>
<script language="JavaScript">
function movepic(img_name,img_src) {
document[img_name].src=img_src;
}
</script>
</head>
<?php
require "connect.php";
$row = mysql_fetch_array(mysql_query("SELECT `yes`,`no` FROM `votes` WHERE `id` = '$id'"));
					$yess = (empty($row['yes'])) ? 0 : $row['yes'];
					$noo = (empty($row['no'])) ? 0 : $row['no'];
					$timestamp_vote = (is_numeric(TIMESTAMP_VOTE) && TIMESTAMP_VOTE > 0) ? time() - (TIMESTAMP_VOTE * 3600) : 0;
					$query = mysql_query("SELECT `vote` FROM `ips` WHERE `id` = '$id' AND `ip` = '".$_SERVER['REMOTE_ADDR']."' AND `timestamp` > '$timestamp_vote' LIMIT 1");
					$vote_ip = mysql_fetch_object($query);
					$vote_yes = (($vote_ip -> vote) == 1) ? "vote_up" : "vote_up2";
					$vote_no = (($vote_ip -> vote) == -1) ? "vote_down" : "vote_down2";
					?> 
					<span style='color:red;'><strong>Кефи ли та?!</strong></span> <br>
					<div id="txtHint"><?php if (!mysql_num_rows($query)) { ?><a href="javascript:void(null)" onclick="showHint('1','<?=$id?>')" onmouseover="movepic('pic1','vote_up.gif');" 
					onmouseout="movepic('pic1','vote_up2.gif');"><? } ?><img name="pic1" src="<?=$vote_yes?>.gif" border="0"><?php if (!mysql_num_rows($query)) { ?></a><? } ?> <b><?=$yess?></b> 
					<?php if (!mysql_num_rows($query)) { ?><a href="javascript:void(null)" onclick="showHint('-1','<?=$id?>')" onmouseover="movepic('pic2','vote_down.gif');" 
					onmouseout="movepic('pic2','vote_down2.gif');"><? } ?><img name="pic2" src="<?=$vote_no?>.gif" border="0"><?php if (!mysql_num_rows($query)) { ?></a><? } ?> <b><?=$noo?></b></div>



</body>
</html>
	</td>
  </tr>
</tbody></table>
</b>
<html>



<center>


<center>

<br>



<? include ("comments.php");?>



това е файла в който изкарва каква е категорията
 
Код:
<?php 
include("settings.php"); 
$id = $_GET['id']; 
$sql = mysql_query("SELECT * FROM `songs` WHERE `id`='$id'"); 
$row = mysql_fetch_array($sql); 
$view = $row['views']; 
$downs = $row['downs']; 
$kat=$row[kategoria]; 
echo $kat; 
?>
Да видим каква категория ще изкара.
 
изкарва категорията на линка но мисля че проблема е в cat.php при кода да показва песните
 
Много се обърках. Значи в кода, който си дал в първия пост трябва да взима категорията чрез линк-а и да изкарва всички песни от тази категория?


Код:
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=cp1251" /> 
</head> 
<style> 
.lqlq:hover 
{ 
filter: alpha(opacity=65); 
-moz-opacity: 1.65; 
opacity: 0.60; 
border: 2px solid white ; 
} 
</style>  
<?
if (!$_GET[kategoria])
{
    echo "Не си избрал/а категория";
}
else
{
    include "settings.php";
    $pp = "5";
    //клипчета на страница
    $table = "songs";

    $total = mysql_result(mysql_query("SELECT COUNT(id) FROM $table where kategoria='".$_GET['kategoria']."' "),
        0);
    $numofpages = $total / $pp;
    if (!isset($_GET['page']))
    {
        $page = 1;
    }
    else
    {
        $page = $_GET['page'];
    }
    $limitvalue = $page * $pp - ($pp);


    echo '<table align="left" border="0">';

    $i = "0";
    $nared = "6";
    $query = "SELECT * FROM $table where kategoria='".$_GET['kategoria']."' ORDER BY id";
    $result = mysql_query($query);
    while ($r = mysql_fetch_array($result))
    {
        $i++;
        $width = ceil(100 / $nared);
        $id = $_GET['id'];
        $sql = mysql_query("SELECT * FROM `songs` WHERE `id`='$id'");
        $row = mysql_fetch_array($sql);
        $view = $row['views'];
        $downs = $row['downs'];
        $kat = $row[kategoria];

        if (strlen($ime) > 20)
        {
            $t = '...';
        }
        $ime = substr($ime, 0, 20);
        if ($pic != null)
        {
            $kolko_pesni = 30; // колко последни песни да показва
            $query = mysql_query("SELECT * FROM songs ORDER BY id DESC LIMIT $kolko_pesni");
            echo "<b><font color='white' size='3'></font></b><br/>";
            while ($row = mysql_fetch_array($query))
            {
                echo '<img src="images/lastmp3.png"><a href="play.php?m=play&id=' . $row['id'] .
                    '"><font size="2"> ' . $row['name'] . '</font></a><br/>';

            }

        }
        if ($i > 4)
        {
            echo "</tr><tr>";
            $i = "1";
        }
    }
    echo "</table>";
}
?>
 
Много се обърках. Значи в кода, който си дал в първия пост трябва да взима категорията чрез линк-а и да изкарва всички песни от тази категория?


Код:
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=cp1251" /> 
</head> 
<style> 
.lqlq:hover 
{ 
filter: alpha(opacity=65); 
-moz-opacity: 1.65; 
opacity: 0.60; 
border: 2px solid white ; 
} 
</style>  
<?
if (!$_GET[kategoria])
{
    echo "Не си избрал/а категория";
}
else
{
    include "settings.php";
    $pp = "5";
    //клипчета на страница
    $table = "songs";

    $total = mysql_result(mysql_query("SELECT COUNT(id) FROM $table where kategoria='".$_GET['kategoria']."' "),
        0);
    $numofpages = $total / $pp;
    if (!isset($_GET['page']))
    {
        $page = 1;
    }
    else
    {
        $page = $_GET['page'];
    }
    $limitvalue = $page * $pp - ($pp);


    echo '<table align="left" border="0">';

    $i = "0";
    $nared = "6";
    $query = "SELECT * FROM $table where kategoria='".$_GET['kategoria']."' ORDER BY id";
    $result = mysql_query($query);
    while ($r = mysql_fetch_array($result))
    {
        $i++;
        $width = ceil(100 / $nared);
        $id = $_GET['id'];
        $sql = mysql_query("SELECT * FROM `songs` WHERE `id`='$id'");
        $row = mysql_fetch_array($sql);
        $view = $row['views'];
        $downs = $row['downs'];
        $kat = $row[kategoria];

        if (strlen($ime) > 20)
        {
            $t = '...';
        }
        $ime = substr($ime, 0, 20);
        if ($pic != null)
        {
            $kolko_pesni = 30; // колко последни песни да показва
            $query = mysql_query("SELECT * FROM songs ORDER BY id DESC LIMIT $kolko_pesni");
            echo "<b><font color='white' size='3'></font></b><br/>";
            while ($row = mysql_fetch_array($query))
            {
                echo '<img src="images/lastmp3.png"><a href="play.php?m=play&id=' . $row['id'] .
                    '"><font size="2"> ' . $row['name'] . '</font></a><br/>';

            }

        }
        if ($i > 4)
        {
            echo "</tr><tr>";
            $i = "1";
        }
    }
    echo "</table>";
}
?>
 
Код:
        $kolko_pesni = 30; // колко последни песни да показва
            $query = mysql_query("SELECT * FROM songs ORDER BY id DESC LIMIT $kolko_pesni");
            echo "<b><font color='white' size='3'></font></b><br/>";
            while ($row = mysql_fetch_array($query))
            {
                echo '<img src="images/lastmp3.png"><a href="play.php?m=play&id=' . $row['id'] .
                    '"><font size="2"> ' . $row['name'] . '</font></a><br/>';
мисля че в този код е проблема неможе да изкара песните от една исъща категория
 
линка който ще те праща в категорите е

Код:
<?PHP 
$kat= $row['kategoria'];
if($kat==""){
echo"Няма категория";
}
else
{ 
echo"<a href=\"index.php?m=play&ext=cat&kategoria=$kat\"><b>$kat</a>";} ?>


това ще ти изкарва категорите

Код:
<?
if(!$_GET[kategoria]){echo"Не си избрал/а категория";}else{
include"settings.php";
$table = "songs";

$broinastranica = "20";

$total = mysql_result(mysql_query("SELECT COUNT(id) FROM $table where kategoria='$_GET[kategoria]' "),0);

$pageNum = "1";

// ако има получени данни $_GET['page'] ще покаже страницата с номер $_GET['page']

if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}

//тука определяме кои редове ще се показват - примерно ако $_GET['page']=2
// ще покаже от 20 до 40-ти ред.
$redove = ($pageNum - 1) * $broinastranica;
//заявката ще върне само посочените редове - примерно от 20 до 40 в зависимост от $_GET['page']
$id = $_GET['id'];

$i="0";
$nared="5";
$query="SELECT * FROM $table where kategoria='$_GET[kategoria]' ORDER BY id LIMIT $redove, $broinastranica";
$result=mysql_query($query);
echo"<table align=\"center\" border=\"0\">";

while ( $r = mysql_fetch_array( $result )){
$i++;
$width=ceil(100/$nared);
$ime=$r[name];
$pic=$r[pick];
$url=$r[link];
if (strlen($ime)>16)
{$t='...';}
$ime = substr($ime,0,16);
$kat = $r[cat];
echo"<td width=\"140\" align=\"center\" border=\"1\" background=\"images/b.gif\" class=\"input\">
<a href=\"index.php?m=view&id=$r[id]\" onmouseover=\"return overlib('$r[ime]')\" onmouseout=\"return nd();\"><img src=\"$pic\" border=\"0\" width=\"120\" height=\"90\"></div><br><b>$ime$t</a>";
if($kat==""){
echo"<br>Гледан : $klik пъти
<br>Свали : <a href=\"$url\">От Тук</a>
<br>Няма категория<br>";
}else{ echo"
<br>Гледан : $klik пъти
<br>Свали : <a href=\"$url\">От Тук</a>
<br>Категория : <a href=\"index.php?m=view&ext=cat&kategoria=$r[kategoria]\"><b>$kat</a><br>";}
if ($i==$nared)
{
echo "</tr>
<tr>";
$i=0;
}
}
echo"</table>";
}
$query = "SELECT COUNT(id) AS numrows FROM $table where kategoria='$_GET[kategoria]'";
$result = mysql_query($query) or die('Error, query failed');
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];

$maxPage = ceil($numrows/$broinastranica);

$self = $_SERVER['PHP_SELF'];
$nomeranastranici = '';

for($page = 1; $page <= $maxPage; $page++)
{
if ($page == $pageNum)
{
$nomeranastranici .= " $page ";
}
else
{
$nomeranastranici .= " <a href=\"index.php?m=view&ext=cat&kategoria=$kat&page=$page\">$page</a> ";
}
}



// създаване на ликовете [предишна] [следваща]
// както и линковете [първа] и [последна]


if ($pageNum > "1")
{
$page = $pageNum - "1";
$predishna = " <a href=\"index.php?m=view&ext=cat&kategoria=$kat&page=$page\"> ««« </a> ";

$parva = " <a href=\"index.php?m=view&ext=cat&kategoria=$kat&page=1\"></a> ";
}
else
{
$predishna = "  ";

$parva = "  ";
}




if ($pageNum < $maxPage)
{
$page = $pageNum + "1";
$sledvashta = " <a href=\"index.php?m=view&ext=cat&kategoria=$kat&page=$page\"> »»» </a> ";

$posledna = " <a href=\"index.php?m=view&ext=cat&kategoria=$kat&page=$maxPage\"></a> ";
}
else
{
$sledvashta = "  ";

$posledna = " ";
}

// показваме
echo '<br><br><br><b><center> '.$parva.' '.$predishna.' '.$nomeranastranici.' '.$sledvashta.' '.$posledna.' </center></b>';
print"<br />Страница<br />$pageNum  от общо $maxPage<br />";

?>

само вземи та си го оправи че е от моя сайт съм взел кодовете и наз дали ще проработи ако искаш махни и таблиците който ги редят на 5 по ред :)
и 20 на страница :?:
 

Back
Горе