Здравейте имам 2 таблици със полета :
obiavi
- id [ пореден номер за обявите ]
- grad [ съдържа gid от gradove ]
- status [ако е 0 е неодобрена , ако е 1 е одобрена ]
gradove
- gid [ пореден номер на града ]
- ggrad [ име на града ]
Примерен записи от obiavi :
ID grad STATUS
1 3 1
2 2 1
3 1 0
Искам да напиша следната заявка със странициране на резултатите:
Да взима всичко от обяви , за които град = $_GET['gid'] and status='1' (т.е. одобрените ]
Eто какво написах аз , но когато изкарва страниците ми брои всички id-та и не се съобразява с параметъра WHERE obiavi.status = '1' ... :
Визуализация с проблема :
obiavi
- id [ пореден номер за обявите ]
- grad [ съдържа gid от gradove ]
- status [ако е 0 е неодобрена , ако е 1 е одобрена ]
gradove
- gid [ пореден номер на града ]
- ggrad [ име на града ]
Примерен записи от obiavi :
ID grad STATUS
1 3 1
2 2 1
3 1 0
Искам да напиша следната заявка със странициране на резултатите:
Да взима всичко от обяви , за които град = $_GET['gid'] and status='1' (т.е. одобрените ]
Eто какво написах аз , но когато изкарва страниците ми брои всички id-та и не се съобразява с параметъра WHERE obiavi.status = '1' ... :
PHP:
<?
include ('conf.php');
$getid = (int)$_GET['gid'];
if(!$getid){
header('Location: all.php');
} else {
$broinastranica = 4;
$pageNum = 1;
if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}
$redove = ($pageNum - 1) * $broinastranica;
$querya = ("SELECT obiavi.*, gradove.gid AS gids, gradove.ggrad AS town_name FROM gradove RIGHT JOIN obiavi ON gradove.gid =
obiavi.grad WHERE gid = '$getid' AND obiavi.status = '1' LIMIT $redove, $broinastranica") or die (mysql_error());
$result = mysql_query($querya) or die('Error, query failed');
while($row = mysql_fetch_array($result))
{
echo "
обяви за град: $row[town_name] <br /><a href=\"vij_o.php?id=$row[id]\">$row[ime]</a> <br />
<p><img src=\"$row[snimka]\" id=\"snimka-snimka\" align=\"left\" border=\"0px\" width=\"80px\" height=\"80px\" /> $row[text] </p> <br />
Автор: $row[awtor] <br /> <br />
</p>
<br />";
}
$query = "SELECT COUNT(id) AS sta FROM obiavi WHERE obiavi.status = '1'";
$result = mysql_query($query) or die('Error, query failed');
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$sta = $row['sta'];
$maxPage = ceil($sta/$broinastranica);
$self = $_SERVER['PHP_SELF'];
$nomeranastranici = '';
for($page = 1; $page <= $maxPage; $page++)
{
if ($page == $pageNum)
{
$nomeranastranici .= " $page ";
}
else
{
$nomeranastranici .= " <a href=\"$self?page=$page\">$page</a> ";
}
}
if ($pageNum > 1)
{
$page = $pageNum - 1;
$predishna = " <a href=\"$self?page=$page\"> [предишна] </a> ";
$parva = " <a href=\"$self?page=1\">[първа]</a> ";
}
else
{
$predishna = ' ';
$parva = ' ';
}
if ($pageNum < $maxPage)
{
$page = $pageNum + 1;
$sledvashta = " <a href=\"$self?page=$page\"> [следваща] </a> ";
$posledna = " <a href=\"$self?page=$maxPage\">[последна]</a> ";
}
else
{
$sledvashta = ' ';
$posledna = ' ';
}
echo $parva . $predishna . $nomeranastranici . $sledvashta . $posledna;
}
?>
Визуализация с проблема :