2016-11-29 5 views
0

Моя таблица выглядит следующим образом: enter image description hereMySQL - иметь отдельный идентификатор для каждой категории

Таким образом, в PHP У меня есть следующие:

$result = db_query("SELECT * FROM siteData WHERE category = '$temp_cat' ORDER BY id DESC LIMIT $offset, $rowsperpage"); 
// db_query() is a custom function which executes mysqli queries to the db 

Я отображая id в моем почтовом HTML и используйте его как постоянную ссылку на сообщение. Это все хорошо, но когда я решаю фильтр по категории я вижу следующее:

Main page:

-Post Заголовок-

< -2 - сообщение ID

- сообщение Контент-

-Post Footer-


-Post Заголовок-

< -1 - сообщение ID

-Post Контент-

-Post Footer-

About Page:

-Post Заголовок-

-4- < - Почтовый индекс

-Post Контент-

-Post Footer-


-Post Заголовок-

< -3- - сообщение ID

-Post Контент-

-Под Footer-

И так далее ... Что я имею в виду, так это то, что сообщения имеют вводящие в заблуждение идентификаторы, которые устанавливаются после создания сообщений и автоматически увеличиваются. Это приводит к About Page, начиная с должности, которая имеет id = 3, а не id = 1. Есть ли какой-либо возможный способ подсчета количества идентификаторов для разных категорий отдельно?

+0

Я только начинаю понимать SQL, вы можете показать мне пример запроса? –

+0

В каждой категории есть своя страница. Все эти страницы отображают сообщения 'WHERE category =" something "' ... Но сообщения упорядочиваются с помощью 'id', что означает, что я создам сообщение в' category 1', и оно будет иметь 'id = 1', для пример. Тогда я создам сообщение для 'category 2', и оно будет иметь' id = 2', потому что 'id = AUTO_INCREMENT'. Проблема здесь в том, что в «категории 2» есть только ** 1 ** сообщение, поэтому у него не должно быть 'id = 2'. Надеюсь, я сделал это более понятным для вас. –

+0

Я предполагаю, что моя структура базы данных виновата в вышеуказанном поведении ... Если есть какой-либо способ переупорядочить столбцы в БД или еще лучше - способ PHP, чтобы исправить это, я был бы рад принять его как ответ на этот вопрос , –

ответ

0

Согласно дискуссии, это то, что у меня есть в моем select.php файле:

<?php 
    while ($row = mysqli_fetch_array($result)) { 
     $id = $row['id']; 
     $title = $row['title']; 
     $category = $row['category']; 
     $date = $row['date']; 
?> 
     Category: &#8220;<?php echo $category; ?>&#8221; 
     &#160;<span class="fa fa-fw fa-lg fa-chevron-right" aria-hidden="true"></span>&#160; 
     Title: <a href="edit.php?id=<?php echo $id; ?>" hreflang="en">&#8220;<?php echo $title ?>&#8221;</a> 
     &#160;<span class="fa fa-fw fa-lg fa-chevron-right" aria-hidden="true"></span>&#160; 
     Date: <time datetime="<?php echo $date; ?>"><?php echo $date; ?></time><br> 
<?php 
    } 
?> 

Я тогда SELECT должности по id, который я $_GET из URI и отображение некоторых form Определённых элементов, которые держат пост значения. Затем я обновляю данные в db.

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