Форум → Программирование → PHP для идиотов → Проблемы с навигацией
Проблемы с навигацией
Страницы: ← Предыдущая страница • Следующая страница →
-
1 января 2009 г. 20:57, спустя 8 минут 32 секунды
AdmBuxonly, чувак, у тебя в разных таблица могут быть одинаковые ид. Зачем тебе несколько таблиц?
"book_left" и "book_right", почему не одна "book"?
——-
Блин, а зачем вообще "book_left" и "book_right", если у тебя есть "bookview"??
добавлено через 2 минуты
——-
а, понял book_left и book_right это разделы типа…
добавлено меньше минуты назадhttps://smappi.org/ - платформа по созданию API на все случаи жизни -
1 января 2009 г. 20:59, спустя 2 минуты 27 секунд
Ну потому что у меня две колонки на сайте, где идет вывод http://money.buxonly.com/book.php… И чтобы не заполнялось всегда в одной я бы по очереди закидывал новый радле или книгу в право и в лево… чтоб был баланс между столбцами… ща бордер сделаю 1
——-
Я думаю базу дропнуть и заново таблички с полями намутить…
добавлено через 2 минуты -
1 января 2009 г. 21:01, спустя 2 минуты 11 секунд
кароче тебе надо не "book_left и book_right", а одну "book"
а в bookview надо хранить ид от book, пример?CREATE TABLE IF NOT EXISTS `viewbook` (
`id` int(11) NOT NULL auto_increment,
`id_book` int(11) NOT NULL auto_increment,
`title` varchar(255) NOT NULL,
`opisanie` text NOT NULL,
`avtor` varchar(255) NOT NULL,
`meta_d` text NOT NULL,
`meta_k` text NOT NULL,
`text` text NOT NULL,
`url` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 ;
где id_book - ид от поля id таблицы book
——-
AdmBuxonly, не выдумывай велосипедов… это потомучто фигня… храни разделы в одной таблице, а вывод делай при помощи PHP/JS
добавлено через 1 минутуhttps://smappi.org/ - платформа по созданию API на все случаи жизни -
1 января 2009 г. 21:05, спустя 3 минуты 45 секунд
bookview - хронит все о книга(заголовок, описание, ссылки и т.д.)
book_right\left - хранят заголовки категорий
——-
кароче тебе надо не "book_left и book_right", а одну "book"
а в bookview надо хранить ид от book, пример?CREATE TABLE IF NOT EXISTS `viewbook` (
`id` int(11) NOT NULL auto_increment,
`id_book` int(11) NOT NULL auto_increment,
`title` varchar(255) NOT NULL,
`opisanie` text NOT NULL,
`avtor` varchar(255) NOT NULL,
`meta_d` text NOT NULL,
`meta_k` text NOT NULL,
`text` text NOT NULL,
`url` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 ;
где id_book - ид от поля id таблицы book
#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
вот такое выдает… -
1 января 2009 г. 21:06, спустя 1 минуту
сделай так
bookview - хронит все о книга(заголовок, описание, ссылки и т.д.)
book_right\left- хранят заголовки категорий
——-
AdmBuxonly, ссорь, вино на мозг влияет :-)CREATE TABLE IF NOT EXISTS `viewbook` (
`id` int(11) NOT NULL auto_increment,
`id_book` int(11) NOT NULL,
`title` varchar(255) NOT NULL,
`opisanie` text NOT NULL,
`avtor` varchar(255) NOT NULL,
`meta_d` text NOT NULL,
`meta_k` text NOT NULL,
`text` text NOT NULL,
`url` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 ;
а вот так?))
добавлено меньше минуты назадhttps://smappi.org/ - платформа по созданию API на все случаи жизни -
2 января 2009 г. 12:10, спустя 15 часов 3 минуты 37 секунд
сделай так
bookview - хронит все о книга(заголовок, описание, ссылки и т.д.)
book_right\left- хранят заголовки категорий
——-
AdmBuxonly, ссорь, вино на мозг влияет :-)CREATE TABLE IF NOT EXISTS `viewbook` (
`id` int(11) NOT NULL auto_increment,
`id_book` int(11) NOT NULL,
`title` varchar(255) NOT NULL,
`opisanie` text NOT NULL,
`avtor` varchar(255) NOT NULL,
`meta_d` text NOT NULL,
`meta_k` text NOT NULL,
`text` text NOT NULL,
`url` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 ;
а вот так?))
добавлено меньше минуты назад
Все работает…
——-
А почему id поля id_book всегда равен 0? И там ошибки создаются….
Вставлено строк: 1.
Идентификатор вставленной строки: 4
Warning: #1366 Incorrect integer value: '' for column 'id_book' at row 1INSERT INTO `barosha_klub`.`viewbook` (
`id` ,
`id_book` ,
`title` ,
`opisanie` ,
`avtor` ,
`meta_d` ,
`meta_k` ,
`text` ,
`url`
)
VALUES (
NULL , '', '432', '423423423', '234234', '23423423', '4234234', '23423423', '23423432'
);
добавлено через 8 минут
——-
И как можно запихать ид book в ид id_book?
добавлено через 11 минут
——-
Не получается…. ((
добавлено через 41 минуту
——-
Ребят, вы куда пропали? Помогите с навигацией разобраться…. БД создал…. А что в файлах писать не пойму…..и как ид запихать в id_book тоже не пойму…
добавлено через 14 часов -
2 января 2009 г. 14:56, спустя 2 часа 46 минут 33 секунды
Ну тебе туда надо вбивать ид раздела, как вбивать… ну например при создании записи указывай раздел и добавляй ид_разделаhttps://smappi.org/ - платформа по созданию API на все случаи жизни -
2 января 2009 г. 14:59, спустя 2 минуты 37 секунд
AdmBuxonly
Читал, читал и тоже не до конца понял нафиг нужно две таблицы с "райт и лефт". Потому предлагаю сделать общую таблицу, только с тремя полями: id, title, location (тут название как Вам удобнее. В поле будет храниться значение "l" или "r", например). В первые две клепаем то, что уже есть, не забывая сделать поле id автоинкрементным. Тогда у Вас не будет совпадений по АйДи и не будет гемороя в отборе книг. Это если сейчас и не присутствует (всмысле, геморой с отбором), то в будущем обьязательно появится в какой-то из работ, так как ожнотипные данные должны хранится в одном месте, кроме случаев исключения (у Вас их нет).
В таблице viewbook создаете поле id_book (или подобное), куда будет заноситься id категории из таблицы book_left и book_right, которые, как мы уже помним, будут одной таблицей, которую назовем, к примеру, просто book.
Теперь вывод данных:
1. Для левой колонки деаем запрос на вывод всех категорий левой колонки - SELECT * FROM book WHERE location="l";
2. Для правой колонки деаем запрос на вывод всех категорий правойколонки - SELECT * FROM book WHERE location="r";
3. Из выбранных данных делаем ссылки-навигацию - <a href="viewbook.php?id_book=array_book['id']">array_book['title']</a>
4. При нажатии на ссылку получаем GET-переменную категории, и делаем выборку книг, которые соответствуют выбранной категории - SELECT * FROM viewbook WHERE id_book='.$_GET['id_book'].';
5. Пьем пиво за успешный вывод категорий и книг из онных.
Очередность выполнения раставьте сами, так как тут все зависит от архитектуры вашей системы, но 5-ый пункт должен выполняться самым последним :)
—
В общем, не успеваю писать, как уже посвялются новые записи + есть глюк у форума (укажу в другом разделе или в личку администрации дабы тут не флудить).
В целом, уже указаны все необходимые изменения в сторону правильной работы. Осталось Вам, ТС, немного подумать как и что и куда вставлять. А для этого предлагаю прочитать о древовидном выводе категорий.
п.с. Желательно самому разобраться с элементарным, иначе на более трудных задачах и вовсе "загнетесь". -
2 января 2009 г. 16:12, спустя 1 час 12 минут 48 секунд
Сейчас буду писать свои действия, как только ошибусь тормозните меня иначе я опять тупану….
1. Создал таблицу viewbook:
CREATE TABLE IF NOT EXISTS `viewbook` (
`id` int(11) NOT NULL auto_increment,
`id_book` int(11) NOT NULL,
`title` varchar(255) NOT NULL,
`opisanie` text NOT NULL,
`avtor` varchar(255) NOT NULL,
`meta_d` text NOT NULL,
`meta_k` text NOT NULL,
`text` text NOT NULL,
`url` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=5 ;
2. Создал таблицу Book
CREATE TABLE IF NOT EXISTS `book` (
`id` int(11) NOT NULL auto_increment,
`title` varchar(255) NOT NULL,
`location` varchar(1) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=3 ;
Проверьте, так? -
2 января 2009 г. 16:20, спустя 7 минут 50 секунд
AdmBuxonly, удали AUTO_INCREMENT=5 и AUTO_INCREMENT=3https://smappi.org/ - платформа по созданию API на все случаи жизни -
2 января 2009 г. 16:25, спустя 5 минут 6 секунд
adw0rd, удалил.. А теперь смертельный номер: приступаю к выводу из бд -
2 января 2009 г. 16:30, спустя 5 минут 24 секунды
Это будет вывод для левой ячейки…<?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 г. 16:44, спустя 13 минут 36 секунд
Это правая…<?php
include_once('config.php');
$result = mysql_query("SELECT id,title,location FROM 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_book']}'>{$myrow['title']}</a></p></td>
</tr>
<tr>
<td bgcolor='#F0F0F0' class='style4' scope='row'><p>Количество: </p></td>
</tr>
</table>
<br />";
}
?> -
2 января 2009 г. 16:59, спустя 15 минут
Вот тока не пойму, как автоматом вставлять id раздела в id_book просмотра этого раздела…А можно как то сразу и выводить и вставлять в бд одним запросом…?? Можно при добавлении раздела сразу занести id раздела в id_book. Тока как это через один запрос сделать…??? А так все работает http://money.buxonly.com/book.php -
2 января 2009 г. 17:03, спустя 4 минуты
AdmBuxonly, расскажи как ты добавляешь новую книгу и новый раздел.https://smappi.org/ - платформа по созданию API на все случаи жизни
Страницы: ← Предыдущая страница • Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!