• ベストアンサー

PHP、MySQLでチェックボックスの値を各ページでひとつのフラグで保持

以前の質問の続きです。 PHPでMySQLのDB情報をHTML出力して、表の各行にチェックボックスを付けて仮に表がHTMLで10ページあったとして、さらに共有しているコンテンツが5あったとして、フラグは一つでどのように各コンテンツ間で保存すればよいでしょうか? ビットで保存するというのが今ひとつ分からず、1ページのみだと、値を255と244で切り替えて保存できたのですが。。。表を野球選手、コンテンツをポジュション別といった感じです。 分かりずらいと思いますが、よろしくお願いします。

  • PHP
  • 回答数1
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

質問自体がちょっと分かりにくいのですが、その手はセッションを使ったら良いのではないのですか? //セッションをオンにして session_start(); 取得したフラグをセッション変数に保持しておけば、変数を破棄するまで使用出来ます。 例えば、チェックボックスのi番目のチェックを格納する場合は $_SESSION[flgs][$i] = $_POST[checkbox][$i]; として、各ページで$_SESSION[flg][$i]を呼び出せば良いです。 検索ワード php セッション関数 ピントずれてないですか?

関連するQ&A

  • チェックボックスの値処理PHP+MySQL

    PHPでMySQLのDB情報をHTML出力して、表の各行にチェックボックスを付けて仮に表がHTMLで10ページあったとして、1ページ目のチェックボックスの値を保存して、ランダムに各ページを見て、また1ページ目に戻るとチェックボックスが保存した状態になっているという事はできるでしょうか? javascriptを組み合わせてでないとムリでしょうか? どなたか教えて下さい。

    • ベストアンサー
    • PHP
  • チェックを入れたページを表示するには

    こんばんわ。 現在、仮想で検索プログラムをチームで作成しています。 その中で、閲覧履歴を保存して別のページで表示する、というものを作る事になりました。検索してそのページに飛ぶのではなく、閲覧するページにはチェックボックスを置いて、そこにチェックを入れれば、お気に入り登録され、別のページに表示される。表示されたページのリンクを押せば、目的のページに飛べる、といった感じにしたいのですが可能でしょうか?可能ならば、やり方を教えて下さい。 ちなみにWebサーバーはApache,DBはMySQL,プログラミングにはPHPとHTMLを使用し、OSはWindowsXPです。 説明下手で分かりづらいとは思いますが、どうかお願いします。

    • 締切済み
    • PHP
  • MYSQLとPHPの連携について

    MYSQLとPHPで野球チームのデータ管理、WEBで表示 というサイトを作成しようと思っております。 そこで一連の流れについて質問があります。 例えば、打数100 安打数30 の選手がいたとし、 カラムA(打数)   カラムB(安打)   打率  100         30       .300 というのをWEBで表示する場合、 DBにデータをインポートする際、カラムAとBのみインポートし、 打率はmysql側で計算してインポートしてくれるようなことは出来るのでしょうか? 可能な場合、どのような処理を行えばいいのでしょうか? ご教授いただける方、何卒宜しくお願いします。

    • ベストアンサー
    • MySQL
  • PHPとMYSQLでカウンターを作っています

    アクセス数を管理画面で表示しようとしています。 **全く変な事をしているかも知れません。。。 DBはこのようになっています、同じ会員のページを合算して表示したいので 0001の会員にはpagename 0001 0001a と言う具合につけて、 0002の会員にはpagename 0002 0002a とつけて行きます pagename varchar(20) access int(11) カウントは出来ているのですが、表示させることが出来ません。 多分、全く的外れなことをしていると思います <?php require_once("dbini.php"); $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD); $selectdb = mysql_select_db($DBNAME, $con); $sql = "select access from count where like pagename = '0001%'"; $rst = mysql_query($sql, $con); $body = ""; while($col = mysql_result($rst)) { $body .= "総アクセス数". "<br>"; $body .= $col["0001"]+$col["0001s"]. "<br>"; $body .= "トップページアクセス数". "<br>"; $body .= $col["0001"]. "<br>"; $body .= "紹介ページアクセス数". "<br>"; $body .= $col["0001s"]. "<br>"; } mysql_free_result($rst); $con = mysql_close($con); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE></TITLE> </HEAD> <BODY> <?= $body ?> </BODY> </HTML> 分かりにくい説明かと思いますが、 どなたか分かる方ヒントでも頂けると幸いです よろしくお願いいたします。

    • 締切済み
    • PHP
  • PHPとMySQLの文字化け

    DBを呼び出すPHPファイルを"Shift_JIS"で作りました。 ですが、レンタルサーバーのPHP、MySQLの文字コードが"EUC-JP"との事で、 全てのファイルに読込んでいるインクルードファイルの文字コードの記述をShift_JISからEUC-JPに変更しました。 ですが、DBから呼び出してるデータは文字化けしないのですが、その他がすべて文字化けしてしまい、JavaScriptも動かない状態です。 各phpのファイルは、最後に$body で書き出す記述をしているので、 $body = mb_convert_encoding($body,"SJIS","EUC-JP"); print $body; と実行してみてもだめでした。 どうか教えて下さい。よろしくお願い致します。 ---共通インクルードファイル---- 省略 //MySQL読み込み時の文字コードを設定 mysql_query("set names EUC-JP"); //データベースを選択します mysql_select_db($DBNAME,$db); function htmlheader($pagetitle) { //各ページのヘッダ部のHTMLを組み立てる $strret = "<DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'> <HTML> <HEAD> <META http-equiv='Content-Type' content='text/html; charset=EUC-JP'> <META http-equiv='Content-Style-Type' content='text/css'> <TITLE>$pagetitle </TITLE> </HEAD> <body border='0' cellpadding='0' cellspacing='0' width='100%'> <br>"; return $strret; } function htmlfooter() { //各ページのフッタ部のHTMLを組み立てる $strret = "<br> </BODY> </HTML>"; return $strret; } ?>

    • ベストアンサー
    • PHP
  • こんにちは。PHPとMySQLで自作ブログを作ろうと試みているのですが

    こんにちは。PHPとMySQLで自作ブログを作ろうと試みているのですが、 セキュリティを意識した中で、HTMLタグの取り扱いに困っております。 プログラム全体の流れとしては、 記事投稿ページ→MySQLに保存→ブログ記事として出力 といった感じです。 例えば、記事投稿ページの<textarea>の中で、 <b>テストテスト</b>といった文があったとします。 XSSを防ぐために、htmlspecialchars()でエスケープすると、 MySQLには、&lt;b&gt;テストテスト&lt;/b&gt; と保存されます。 MySQLから記事に出力したときに、太字となった「テストテスト」ではなく、 「<b>テストテスト</b>」とそのまま表示されてしまいます。 記事の出力時に、html_entity_decode()で戻してやればいいかとも思いましたが、 それでは、そもそもXSSを防げない気がします。 一般のブログサービスでは、どうやってデータベースにHTMLを保存しているのでしょうか? 解決するいい方法があればどなたか教えてください。

    • ベストアンサー
    • PHP
  • MYSQLをPHPから呼び出したときに文字化けします。

    現在、HTMLでPOST形式でMYSQLにデータを送って、 別のページでそれをPHPで呼び出して HTMLで表にして参照するというページをつくっているのですが、 その中の一部が文字化けしてしまいます。 たとえば「未登録」は「未那俐/td>」などです。 入力した文字の中には文字化けしていないものもあるのですが・・・ これはどういう原因なのでしょうか・・・ ちなみに文字コードはEUCで統一、テキストエディタでの改行コードはCR+LFで設定しています。 教えてください!お願いします!

    • ベストアンサー
    • MySQL
  • 【mysql : HTML】チェックボックスの処理

    チェックボックスで、複数の項目をフラグとして扱うにあたって ビット演算を使いたいと思っています。 この時、チェックボックスを作成するフォームの値は <input type="checkbox" name="category[]" value="1" />ライフ <input type="checkbox" name="category[]" value="2" />デジタルライフ <input type="checkbox" name="category[]" value="4" />趣味 <input type="checkbox" name="category[]" value="8" />エンターテイメント . . . と、valueの値をべき乗づつ増やしてくもしくは、あるいは value の値を1234としてやってあとでx2するかして それらの合計(例えばチェック状態が00101 なら 5)を DBに保存してやるというロジックでいいのでしょうか? 他のポータルサイトのソースをみても、そんなやり方してるサイトをみかけないので はたしてこれで合ってるのか不安になってきて質問させて頂きました。

    • ベストアンサー
    • MySQL
  • MySQL+PHPでリストから詳細表示

    MySQL+PHPで顧客情報のデータベースを作っているところで詰まってしまいました。下のようなテーブルがあります。 number name furi ・・・ ------------------------- 1 北  kita 2  南 minami 3    東 higashi 4    西 nisi このテーブルのリスト一部分を表示して 詳細ボタンを押すと顧客情報の詳細が表示 できるようにしたいのですが、どのように すればいいかまったくわかりません。 一覧表示      名前 フリガナ   詳細  北   kita 詳細  南   minami  詳細 西   nisi こんな感じで詳細を押すと、顧客情報の詳細が 表示されるようにしたいのですが。 一覧を表示させるPHPはこんなかんじで作りました。 //SQL文 tab1表から全行を取り出し、number列の昇順に整列する $sql = "select * from addrmain order by number"; //SQL文を実行する $rs = mysql_db_query($db,$sql); //列数を取得する $num = mysql_num_fields($rs); //HTML文を出力 テーブルの開始を指定 print("<table border=1>"); //test表の列数と同じ回数を繰り返す for ($i=0;$i<$num;$i++){ //HTML文を出力 列名を <td>で囲んで出力 print("<td>".mysql_field_name($rs,$i)."</td>"); } //test表の行数と同じ回数を繰り返す while($row=mysql_fetch_array($rs)){ //HTML文を出力 表の行の開始<tr> を出力 print("<tr>"); //test表の列数と同じ回数を繰り返す for($j=0;$j<$num;$j++){ //HTML文を出力 列の内容を <td>で囲んで出力 print("<td>".$row[$j]."</td>"); } //HTML文を出力 表の改行</tr> を出力 print("</tr>"); } //HTML文を出力 テーブルの終了を指定 print("</table>"); なにをどのようにしたら良いかお知恵をお貸しください。お願いします。

    • ベストアンサー
    • MySQL
  • phpによるデータベース操作について(MySQL)

    http://www.yc.tcu.ac.jp/~yamada/doc/mysql/win/0602.html のサイトを参考に以下のような「データベースの内容を表示させる」プログラムを書いたのですが、うまく表示されません。(webブラウザで確認したところまっさらなページで何も表示されません) ちなみに、私はレンタルサーバを借りており、その中で作成したデータベースにphpMyAdminにてテーブルやカラムの作成を行いました。以下のプログラムは「db_sample.php」という名前で保存(エンコード:utf-8)し、レンタルサーバーの公開しているフォルダ「httpdocs」にffftpにてアップロードしています。バージョンは、phpMyAdmin2.11.11.3と、php4.1?(最新の5.2よりひとつ前のもの) ここでは仮に ホスト名:aaa.com (←これは独自に作成したドメイン名でいいのかな?) ユーザー名:user パスワード:pass データベース名:db テーブル名:person とします。 ----------以下プログラム------------ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Style-Type" content="text/css"> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <title></title> </head> <body> <?php //データベースサーバ名の設定 $db_host = "aaa.com"; //ユーザ名の設定 $db_user = "user"; //パスワードの設定 $db_passwd = "pass"; //データベースサーバへの接続 $db = mysql_connect($db_host,$db_user,$db_passwd); //データベース名の設定 $db_name = "db"; //データベースの選択 mysql_select_db($db_name,$db); //SQL文の設定 $str_sql = "select * from person"; //SQL文の実行 $rs = mysql_query($str_sql,$db); //結果セット内の各レコードを順次参照し、連想配列に代入 while($arr_item = mysql_fetch_assoc($rs)) { //レコード内の各フィールド名と値を順次参照 foreach($arr_item as $key => $value) { //フィールド名と値を表示 print "[{$key}] = {$value}<br>\n"; } print "<br>\n"; } //データベースサーバへの接続の切断 mysql_close($db); ?> </body> </html> ------------------------------------------ わかる方いらっしゃいましたらご教授願います。

専門家に質問してみよう