Использование ссылки изменить содержание ЗАКАЗАТЬ по DESC, ASC и т. Д. той же страницы

Это моя страница просмотра:

<?php

include 'connect/con.php';

$result = mysqli_query($con,"SELECT newsvid.id, newsvid.vidTitle, newsvid.url, newsvid.vidSD, newsvid.published, videoinformation.vidLD, videoinformation.vidYear, videoinformation.vidCity, videoinformation.vidZanr, videoinformation.vidQuality, videoinformation.vidTranslated, videoinformation.vidTime  FROM newsvid, videoinformation WHERE newsvid.id = videoinformation.id ORDER BY newsvid.id DESC");

while($row = mysqli_fetch_array($result)) {
echo '<div class="id">#<a href="details.php?id='.$row['id'].'">'.$row['id'].'</a></div>';
echo "<div class=\"vidTitle\">" . $row['vidTitle'] . "</div>";
echo "<div class=\"imgCover\"><img class=\"imageCover\"src=\"" . $row['url'] . "\"></div>";
echo "<div class=\"vidSD\">" . $row['vidSD'] . "</div>";
echo "<div class=\"vidDetails\">
<table class=\"tableSD\" >
<tr><td class=\"tdBR\"><strong> Years: </strong></td><td class=\"tdB\">" . $row['vidYear'] . "</td></tr>
<tr><td class=\"tdBR\"><strong> City: </strong></td><td class=\"tdB\">". $row['vidCity'] . "</td></tr>
<tr><td class=\"tdBR\"><strong> Zanr: </strong></td><td class=\"tdB\">". $row['vidZanr'] . "</td></tr>
<tr><td class=\"tdBR\"><strong> Quality: </strong></td><td class=\"tdB\">". $row['vidQuality'] . "</td></tr>
<tr><td class=\"tdBR\"><strong> Translated: </strong></td><td class=\"tdB\">". $row['vidTranslated'] . "</td></tr>
<tr><td class=\"tdBR\"><strong> Video time: </strong></td><td class=\"tdB\">". $row['vidTime'] .  "</td></tr>
</table>
</div>";echo "<div class=\"published\"><strong>Published: </strong>" . $row['published'] . "</div>";
}
mysqli_close($con);
?>

мне нужно ССЫЛКА НА САЙТ на странице index.php этот битORDER BY newsvid.id DESC«будут изменения по нажатой ссылке.

НАПРИМЕР:

<div class="mainLeftCover">
<a href="#>ASC</a> |
<a href="#>DESC</a> |
</div>

Если я нажму ASC, страница view.php покажет результат ЗАКАЗЫВАЕТСЯ Newsvid.id ASC и если я нажму DESC, то же страница view.php покажет результат ЗАКАЗЫВАЕТСЯ newsvid.id DESC и так далее…

0

Решение

Сначала вам нужно добавить параметр в ссылку URL

<div class="mainLeftCover">
<a href="view.php?order=ASC">ASC</a>
<a href="view.php?order=DESC">DESC</a>
</div>

Затем установите переменную с заглушкой запроса минус часть ORDER.

$query ="SELECT newsvid.id, newsvid.vidTitle, newsvid.url, newsvid.vidSD, newsvid.published, videoinformation.vidLD, videoinformation.vidYear, videoinformation.vidCity, videoinformation.vidZanr, videoinformation.vidQuality, videoinformation.vidTranslated, videoinformation.vidTime  FROM newsvid, videoinformation WHERE newsvid.id = videoinformation.id";

использование Исеть() с троичный оператор либо получить параметр, либо, если он не установлен, передать значение по умолчанию.

$order = isset($_GET['order']) ? $_GET['order'] : 'DESC';//Change to ASC if you want this as default

использование in_array ()санировать

$goodParam = array("ASC", "DESC");
if (in_array($order, $goodParam)) {

Тогда используйте .= Конкатенация построить $ запрос.

        if($order == 'DESC'){
$query .= " ORDER BY newsvid.id DESC";
}else{
$query .= " ORDER BY newsvid.id ASC";
}
}
$result = mysqli_query($con,$query);
1

Другие решения

  • Сделайте две ссылки с ASC и DESC в качестве параметра запроса URL (скажем, $_GET['order'])
  • На стороне сервера обязательно проверьте, является ли значение ASC или DESC для предотвращения злонамеренного намерения (то есть, in_array(strtolower($_GET['order']), ['asc', 'desc'])
  • Добавьте параметр в запрос, чтобы часть DESC / ASC была переменной
1

По вопросам рекламы [email protected]