为了账号安全,请及时绑定邮箱和手机立即绑定

如何制作“else”来制作desc

如何制作“else”来制作desc

PHP
红糖糍粑 2021-11-13 14:54:37
我正在“php my admin”中建立一个该位置的表,我在第一次点击其中一个“th”的asc时做到了这一点,现在我试图在第二次点击中制作desc..有什么想法吗?嗯...很多我不记得对不起...if($order == '' ) {    $order= id;}$homework6 = $mysqli->query("SELECT * FROM homework6 WHERE manufacturer_hebrew LIKE '%$x%' order by $order asc"); $rows = $homework6->fetch_all(MYSQLI_ASSOC); echo '<div >';echo '<table border= "1" >';echo '<th colspan="1">'. '<a href="?order=id">x</a>' .'</th>';echo '<th colspan="1">'. '<a href="?order=manufacturer_hebrew">x</a>' .'</th>';echo '<th colspan="1">'. '<a href="?order=manufacturer_english">x</a>' .'</th>';echo '<th colspan="1">'. '<a href="?order=Models_number">x</a>' .'</th>';echo '<th colspan="1">'. '<a href="?order=made_in">x</a>' .'</th>';foreach ($rows as $paz) {  if ($paz['Models_number'] < 2 )  {    $color = "bg-danger";}elseif ($paz['Models_number'] < 10){    $color = "bg-warning";}    elseif ($paz['Models_number'] < 15){    $color = "bg-success";}else {$color = "bg-primary";} echo '<tr class='.$color.'>';echo '<td >' .$paz['id']. '</td>';echo '<td>' .$paz['manufacturer_hebrew']. '</td>';echo '<td>' .$paz['manufacturer_english']. '</td>';    echo '<td>' .$paz['Models_number']. '</td>';echo '<td >' .$paz['made_in']. '</td>';echo '</tr>';        }echo '</table>';echo '</div>';现在只是'asc' 工作。
查看完整描述

2 回答

?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

该方法应该是这样的:您应该明确定义用户单击链接时将使用的排序顺序。例如,可以这样做:


$currentSort = isset($_GET['sort']) ? $_GET['sort'] : 'asc';

$newSort = $currentSort === 'asc' ? 'desc' : 'asc';

接下来$currentSort在查询中使用,并$newSort传递给链接:


$homework6 = $mysqli->query("SELECT * FROM homework6 WHERE manufacturer_hebrew LIKE '%$x%' order by $order $currentSort"); 


echo '<th colspan="1">'. '<a href="?order=id&sort=' . $newSort .'">x</a>'.'</th>';


查看完整回答
反对 回复 2021-11-13
?
慕森卡

TA贡献1806条经验 获得超8个赞

我认为,它会是这样的:(未测试)


if ($order == '') {

    $order = id;

}


$sort = strpos($order, '-') ? 'desc' : 'asc';

$orderBy = str_replace('-', '', $order);


$homework6 = $mysqli->query("SELECT * FROM homework6 WHERE manufacturer_hebrew LIKE '%$x%' order by $orderBy $sort");

$rows = $homework6->fetch_all(MYSQLI_ASSOC);


$headColumns = [

    ['sort' => 'id', 'name' => 'x'],

    ['sort' => 'manufacturer_hebrew', 'name' => 'x'],

    ['sort' => 'manufacturer_english', 'name' => 'x'],

    ['sort' => 'Models_number', 'name' => 'x'],

    ['sort' => 'made_in', 'name' => 'x'],

];


echo '<div >';

echo '<table border= "1" >';


foreach ($headColumns as $headColumn) {

    $direction = strpos($order, $headColumn['sort']) && strpos($order, '-') === false ? '-' : '';

    echo '<th colspan="1"><a href="?order='.$direction.$headColumn['sort'].'">'.$headColumn['name'].'</a></th>';

}


foreach ($rows as $paz) {

...


查看完整回答
反对 回复 2021-11-13
  • 2 回答
  • 0 关注
  • 122 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信