
sql文のswichをif分で変更したい。
下記のswitch文のlimitの範囲をユーザーが<a href="sqlpage1.php?sex=男&p=2">2ページ目</a>,<a href="sqlpage1.php?sex=男&p=3">3ページ目</a>,<a href="sqlpage1.php?sex=男&p=4">4ページ目</a>・・・・・・などを選択しクリックした場合にlimitの範囲を変更したいのですが(例
1ページ目・0~10、2ページ目・11~20、3ページ目・21~30、4ページ目・31~40・・・・・・)
if文はどう書けばいいですか?
ページはcssが一緒なので変えなくていいかなと思い一緒にしました。
以下、デフォルト(sqlpage1.php?sex=男&p=1)のものです。
switch($_REQUEST['sex'])
{
case 男;
$sql = 'SELECT * FROM human where sex="男" order by limit (0,10)';ここを変更したい。
break;
case 女;
$sql = 'SELECT * FROM human where sex="女" order by limit 0,10';
break;
case 中性;
$sql = 'SELECT * FROM human where sex= "中性" order by limit 0,10';
break;
}
No.3ベストアンサー
- 回答日時:
$para_p = $_REQUEST['p'];
$page_no = 整数に変換($para_p);
$offset_no = ($page_no < 1)? 0: 10 * ($page_no - 1);
$sql_limit = " limit $offset_no, 10";
...
$sql = 'select * from ... where ... order by ...' . $sql_limit;
No.2
- 回答日時:
No.1です。
ちょっと気になったのはSQL文の
>where sex="男"
って結局のところ
>$_REQUEST['sex']
の値なのでは?
それを文字列連結に使用しないのももったいない感じはします。
この言語が不明なので適切な回答が出来ずごめんなさい。
憶測で書くのなら
$sql = 'SELECT * FROM human where sex="' + $_REQUEST['sex'] + '" order by limit (0,10)';
みたいな?
No.1
- 回答日時:
全くの未経験者で申し訳ないですが。
連想配列で、KEYをページナンバー、値?に希望する範囲を格納しておいて、指定されたページナンバーから値を取得し文字列に連結させるとかはできないのでしょうか?
又は配列を用いてそのインデックス番号は先頭が0なので『ページ数 - 1』が使えそうな気もしますし。
或いは無理だからIf文を選択されたと言うのであればスル~してください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP php my adminより取り出したデータ表示 2 2022/06/15 11:56
- Perl RSSにdiv,ul classを付けたいのですがどのようにつけるのかわからないです 2 2022/03/28 01:53
- MySQL SQLです。下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「昨年の各月の総降 1 2023/07/01 00:32
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- PHP PHPでMysqlにデータがあるかどうか判別したい 1 2023/03/02 11:48
- PostgreSQL SQLで検索結果の記事を表示したい 1 2022/04/28 21:03
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MySQLの.sqlファイルを実...
-
sqliteとの互換
-
mysqlって???(汗
-
【php+mysql】mysqlのレコード...
-
Perlでexecuteをまとめて実行し...
-
jspとsqlの連結したページ
-
MySQL記述でアドバイスを
-
insert into $DB (data1, data2...
-
SQLで取得したフィールドをSQL...
-
TYPE=Inoodbが指定するとワーニ...
-
SQLのVARCHARとVARCHAR2の違い
-
MySQLのユーザー設定について
-
データベースのサンプルの追加...
-
さくらインターネットのMySQL ...
-
全権限をもつユーザの追加方法
-
phpMyadminと文字コード
-
ODP.NETのバージョン確認
-
インポートできない。
-
Usage: \\.<filename> | sourc...
-
(統計量の)分散を算出したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHP+MySQLから結果セット取得後...
-
F5対策 sql発行ページにて
-
【php+mysql】mysqlのレコード...
-
どうしても、%$keyword%でひっ...
-
複数条件の検索について
-
my sqlはどこにあるのか?
-
PEARでレコード数の取得
-
MySQLで、INSERT文でエラー
-
PHPで特定のレコードを取り出す
-
PHP+MySQLによるINSERTについて
-
updateがうまくできない。
-
SQLiteについて
-
mysql PHPでUPDATE
-
SQL whereの中のif文について
-
Perlでexecuteをまとめて実行し...
-
コメントが消えてしまいます
-
PHP+MySQLでデータ登録がうまく...
-
mySQLで複雑な演算
-
mysql PHPでUPDATE
-
MySQLカラム名は日本語と英数字...
おすすめ情報