taka-123 / VeggieShop

0 stars 0 forks source link

#25 Issue/25(途中) #26

Closed taka-123 closed 4 years ago

taka-123 commented 4 years ago

デフォルト:新着順でLIMIT表示

HTML等の変更はまだ

primestyleus commented 4 years ago

@taka-123

primestyleus commented 4 years ago

@taka-123 以下でこちらでは動作が確認できました。そちらでも試していただけますか?

item.php function get_limit_items($db, $is_open = false, $sort = 'created DESC', $start_array_num, $needs){ $sql = ' SELECT item_id, name, stock, price, image, status FROM items '; if($is_open === true){ $sql .= ' WHERE status = 1 '; } $sql .= ' ORDER BY ? '; $sql .= ' LIMIT ?, ? '; $params = array($sort, $start_array_num, $needs);

return fetch_all_query($db, $sql, $params); }

html/index.php $sort = 'created DESC'; $items = get_limit_items($db, true, $sort, $start_array_num, INDEX_NUM_MAX);

taka-123 commented 4 years ago

@primestyleus ありがとうございます。 'ORDER BY ?'でもできるんですね。 できないのかと思い、'?'として、ORDER BYから全てを変数に入れる形でコードを書いてしまいました。 また修正するとして、再度pushしてみても良いですか?

primestyleus commented 4 years ago

@taka-123 はい、修正したらぜひPUSHしてください!

taka-123 commented 4 years ago

@primestyleus なぜか $sql .= $sort_sql; とすると上手くいき、

$sql .= 'ORDER BY ?'; $param = array($sort_sql, 〜) とすると、ソートが効かず登録順(昇順)=古い順になります。

とりあえずこれで要件自体は満たしていると思うのですが。