Может быть, это глупый вопрос, но я не уверен, как расширить этот код для порядка, например, по опубликованному имени, по размеру, по имени и т. Д., Просто сделать больше кнопок упорядочивания.
Это код:
$query ="SELECT newsvid.id, newsvid.addName, newsvid.vidTitle, newsvid.url, newsvid.vidSD, newsvid.published, videoinformation.vidLD, videoinformation.vidYear, videoinformation.vidCity, videoinformation.vidZanr, videoinformation.vidZanr2, videoinformation.vidZanr3, videoinformation.vidQuality, videoinformation.vidTranslated, videoinformation.vidTime FROM newsvid, videoinformation WHERE newsvid.id = videoinformation.id";
$order = isset($_GET['order']) ? $_GET['order'] : 'ASC';
$goodParam = array("ASC", "DESC");
if (in_array($order, $goodParam)) {
if($order == 'ASC'){
$query .= " ORDER BY newsvid.id ASC";
}else{
$query .= " ORDER BY newsvid.id DESC";
}
}
И это мои кнопки:
<a href="view.php?order=ASC">ASC</a>
<a href="view.php?order=DESC">DESC</a>
Постскриптум Я использую образцы из Интернета и перехожу на свой веб-сайт, и теперь не могу их расширить, не знаю как.
Спасибо
Что именно мне нужно изменить в php-коде, чтобы использовать эти ссылки?
<a href="view.php?order=ASC">ASC</a>
<a href="view.php?order=name">BY Name</a>
<a href="view.php?order=year">By Year</a>
<a href="view.php?order=published">By Publishing</a>
<a href="view.php?order=size">By Size</a>
Должен ли я использовать как это?
if (in_array($order, $goodParam)) {
if($order == 'ASC'){
$query .= " ORDER BY newsvid.id ASC";
}else if{
$query .= " ORDER BY newsvid.vidTitle DESC";
}else if{
$query .= " ORDER BY newsvid.published DESC";
}else{
$query .= " ORDER BY videoinformation.vidZard DESC";
}
}
Вы можете использовать более одного ORDER BY
как это:
ORDER BY newsvid.id ASC, newsvid.addName DESC
Сортируйте сначала идентификатор и с двумя равными идентификаторами имя.
Если вы просто попытаетесь добавить новую сортировку, вы можете просто изменить имя в своем ORDER BY
…
Ты можешь сделать:
if($order == 'ASC'){
$query .= " ORDER BY newsvid.id ASC";
} elseif ($order == 'name') {
$query .= " ORDER BY newsvid.addName ASC";
} elseif ($order == 'year') {
$query .= " ORDER BY newsvid.vidYear ASC";
}
Вы должны прочитать об общем SQL. ORDER BY
может принимать несколько аргументов, например ORDER BY id, date_created, upvotecount
,
Также: SQL несколько столбцов