トップページphp
1001コメント316KB

【PHP】下らねぇ質問はID出して書き込みやがれ 89

■ このスレッドは過去ログ倉庫に格納されています
00012009/10/11(日) 21:18:54ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 88
http://pc11.2ch.net/test/read.cgi/php/1253061577/

◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0520nobodyさん2009/10/23(金) 01:34:58ID:???
SQLを動かすクラスと、それを運用するクラスと分けるべきだな
0521nobodyさん2009/10/23(金) 01:38:30ID:U1ZTI1ef
スレ違いかもしれないのですが、該当のスレが見つからなかった為、こちらで質問をさせてください。

現在、PHPとMySQLを組み合わせたウェブサイトを作っています。
MySQLのデータベースには2つのテーブル(テーブルA、テーブルB)があり、PHPからこの2つのテーブルを参照し、以下の様に表示させたいと考えています。

data_id (参照A)
info (参照A)
date(参照A)
sonota(参照A)
koshin_joho(参照B) // テーブルBもdata_idを持っていて、テーブルAのdata_idとマッチする時のみ、ウェブにkoshin_johoを表示

現在、phpファイルからテーブルAの方はループを使ってそれぞれのカラムを参照し、表示する事ができているのですが、
テーブルAのためにループを使っているためか、テーブルBを参照する事ができません。
どのようにすればループを使ってMySQLに登録されているデータを一度にウェブ表示させている状態で、
テーブルAとテーブルBをループ内で同時に表示する事ができるのでしょうか?

長文失礼致しました。
0522nobodyさん2009/10/23(金) 01:38:50ID:???
>>520
結局よく分からないけど、
(1) SQL文はクラスに直書き?外だし?
(2) いずれにしても、SQL文が1000個あったら、1000クラス(ファイル)作るの?じゃないなら、グループ化の基準は?
(3) WHERE文の要素が可変の時は?

俺は、MVCでいうところのModelに全て直書き。だから、ソースのあちらこちらにSQL文が書かれている。
05235212009/10/23(金) 01:39:25ID:U1ZTI1ef
テンプレを忘れていました。

【OS名】CentOS 5.3
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
0524nobodyさん2009/10/23(金) 01:44:05ID:???
あー。。>>519のDBクラスはたとえが良くないなー。

BBSクラスにしよう。
BBSクラスはBBSに関する全ての情報・操作を引き受ける人。
他人はデータ取得・保存はできるだけ単純にできるようにってだけ。

だから、
取得する条件・対象ごとにメソッド分けるのとパラメタで指定するのと
一概にどっちがいいとはいえない。
0525nobodyさん2009/10/23(金) 01:44:26ID:???
>>521
koshin_johoも一緒に取得すればいいんじゃないの?
マッチしない場合は取得できないわけだし
0526nobodyさん2009/10/23(金) 01:46:19ID:???
>>521
えーっと、、リレーションって知ってる?
0527nobodyさん2009/10/23(金) 01:47:10ID:???
>>524
前半は、いいとして、

> 取得する条件・対象ごとにメソッド分けるのとパラメタで指定するのと
> 一概にどっちがいいとはいえない。
それは、クラスを使いながら、考え方が全然オブジェクト指向じゃない。
0528nobodyさん2009/10/23(金) 01:48:25ID:???
>>522
1.SQLの機能をラップしたクラス
2. 1のクラスを使って機能を実現するクラス

という感じで分けてる、SQLは2へ直書き。
おそらくそれ以上ラップしたり、粒度を増やしても使うことは無いからということで。
05295212009/10/23(金) 01:49:08ID:U1ZTI1ef
現在書いているPHPのコードはこのような感じです。

$sql1 = "SELECT x FROM tableA";
$sql2 = "SELECT x FROM tableB";
$tablea = mysql_query($sql1);
$tableb = mysql_query($sql2);

while($row = mysql_fetch_array($tablea)){
echo $row['data_id'] ;
echo $row['info'] ;
echo $row['date'] ;
echo $row['sonota'] ;
}

while ($row2 = mysql_fetch_array($tableb)){
if ($row2['data_id'] eq $row['data_id']){
echo $row2['koshin_joho'];
}
}
0530nobodyさん2009/10/23(金) 01:52:48ID:???
>>529
SELECT * FROM tableA NATURAL JOIN tableB
0531nobodyさん2009/10/23(金) 01:53:32ID:U1ZTI1ef
>>525,526

ありがとうございます。
こういう事でしょうか?

$sql = "SELECT x FROM tableA, tableB where tableA.data_id = tableB.data_id";
$table = mysql_query($sql);

while($row = mysql_fetch_array($table)){
echo $row['data_id'] ;
echo $row['info'] ;
echo $row['date'] ;
echo $row['sonota'] ;
echo $row['koshin_joho'];
}
0532nobodyさん2009/10/23(金) 01:56:08ID:???
>>527

スレッド名一覧をとる
getAll()
ID指定してスレッドとる
getById()

なんて分けるのは割りとあると思うけどなー
返ってくるモノが違うってとき。
0533nobodyさん2009/10/23(金) 01:57:50ID:U1ZTI1ef
>>530
それだとkojin_johoが書かれているテーブルの内容しか表示されません。
0534nobodyさん2009/10/23(金) 02:04:16ID:???
>>533
そこまで分かってるなら普通に結合も分かれよw ネタかよw
0535nobodyさん2009/10/23(金) 02:09:54ID:???
>>533
外部結合でググろう

SELECT * FROM tableA LEFT JOIN tableB ON tableA.data_id = tableB.data_id;
0536nobodyさん2009/10/23(金) 02:12:01ID:???
つTECHSCORE
0537nobodyさん2009/10/23(金) 02:25:34ID:U1ZTI1ef
>>534
最近MySQLをはじめたものですいません。

>>535
完璧です。ありがとうございました。
0538nobodyさん2009/10/23(金) 05:47:37ID:QLP+l4hN
http://php5.seesaa.net/category/3798060-1.html
このサイト使ってphpを始めたのですが、POSTとGETを同時に使う重要性が分からないです。
Formタグの action の項目にGETをあらかじめ入力しているだけなので、ブラウザでのユーザの操作で変化しないです。
確かに同時に使っていますが、メリットが分からないです。むしろ、ユーザに書き換えられる危険性の方が高い気がします。
またhidden についても同様で、わざわざ入門のページにある割に、使い道が分からないです。
POSTとGETを同時に使う意味はありますか?
0539nobodyさん2009/10/23(金) 06:08:57ID:???
重要なんて書いてある?
ケースバイケースで両方使う場合もあると書いているんだろう
俺もいろいろ書いてきたがGETとPOSTを併用したのは1度だけある
どういうケースで使ったのかはちょっと思い出せないが併用したことは覚えている
必要になれば使えばいいだけの話だからそんな深く考えなくていいよ
一生使わないかもしれないし頻繁に使うかもしれないし
結局その人が何作ってるか・どういう風に組んでいるかによる

hiddenはたとえば何かのアカウントを取得するときを想定するとわかりやすい
アカウント取得には

登録のために個人情報を入力する(Input)→
登録確認(個人情報確認)画面に進み登録するか確認する(Confirm)→
登録完了

というプロセスをとる場合が多いわけだが
Input画面で入力した情報をConfirm画面で出力するためには
Confirm画面にどうにかしてInput画面で入力したものを受け渡さないといけない
そういうときに使うのがhidden
ようするに前のページの情報をページ遷移(移動)後でも使うために使う(情報を持ちまわすのに使う)
0540nobodyさん2009/10/23(金) 07:28:00ID:???
すみません。PHPってウェブサーバー上でしか実行できませんか。
例えばコマンドプロンプトからバッチファイルはexeみたいに
実行できないでしょうか?
0541nobodyさん2009/10/23(金) 07:35:54ID:???
>>539
なるほど 隠す用途じゃなくて見えなくさせているだけってことか。
入力された変数をhiddenのところにprinfするなら、確かに次も値を使えそうです。
2chにブラウザで書き込んだ時に出る「書きこみ&クッキー確認」の画面でもhiddenを見つけられました。
ありがとうございました。
0542nobodyさん2009/10/23(金) 08:45:41ID:pXxGvaT3
>>482
「PHPの」初心者ですが、
「セッション管理に失敗しない10の方法」を教えて頂けませんでしょうか。

0543nobodyさん2009/10/23(金) 09:13:04ID:???
PEARって全部使えないと思うのは俺だけですか?
0544nobodyさん2009/10/23(金) 09:27:52ID:???
>>543
先日まで触ったこともなかったけどSMTP_AUTHを使う必要があってMailを使ったよ
0545nobodyさん2009/10/23(金) 10:39:30ID:???
>>540
普通にできます
0546nobodyさん2009/10/23(金) 11:43:28ID:???
>>545
できました。
0547nobodyさん2009/10/23(金) 21:49:42ID:???
安藤さんがOSS受賞したね
0548nobodyさん2009/10/23(金) 22:02:21ID:???
だれや?
キャスターか?
0549nobodyさん2009/10/24(土) 00:11:00ID:???
>>513
これギャグだろ?
0550nobodyさん2009/10/24(土) 00:40:41ID:BvPjRTUm
new SQLiteDatabaseで作られたコンストラクタで
データベースをcloseするにはどうしたらいいですか?
0551nobodyさん2009/10/24(土) 00:51:30ID:???
$db->close();
0552nobodyさん2009/10/24(土) 00:54:41ID:BvPjRTUm
Fatal error: Call to undefined method SQLiteDatabase::close()
0553nobodyさん2009/10/24(土) 04:14:41ID:???
そのクラスに閉じるメソッドが使われていなくて
コンストラクトでオープンするようになっている場合
デスクトラクト時にそのクラス側で勝手に終了してくれてると考えるきでは?
0554nobodyさん2009/10/24(土) 04:18:45ID:???
なんか日本語が変だった・・・

そのクラスに閉じるメソッドが定義されていなくて
コンストラクターでオープンするようになっている場合
デスクトラクターで勝手に閉じてくれていると考えるべきでは?

実際にそのクラスの中身はみてないしどういうのもしらないが
0555nobodyさん2009/10/24(土) 04:28:53ID:???
何言ってんの?
0556nobodyさん2009/10/24(土) 04:43:06ID:???
分からないなら無理してレスしなくていいよ
教えてほしいならどこがどうわからないのかID出して質問してね
0557nobodyさん2009/10/24(土) 05:22:59ID:???
>>555
554で言ったとおりどういうクラスかもしらないし中身もしらないけど(というよりSQLite使ったことない)

class SQLiteDatabase {

 private DB接続ポインタ;

 function __construct(接続情報) {
  $this->DB接続ポインタ = sqliteオープン(接続情報);;
 }

 function query($sql) {
  return 結果を配列で返す($sql);
 }

 function __destruct() {
  sqliteクローズ($this->DB接続ポインタ);
  //$this->DB接続ポインタ = null;
 }
}

$obj = new SQLiteDatabase(接続情報);
$res = $obj->query("SELECT * FROM hoge WHERE 1");
foreach ($res as $row) {
 echo $row."<br>";
}
//ここでデストラクターが呼ばれて勝手に終了する

たぶんこんな構造になってるんじゃないかと(間違ってるかもしれないけど)
SQLite自体明示的に終了させる必要がないDBかもしれないしその辺の事情は知らない
0558nobodyさん2009/10/24(土) 05:24:18ID:???
下らんコード書く暇あったら確認しろよ
0559nobodyさん2009/10/24(土) 05:28:37ID:???
>>558
そんなクラス見つからなかったんだけどなぁ
探し方が悪かったんだろうか
よかったらリンクはってちょうだい
0560nobodyさん2009/10/24(土) 07:37:49ID:???
そしてリンクをはらない>>558であった
0561nobodyさん2009/10/24(土) 08:20:12ID:???
>//ここでデストラクターが呼ばれて勝手に終了する
$objがスコープ内にいるのにデストラクタが呼ばれちゃまずいだろ。
0562nobodyさん2009/10/24(土) 08:25:17ID:???
>>561
<?php
class Hoge {
function Hoge() {
echo "construct<br>\n";
}
function a() {
return array("a", "b", "c");
}
function __destruct() {
echo "destruct<br>\n";
}
}

$obj = new Hoge;
foreach ($obj->a() as $value) {
echo $value."<br>\n";
}
?>
0563nobodyさん2009/10/24(土) 08:44:46ID:???
ほんとこのスレ初心者ばっかだなw
0564nobodyさん2009/10/24(土) 09:21:19ID:???
http://www.php.net/manual/ja/function.sqlite-close.php

しかし相変わらずだな。
0565nobodyさん2009/10/24(土) 09:29:15ID:???
http://www.php.net/manual/ja/ref.sqlite.php

これ見方がわからないんだけど
SQLiteDatabase
SQLiteResult
SQLiteUnbuffered
に定義されてる各メソッドはそのクラスのみで使えて
目次のとこに書かれてるのは共通に使えるメソッド?

なんか無名関数のせいでマニュアルの見方がむずくなってきてる気がする・・・
0566nobodyさん2009/10/24(土) 09:34:01ID:???
マルチパラダイムだから仕方ないがこれはひどい
明確に分ければいいのに
0567nobodyさん2009/10/24(土) 09:49:09ID:o7jv7fS8
PHP、PEAR、Smartyはだいたい理解できました
しかし、実際HTMLなどのクライアントサイド側との連携がいまいち良く分かりません
本やちょっとしたPHP解説のサイトなどはメソッドとかプロパティなどの説明で終わっているもので

フォームなどの基本的な事は何処にでも書いてあるので分かるのですが、実践的なPHPとクライアントサイドとの連携したコードなど
書いてある書籍など自分の県では見つけられませんでした
実際にサイトを作る為のクライアント+サーバサイドを連携させたサンプルコードの載っているサイトや書籍は何かないでしょうか?
宜しくお願い致します
0568nobodyさん2009/10/24(土) 09:50:26ID:???
Ajaxのことだろ
Ajaxスレいってください
0569nobodyさん2009/10/24(土) 09:55:04ID:???
jquery
0570nobodyさん2009/10/24(土) 10:02:54ID:o7jv7fS8
えっ?
Ajaxですか?
Ajaxの事ではなく、例えばテンプレートとか実際に実装して作ったサンプルとかです
説明不足だったようです、すみません

例えば、Webデザインブックなどはいくらでも出ていますが、それらはただHTMLとCSSで実装しています
まぁたまにJavaScriptなどもありますが
自分は、人がサイトにアップロードした画像をサイトに情報つきで載せてレイアウトも崩れないようにしたいとか
(つまり$_FILESの概念はわかるけれどそれを実際クライアント側のコードにどのようにテンプレート内に実装・レイアウトしていくか)、
PEARによるログイン認証を行った後でそのログインしたユーザーのみが動的コンテンツを利用するためにはどのようにすればいいのか、
とかまぁ書けば色々と長くなりそうですが、そういう事です
自分側がただ作ったサイトを公開するだけではなく、ユーザーの参加できるようなサイトの作り方を、簡単でもいいので解説しているサイトや書籍が知りたいのです
0571nobodyさん2009/10/24(土) 10:05:27ID:???
>>557
おいおいwあんまり>>555をいじめんなよw
そんなの見せても>>555にはチンプンカンプンなんだぜwwwwwwww
今頃顔真っ赤にしてるだろうけど二度と出てこないよww
0572nobodyさん2009/10/24(土) 11:35:30ID:???
>>571
そういうのは、実際に必要になった時に調べたり考えたりしてもいいと思う。
PHPで家計簿でも何でもいいんで作ってみれば、分かってくるんじゃないかな。
気力があるなら、人が作成したPHPのプログラムを落としてHTML部分がどうなってるか探してみるのが言いかと
0573nobodyさん2009/10/24(土) 11:39:51ID:???
そりゃクライアント+サーバサイドの連携っていったら
JavaScriptとPHPの連携っていってるようなものだからAjaxって答えが返ってくるのも無理もない
MixiやYoutubeのようなSNSサービスをやりたいってことね
セッションとか勉強するといいよ
0574nobodyさん2009/10/24(土) 11:55:49ID:???
>>562
閉じタグとファイル終端は、直接関係無い。
タグ閉じただけじゃスコープ閉じないんだぜ。
0575nobodyさん2009/10/24(土) 11:58:58ID:???
日本語でおk
0576nobodyさん2009/10/24(土) 12:00:54ID:???
でてこいよ>>555wwwwwwwwwwwwwwwGOGOGOwwwwwwwwwwwwwwwwww
0577nobodyさん2009/10/24(土) 12:01:27ID:o7jv7fS8
>>572
レスアンカーは自分(>>570)にですよね?
そうだと思って返答させて下さい

>人が作成したPHPのプログラムを落としてHTML部分がどうなってるか探してみる

こういうのはWebサイトで検索して、人が書いたサンプルコードを集めて学習しろという事なのでしょうか?
それとも、自分は知らない(というかコードを読み取られると危険なのでそもそも出来ないのではと思うのですが)、ソース読み取りソフトとかあるのでしょうか?
例えばWebサイトであればIEのソース機能やFireFoxのFireBugのようなHTMLのコードを表示出来る様なソフトの事です



>>573
あぁ、すみませんでした
自分の表現がおかしかったようです
HTML+CSSにPHP(テンプレートやライブラリ含む)を組み込んで実装する、実際に運営する為の雛形コードを学習したかったのです
0578nobodyさん2009/10/24(土) 12:05:25ID:???
>>570
単にフォームからのリクエストを処理するPHPのコード、ってんなら、
PHPの本で2〜3章かけて解説してるんじゃね?
あとは自分の作りたいものに似てるの探して、コード読むべし。
0579nobodyさん2009/10/24(土) 12:05:29ID:???
>HTML+CSSにPHP(テンプレートやライブラリ含む)を組み込んで実装する、
>実際に運営する為の雛形コードを学習したかったのです

フレームワークのview部分とか見てみるといいかもしれない
0580nobodyさん2009/10/24(土) 12:10:51ID:???
>>574
aaa<br>
<?php
>>562のコード
?>
bbb<br>

でbbb<br>より後にdestructが現れるってことか?
どっちみちDBクローズならそれでもいいだろ
05815552009/10/24(土) 12:11:40ID:???
すいませんでした
無知を晒してしまいました
ごめんなさい
0582nobodyさん2009/10/24(土) 12:22:14ID:???
ちなみにスコープ閉じるってどうやるの?
objにnullいれるだけ?
0583nobodyさん2009/10/24(土) 12:59:43ID:???
>>580
その下にまた<?phpが出てくるとか、include/requireされてるとか。

>>582
$objはスコープから外れてないけど、インスタンスは
ガベージコレクションで回収されるから、そのときに
デストラクタが起動されるんだと思う。

PHPで明示的なスコープって言ったら関数かな。
ローカル(グローバルでない)変数のスコープは関数内でしょ。
0584nobodyさん2009/10/24(土) 13:03:20ID:???
>>281
いやだからそれは俺が振られた理由になってねえよ
なんで会社の休憩時間にイタリアフルコース頼まないといけないんだよ
0585nobodyさん2009/10/24(土) 13:16:46ID:???
フラれたのか、ま、元気だせ、応援してるから。
0586nobodyさん2009/10/24(土) 13:56:20ID:???
要らないもんはunsetしちゃおうぜ
05875522009/10/24(土) 14:16:10ID:BvPjRTUm
結局クラスを自作して対応しました。
class sqlite{
  var $_result = array();
  var $_pointer = null;
  var $_message = null;
  function connect($dbfile){
    return $this->_pointer = sqlite_open($dbfile,0666,$this->_message);
  }
  function close(){
    sqlite_close($this->_pointer);
  }
  function exec($que){
    return sqlite_exec($this->_pointer,$que,$this->_message);
  }
  function array_query($que){
    return sqlite_array_query($this->_pointer,$que,$this->_message);
  }
  function get_escape($str){
    return sqlite_escape_string($str);
  }
  function get_result(){
    return $this->_result;
  }
  function get_pointer(){
    return $this->$_pointer;
  }
  function get_message(){
    return $this->$_message;
  }
}
0588nobodyさん2009/10/24(土) 14:37:03ID:???
>>587
オブジェクト指向スタイル用意されてる意味ねーw
0589nobodyさん2009/10/24(土) 14:57:50ID:???
fscanfがおかしいです
0590nobodyさん2009/10/24(土) 18:28:54ID:???
なるほどね、凸者さんの判断次第ってことか。
あと、ヤンデレこえぇwww
0591nobodyさん2009/10/24(土) 18:29:35ID:???
誤爆
0592nobodyさん2009/10/24(土) 19:04:29ID:???
どうしてもnewで作ってclose()したいんだ、という強い意志が感じられます。
若いっていいね。
0593nobodyさん2009/10/24(土) 19:35:19ID:???
>どうしてもnewで作ってclose()したいんだ、という強い意志が感じられます。

はずかしいから黙ってて
0594nobodyさん2009/10/24(土) 20:43:07ID:???
newで作ったらdeleteを使いたくなるよね。
で、ダミー関数であるdeleteが登録されてるせいで、
delete($classA)とか書いてもしばらく気がつけない
0595nobodyさん2009/10/24(土) 20:45:44ID:???
え?
0596nobodyさん2009/10/24(土) 20:47:28ID:???
え?
0597nobodyさん2009/10/24(土) 21:14:45ID:???
これ何のスレだっけ
0598nobodyさん2009/10/24(土) 21:21:53ID:???
質問じゃない時はsageで書きやがれスレ
0599nobodyさん2009/10/24(土) 22:35:42ID:aM0DiAaq
【OS名】Windows xp
【PHPのバージョン】php5.2.10
【連携ソフトウェア】mysql
【質問内容】
心理テストのようなサイトを作ろうとしています。
何人がその答えを選んだかの集計と、
それとは別に選んだ答えがどのような性格をあらわすのかを表示できるようにしたいです。
チェックボタンを選んだ状態で「あなたはこんな人」のようなラジオボタンで
そのページに遷移させたいです。
どのようにしたらいいのでしょうか?
アバウトな質問でごめんなさい。
0600nobodyさん2009/10/24(土) 22:39:54ID:???
>>599
で、何ができないの?PHP?本買え
0601nobodyさん2009/10/24(土) 22:39:57ID:???
>>599
そのまんまじゃね?何が問題なんだ?
0602nobodyさん2009/10/24(土) 22:40:40ID:???
全部作らせる気かww
最近の若者は安易だなぁ
0603nobodyさん2009/10/24(土) 22:45:01ID:aM0DiAaq
くだらなすぎてごめんなさい・・・
0604nobodyさん2009/10/24(土) 22:45:53ID:???
くだらないというか何が(どこが)できないのかが分からんのだよ
0605nobodyさん2009/10/24(土) 22:50:44ID:aM0DiAaq
アンケートのページで「投票」を押したらその選んだ結果によって違うページに飛ばしたいです。
例えば赤を選んだら赤色を好きな人の性格について書いてあるページで、
青を選んだら青色が好きな人の性格について書いてあるページです。
アバウトすぎてごめんなさい。
0606nobodyさん2009/10/24(土) 22:51:31ID:aM0DiAaq
今こんな感じで書いているところです。。

<html>
<head><title>心理テスト</title></head>
<body>
<h1>メンタル編</h1>
<p>あなたがいつか天国へ旅立つとしたら、何色の石をお守りにしたいですか?
<?php
// スクリプト名取得
$script = basename(__FILE__);
// メンバー名配列
$member = array("", "赤いルビー", "ピンクのローズクォーツ", "ゴールド",
"イエロートパーズ", "緑のヒスイ", "青のラピスラズリ", "紫水晶", "白の水晶");

// 投票がある場合
if ($_POST['COLOR'] > 0) {
// 投票者番号
$no = $_POST['COLOR'];
// MySQLに接続
$db = mysql_connect("localhost", "root", "root");
// DB選択
mysql_select_db("graduation", $db);
// insert文実行
mysql_query("insert into ninki values(null, {$no},
now())", $db);
// DB切断
mysql_close($db);
}
?>
0607nobodyさん2009/10/24(土) 22:52:32ID:aM0DiAaq
<p><font color="red"><?= $msg ?></font></p>
<form method="POST" action="<?= $script ?>">
<p><input type="radio" name="COLOR" value="1">赤いルビー</p>
<p><input type="radio" name="COLOR" value="2">ピンクのローズクォーツ</p>
<p><input type="radio" name="COLOR" value="3">ゴールド</p>
<p><input type="radio" name="COLOR" value="4">イエロートパーズ</p>
<p><input type="radio" name="COLOR" value="5">緑のヒスイ</p>
<p><input type="radio" name="COLOR" value="6">青のラピスラズリ</p>
<p><input type="radio" name="COLOR" value="7">紫水晶</p>
<p><input type="radio" name="COLOR" value="8">白の水晶</p>
<p><input type="submit" value="投票"></p>

</body></html>


こんな感じです。
ごめんなさい。
0608nobodyさん2009/10/24(土) 22:56:06ID:???
>>607
switch($COLOR){
case 1
処理&リダイレクト1
break;
case 2
処理&リダイレクト2
break;
case 3
処理&リダイレクト3
break;
.....
}

あとaction="<?php echo $script ?>"はまずくね?
それだったらaction=""で空でいいと思うよ
0609nobodyさん2009/10/24(土) 22:58:11ID:???
case 1:

ね":"を忘れずに
0610nobodyさん2009/10/24(土) 23:01:10ID:aM0DiAaq
>>608
>>609
やってみます
情けない質問に答えてもらってありがとうございます

0611nobodyさん2009/10/24(土) 23:05:20ID:???
情けない質問wwww
0612nobodyさん2009/10/24(土) 23:24:44ID:TvoLhocc
switch内のbreak;のインデントってたまに悩むけどどうしてますか?
俺はcaseからインデントつけて位置に書いてるけど
そうすると最後でインデントが2つ一気になくなってしまう違和感がある
>>608みたいに書くとcase処理内な感じがしない違和感
0613nobodyさん2009/10/24(土) 23:34:28ID:???
>>612
その書き込みエスケープされただけだお

  case $a:

 break;

が多いけどおれも結構曖昧だ
0614nobodyさん2009/10/24(土) 23:35:29ID:???
逆だ

 case $a:

  break;

0615nobodyさん2009/10/24(土) 23:41:58ID:???
switch ($a) {
 case 0:
  do_something();
  break;
 case 1:
  do_something();
  break;
 default:
  do_something();
  break;
}

どの言語の解説でもたいていこうなってるしこれがスタンダードじゃないかね
0616nobodyさん2009/10/24(土) 23:42:52ID:???
下らねぇ回答はID出さないでここに書き込みやがれ 90
0617nobodyさん2009/10/25(日) 00:28:25ID:???
次スレの季節か
0618nobodyさん2009/10/25(日) 00:56:35ID:???
switch文で気になったのでメモ
switch('a'){
 case 'a'; //末尾が ;
}

switch('a'){
 case 'a': //末尾が :
}
は等価
0619nobodyさん2009/10/25(日) 05:29:05ID:TWuysydg
$test = " 1c 2c 3c!";
$search = "/([^0-9])([0-9])c([^0-9])/";
$replace = "$1c$2$3";
echo preg_replace($search, $replace, $test);

これで、期待する出力は
c1 c2 c3!
実際の出力は
c1 2c c3!

質問は、
・なぜこのような動作になるのでしょうか?
・どうすれば解決できるでしょうか?

後、欲しいアイデアとして
・"1c 2c 3c"のように、先頭にスペースを入れなくても"c1 c2 c3"に変える正規表現を教えてほしい
(ただし"11c"のような形の場合は変化させないでほしい)
■ このスレッドは過去ログ倉庫に格納されています