2013-04-29 3 views
1

у меня есть таблица под названием Categoria с 10 строками:Изменение содержания категорий страниц

(idcateg, descri) VALUES 
(1, 'Action'), 
(2, 'Classic'), 
(3, 'Fight'), 
(4, 'Others'), 
(5, 'Puzzles'), 
(6, 'Racing'), 
(7, 'Shooting'), 
(8, 'Sports'), 
(9, 'Tower Defense'), 
(10, 'Zombie'); 

и все это, связанный с названием страницы link_categoria.php

<a href="link_categoria.php?cat=1">Action</a> 
<a href="link_categoria.php?cat=2">Classic</a> 
<a href="link_categoria.php?cat=3">Fight</a> 
<a href="link_categoria.php?cat=4">Others</a> 
... 

То, что я хочу знать, как этот сайт: http://www.gameonline.org Я хочу изменить информацию о каждой странице, когда я нажимаю на категории. Как мне это сделать?

Благодаря

mysql_select_db($database_gameconnection, $gameconnection); 
$query_Recordset1 = "SELECT * FROM categoria ORDER BY categoria.descri"; 
$Recordset1 = mysql_query($query_Recordset1, $gameconnection) or die(mysql_error()); 
$row_Recordset1 = mysql_fetch_assoc($Recordset1); 
$totalRows_Recordset1 = mysql_num_rows($Recordset1); 

while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)) 
{ 
echo '<a href="link_categoria.php?cat='. 
    $row_Recordset1['idcateg'] .'">'. 
    $row_Recordset1['descri']. '</a><br>'; 
} 

ответ

0

На link_categoria.php вы можете получить категорию с помощью $_GET['cat']

// Check if $_GET['cat'] is set [ie. ?cat=##] and is numeric 
if(isset($_GET['cat']) && is_numeric($_GET['cat'])){ 

    // Get categoria and escape it before using in the query 
    $cat = mysql_real_escape_string($_GET['cat']); 

    // Query to get categoria title 
    $sql_categoria = "SELECT * FROM categoria WHERE idcateg = $cat"; 
    $query_categoria = mysql_query($sql_categoria, $gameconnection) or die(mysql_error()); 
    $categoria = mysql_fetch_assoc($query_categoria); 

    // Echo the categoria title 
    echo '<h1>'.$categoria['descri']. '</h1>'; 

} // ends if(isset($_GET['cat']) && is_numeric($_GET['cat'])) 

Предполагая, что у вас есть таблица игр, которые перечислены на CATEGORIA

gameid | idcateg | game 
    1   3  game1 
    2   5  game2 
.... 

вы можете сделать аналогичный запрос, чтобы получить список игр в что Categoria

// Check if $_GET['cat'] is set [ie. ?cat=##] and is numeric 
if(isset($_GET['cat']) && is_numeric($_GET['cat'])){ 

    // Get categoria and escape it before using in the query 
    $cat = mysql_real_escape_string($_GET['cat']); 

    $query_Recordset1 = "SELECT * FROM games WHERE idcateg = $cat"; 
    $Recordset1 = mysql_query($query_Recordset1, $gameconnection) or die(mysql_error()); 
    $totalRows_Recordset1 = mysql_num_rows($Recordset1); 

    while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)) 
    { 
    echo '<a href="game.php?gameid='. 
    $row_Recordset1['gameid'] .'">'. 
    $row_Recordset1['game']. '</a><br>'; 
    } 
} 

Обратите внимание, из документации - расширение mysql_* является устаревшим PHP 5.5.0, и будут удалены в будущем. Вместо этого следует использовать расширение MySQLi или PDO_MySQL. См. Также MySQL: choosing an API руководство и related FAQ для получения дополнительной информации.

+0

Отлично, но почему я получаю эту ошибку? Примечание. Неопределенный индекс: cat в C: \ xampp \ htdocs \ link_categoria.php в строке 186 У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с '' в строке 1

+0

'Undefined index: cat' произойдет, когда вы находитесь на' link_categoria.php', так как он ищет 'link_categoria.php? Cat = #'. Это можно решить, добавив проверку, чтобы проверить, установлен ли '$ _GET ['cat']' & numeric 'if (isset ($ _ GET ['cat']) && is_numeric ($ _ GET ['cat'])) { ...} '. Я добавил его к своему ответу. – Sean

+0

Шон, большое спасибо, я ценю вашу помощь –

Смежные вопросы