Мне нужно взять строки из двух отдельных таблиц и расположить их в порядке убывания по дате. Строки не соответствуют порядку или номеру и не связаны друг с другом.
Каждый из них содержит обновления на сайте, одна таблица содержит текст, ссылки, даты, заголовки и т. Д. Из блога. Другой имеет заголовки, ссылки, спецификации и т. Д. Из изображений. Я хочу разместить некоторую основную информацию (заголовок, дату, небольшое описание) в разделе обновлений на главной странице сайта, чтобы она располагалась в порядке даты.
Объединение их в одну таблицу и изменение ее в соответствии с обоими типами - это не то, что я хотел бы здесь сделать, таблица блога WordPress 'стандартная wp_posts, и мне неудобно добавлять столбцы, чтобы он соответствовал таблице изображений тоже. Боюсь, что позже это может привести к конфликту с обновлением, и это похоже на неуклюжее решение (но это не значит, что я буду возражать, если люди посоветуют мне, что это лучшее решение).
Вот ОПИСАНИЕ каждой таблицы:
mysql> describe images;
+---------+--------------+------+-----+-------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+--------------+------+-----+-------------------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| project | varchar(255) | NO | | NULL | |
| title | varchar(255) | NO | | NULL | |
| time | timestamp | NO | | CURRENT_TIMESTAMP | |
| img_url | varchar(255) | NO | | NULL | |
| alt_txt | varchar(255) | YES | | NULL | |
| text | text | YES | | NULL | |
| text_id | int(11) | YES | | NULL | |
+---------+--------------+------+-----+-------------------+----------------+
mysql> DESCRIBE wp_posts;
+-----------------------+---------------------+------+-----+---------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+---------------------+------+-----+---------------------+----------------+
| ID | bigint(20) unsigned | NO | PRI | NULL | auto_increment |
| post_author | bigint(20) unsigned | NO | | 0 | |
| post_date | datetime | NO | | 0000-00-00 00:00:00 | |
| post_date_gmt | datetime | NO | | 0000-00-00 00:00:00 | |
| post_content | longtext | NO | | NULL | |
| post_title | text | NO | | NULL | |
| post_excerpt | text | NO | | NULL | |
| post_status | varchar(20) | NO | | publish | |
| comment_status | varchar(20) | NO | | open | |
| ping_status | varchar(20) | NO | | open | |
| post_password | varchar(20) | NO | | | |
| post_name | varchar(200) | NO | MUL | | |
| to_ping | text | NO | | NULL | |
| pinged | text | NO | | NULL | |
| post_modified | datetime | NO | | 0000-00-00 00:00:00 | |
| post_modified_gmt | datetime | NO | | 0000-00-00 00:00:00 | |
| post_content_filtered | text | NO | | NULL | |
| post_parent | bigint(20) unsigned | NO | MUL | 0 | |
| guid | varchar(255) | NO | | | |
| menu_order | int(11) | NO | | 0 | |
| post_type | varchar(20) | NO | MUL | post | |
| post_mime_type | varchar(100) | NO | | | |
| comment_count | bigint(20) | NO | | 0 | |
+-----------------------+---------------------+------+-----+---------------------+----------------+
Я могу легко сделать это с помощью одной таблицы, как эта (я включаю ее здесь на случай, если я использую слишком сложный метод, не зная об этом):
$content = mysql_query("SELECT post_title, post_text, post_date FROM posts ORDER BY post_date DESC");
while($row = mysql_fetch_array($content))
{
echo $row['post_date'], $row['post_title'], $row['post_text'];
}
Но как можно вызвать обе таблицы в один и тот же массив, чтобы правильно расположить их?
Правильно, я имею в виду, что они будут смешивать свои отраженные результаты, основываясь на их дате. Может быть, я смотрю на это с неправильной точки зрения, и вызов их в один массив не является ответом?
Кроме того, мне нужен способ сформировать условное выражение, основанное на том, из какой таблицы они получены, чтобы строки из таблицы 1 отображались не так, как строки из таблицы 2?
Я хочу, чтобы результаты из таблицы 1 отображались по-разному (я имею в виду различные строки, объединенные вокруг них) с целью их стилизации иначе, чем из таблицы два. И наоборот.
Я знаю, что здесь будет работать оператор if...else
, но я понятия не имею, как мне написать выражение, которое определит, из какой таблицы получена строка.