Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: алфавитный указатель
 
 автор: вопрос_MYSQL   (13.10.2004 в 22:54)
 
 

Есть таблица с полем id_page и другими
поле id_page хранит a, b , c , d ...
Есть страница index.php = (index.php?id_page=a) страртовая
при заходе на нее отображалась на ней информация из таблицы где поле id_page =a
а при переходе по ссылке на страницу index.php?id_page=b отображалась на ней информация из таблицы где поле id_page =b

как такое реализуется подскажите пажалуйста.

   
 
 автор: cheops   (13.10.2004 в 23:02)   письмо автору
 
   для: вопрос_MYSQL   (13.10.2004 в 22:54)
 

Для этого на странице index.php следует выполнить и обработать запрос к таблице:
<?php
 $query 
"SELECT * FROM base WHERE id_page = '".$_GET['id_page']."'";
?>

   
 
 автор: вопрос_MYSQL   (13.10.2004 в 23:16)
 
   для: cheops   (13.10.2004 в 23:02)
 


<?php
$query 
mysql_query("SELECT * FROM base WHERE id_page ='  ".$_GET['id_page']." '  ";

);
?>

ругается на ; => parse error, unexpected ';' ошибки вроде нет ...

   
 
 автор: cheops   (13.10.2004 в 23:28)   письмо автору
 
   для: вопрос_MYSQL   (13.10.2004 в 23:16)
 

Ну... как же нет, когда действительно лишняя запятая, следует писать
<?php 
$query 
mysql_query("SELECT * FROM base WHERE id_page ='  ".$_GET['id_page']." '  "); 
?> 

   
 
 автор: вопрос_MYSQL   (14.10.2004 в 00:02)
 
   для: cheops   (13.10.2004 в 23:28)
 

$query = "SELECT * FROM pages WHERE id_page = '".$_GET['id_page']."'";
$query1 = mysql_query($query);
сделал так и все заработало (почти) :(
когда из таблицы берутся одни значения id_page=12 или id_page=13 то работает а когда id_page=10 не хочет хотя значение 10 в таблицы есть

   
 
 автор: cheops   (14.10.2004 в 00:17)   письмо автору
 
   для: вопрос_MYSQL   (14.10.2004 в 00:02)
 

Мы начинали с того, что id_page принимает в качестве значений литеры :))), а уже цифры...

PS Когда выбирается запись с первичным ключом 10 - база данных чего-нибудь сообщает или возвращает пустой запрос?

   
 
 автор: вопрос_MYSQL   (14.10.2004 в 00:43)
 
   для: cheops   (14.10.2004 в 00:17)
 

cheops ну вобще я делаю на цифрах но чтобы было легче объяснить привел вопрос на буквах :) вот и получилось
вобщем там у меня не id_page , а id_rubrika что не столь важно вот весь код:



<?php
$query 
"SELECT * FROM pages WHERE id_page = '".$_GET['id_rubrika']."'";
$query1 mysql_query($query);

?>
<table >
<table class="bodytable" border="1" cellpadding="2" cellspacing="0" bordercolordark="white" bordercolorlight="gray" align="center" width=80% >
<?php

echo"<tr><td class=headtable >id_page</td><td class=headtable>name</td><td class=headtable>id_rubrika</td><td class=headtable>rubrika</td></tr> ";
// Так как запрос возращает несколько строк, применяем цикл
 
while ($name mysql_fetch_array ($query1))
{
echo
"<tr><td>".$name['id_page']."</td><td>".$name['name']."</td><td>".$name['id_rubrika']."</td><td>".$name['rubrika']."</td></tr>";
}
else
{
echo 
"<p><b>Ошибка: ".mysql_error()."</b></p>" ;
exit();
}
?>
</table>


а вот как ругается
Parse error: parse error, unexpected T_ELSE in путь\rubrika.php on line 32
32 строка начинается
else
{
echo "<p><b>Ошибка: ".mysql_error()."</b></p>" ;
exit();
}
на определенное значение id_rubrika
Если одно значение то показывает таблицу другое тоже показывает третие не показывает и не ругается пятое тоже самое ...
???

   
 
 автор: вопрос_MYSQL   (14.10.2004 в 00:45)
 
   для: вопрос_MYSQL   (14.10.2004 в 00:43)
 

вверху ошибка

<?php
$query = "SELECT * FROM pages WHERE id_page = '".$_GET['id_rubrika']."'";
$query1 = mysql_query($query);

?>
=>
<?php
$query = "SELECT * FROM pages WHERE id_rubrika= '".$_GET['id_rubrika']."'";
$query1 = mysql_query($query);

?>

   
 
 автор: вопрос_MYSQL   (14.10.2004 в 00:58)
 
   для: вопрос_MYSQL   (14.10.2004 в 00:45)
 

что не чего не понимаю менял значения полей id_rubrika то работает то нет ...
уфф так вроде все работает но как то через одно место :(
13 в упор не хотело работать делаю значение 113 работает :) хотя значение 13 вобще не где не упоминается ... все это как то странно
вобщем : спасибо хеопс за помощь!

   
 
 автор: cheops   (14.10.2004 в 00:47)   письмо автору
 
   для: вопрос_MYSQL   (14.10.2004 в 00:43)
 

Здесь просто нет соответствия if оператору else. Наверное вы модифицировали скрипт и затёрли, попробуйте вот так:
<?php 
$query 
"SELECT * FROM pages WHERE id_page = '".$_GET['id_rubrika']."'"
$query1 mysql_query($query); 
if(
$query1)
{
?> 
<table > 
<table class="bodytable" border="1" cellpadding="2" cellspacing="0" bordercolordark="white" bordercolorlight="gray" align="center" width=80% > 
<?php 

echo"<tr><td class=headtable >id_page</td><td class=headtable>name</td><td class=headtable>id_rubrika</td><td class=headtable>rubrika</td></tr> "
// Так как запрос возращает несколько строк, применяем цикл 
while ($name mysql_fetch_array ($query1)) 

echo
"<tr><td>".$name['id_page']."</td><td>".$name['name']."</td><td>".$name['id_rubrika']."</td><td>".$name['rubrika']."</td></tr>"

}
else 

echo 
"<p><b>Ошибка: ".mysql_error()."</b></p>" 
exit(); 

?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования