Форум → Программирование → PHP для идиотов → Проблемы с навигацией
Проблемы с навигацией
Страницы: ← Предыдущая страница • Следующая страница →
-
-
2 января 2009 г. 17:20, спустя 16 минут 25 секунд
AdmBuxonly
Ну так вот АйДи раздела добавлять нужно не когда категорию создаете, а когда добавляете книгу. Вам ведь не категории к книгам привязать, а наоборот - книги к категориям. Так что получается примерно такое: когда добавляется книга, то есть поле выбора категории, и id выбраной категории для книги подставляется в id_book самой записи о книге. Это если через админку делать (ну или другой интерфейс, кроме как в базу напрямую). А если сходу в базу руками нуно, то смотрите на id категории, запоминаете её, и когда добавляете книгу, то вносите id_book как id категории из своей памяти :) -
2 января 2009 г. 17:27, спустя 6 минут 15 секунд
Ок, спс. ща сделаю…. тока с запросом проблемы будут…<?php
include_once('config.php');
$result = mysql_query("SELECT id,title,location FROM book WHERE location='l'");
while ($myrow = mysql_fetch_array($result)) {
print "<table width='250' border='0' cellspacing='0' cellpadding='0'>
<tr>
<td bgcolor='E4E4ED' class='style4' scope='col'><p>Категория:<a href='http://money.buxonly.com/viewbook.php?id={$myrow['id_book']}'>{$myrow['title']}</a></p></td>
</tr>
<tr>
<td bgcolor='#F0F0F0' class='style4' scope='row'><p>Количество: </p></td>
</tr>
</table>
<br />";
}
?>
вот что есть сейчас -
2 января 2009 г. 17:38, спустя 11 минут 28 секунд
<?php
include('config.php');
if (isset($_GET['id'])) {$id = $_GET['id'];}
$result = mysql_query("SELECT * FROM viewbook WHERE id='$id'");
$myrow = mysql_fetch_array($result);
do
{
printf("<table align='center' border='0' cellpadding='0' cellspacing='0' width='500'>
<tr><td>
<table width='500' border='0' cellspacing='0' cellpadding='0'>
<tr>
<td bgcolor='#E4E4ED' class='style4' scope='col'><p>Название: <a href='http://money.buxonly.com/viewbooks.php?id=%s'>%s</a></p></td>
</tr>
<tr>
<td bgcolor='#F0F0F0' class='style4' scope='row'><br><p align='justify'><b>Описание:</b> %s</p><br><p><b>Автор: </b>%s</p></td>
</tr>
</table>
</td></tr></table><br>", $myrow['id'], $myrow['title'], $myrow['opisanie'], $myrow['avtor']);
}
while ($myrow = mysql_fetch_array($result));
?>
это http://money.buxonly.com/viewbook.php?id= -
2 января 2009 г. 17:44, спустя 5 минут 43 секунды
Ок, спс. ща сделаю…. тока с запросом проблемы будут…<?php
include_once('config.php');
$result = mysql_query("SELECT id,title,location FROM book WHERE location='l'");
while ($myrow = mysql_fetch_array($result)) {
print "<table width='250' border='0' cellspacing='0' cellpadding='0'>
<tr>
<td bgcolor='E4E4ED' class='style4' scope='col'><p>Категория:<a href='http://money.buxonly.com/viewbook.php?id={$myrow['id_book']}'>{$myrow['title']}</a></p></td>
</tr>
<tr>
<td bgcolor='#F0F0F0' class='style4' scope='row'><p>Количество: </p></td>
</tr>
</table>
";
}
?>
вот что есть сейчас
Обратите внимание на две строки
и$result = mysql_query("SELECT id,title,location FROM book WHERE location='l'");
<a href='http://money.buxonly.com/viewbook.php?id={$myrow['id_book']}'>{$myrow['title']}</a>
у вас в первой строке отсутствует "id_book", однако во второй вы его вызываете. Как так?https://smappi.org/ - платформа по созданию API на все случаи жизни -
2 января 2009 г. 17:47, спустя 3 минуты 39 секунд
Так ведь в таблице book нет поля id_book. Я сейчас всяко пробую, но не могу зацепить id_book за категорию. Вот тут: http://money.buxonly.com/book.php -
2 января 2009 г. 17:56, спустя 9 минут 5 секунд
AdmBuxonly
…$result = mysql_query("SELECT * FROM viewbook WHERE id='$id'");…
А потом и вовсе вот таким образом пытаетесь выбрать не книги из категории, а книгу по определенному id.
Поля нет, но GET-переменную, как впрочем и любую другую, Вы можете назвать как Вам угодно, но лучше называть так, чтоб было и наглядно и не много букаф. Следовательно, мы её для удобства называем id_book, но в себе она будет нести не что иное, как id категории из таблицы book, следовательно… ДУМАЙТЕ.
Пока не решите эту задачу (постановка правильных переменных), лично я не буду подсказывать Вам ничего по этой теме. Потому как нужно включать голику, иначе это даже не кодинг (тем более не программирование) - это переписывания кода из одного (чужого) файла в свой.
—
Сделаете это, подскажу как уменьшить количество запросов в БД как минимум на один лишний. -
2 января 2009 г. 18:05, спустя 8 минут 28 секунд
if (isset($_GET['id'])) {$_GET['id_book'] = $_GET['id'];}
$result = mysql_query("SELECT * FROM viewbook WHERE id_book='{$_GET['id_book']}'");
А так правильно? -
2 января 2009 г. 18:10, спустя 4 минуты 39 секунд
А как мне для категории id подцепить? ща тоже потужусь, мож придумаю… -
-
-
2 января 2009 г. 18:16, спустя 1 минуту 14 секунд
Сделаете это, подскажу как уменьшить количество запросов в БД как минимум на один лишний.
Говори, я весь во внимании )) -
2 января 2009 г. 18:17, спустя 21 секунду
AdmBuxonly
Уже значительно лучше, НО!… не нужно создавать внутри одного скрипта GET-переменных, достаточно просто сделать так:
if (isset($_GET['id'])) {$id_book = $_GET['id'];}
Но все же лучше не юзать для выбора по категориям $_GET['id'], то есть, лучше делать не …viewbook.php?id=…, а …viewbook.php?id_book=…, так как …viewbook.php?id=… в будущем Вы сможете (и наверняка будете) использовать для выбора подробного описания книги.
п.с. $result = mysql_query("SELECT * FROM viewbook WHERE id_book='{$_GET['id_book']}'"); - а зачем в запросе знаки "{" и "}" ?!
Покажите мне, со своими объяснениями, по очереди:
1. Запрос на выборку любой из колонок категорий + Ваши объяснения что и зачем делаете
2. Ссылку(и) на категории + Ваши объяснения что и зачем делаете
3. Запрос на выборку книг из выбранной категории + Ваши объяснения что и зачем делаете
Это нужно для того, чтоб Вы поняли что Вы делаете. Тогда Вам будет легче, поверьте на слово. -
2 января 2009 г. 18:19, спустя 2 минуты 12 секунд
AdmBuxonly
Сек, я совсем потерялся. Вы сделали не выборку книг из категории, а вывод подробного описания книги. Насколько понимаю, Вы даже сами непонимаете, что хотели добиться не этого :)
По сокращению запроса: Вы ещё не добились результата.
п.с. Можно в аську перейти, дабы не захламлять форум. -
2 января 2009 г. 18:35, спустя 15 минут 55 секунд
Первая страница http://money.buxonly.com/book.php. На ней находятся различные категории. Для их вывода я использую следующий скрипт:
<!– Начало скрипта –>
<?php
// подключаем конфигурационный файл
include_once('config.php');
// заносим в переменныю $result запрос на вывод категорий из базы в правую ячейку таблицы
$result = mysql_query("SELECT id,title,location FROM book WHERE location='r'");
// Рассмотрим запрос:
// mysql_query осуществляет SQL запрос к нашей базе данных
// SELECT этот оператор говорит о том, что мы делаем запрос на выделение "чего-то" из базы
// id,title,location поля, которые мы вибрали для использования их содержимого в скрипте
// Далее выбираем таблицу, где хранятся поля id,title,location и операторм FROM (из) вибираем таблицу book
// Затем указываем какие именно поля нам нужно вытащить из таблицы book оператором WHERE (где)
// Так, как нам нужны поля для правой ячейки то вытаскиваем поля где ячейка location принимает значение 'r'
// Теперь выводим все это дело в цикле
while ($myrow = mysql_fetch_array($result)) {
// Выводим на экран
print "<table width='250' border='0' cellspacing='0' cellpadding='0'>
<tr>
<td bgcolor='E4E4ED' class='style4' scope='col'><p>Категория:<a href='http://money.buxonly.com/viewbook.php?id={$myrow['id']}'>{$myrow['title']}</a></p></td>
</tr>
<tr>
<td bgcolor='#F0F0F0' class='style4' scope='row'><p>Количество: </p></td>
</tr>
</table>
<br />";
}
?>
<!– Конец скрипта –>
Страницы: ← Предыдущая страница • Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!