• ベストアンサー

複数指定の方法

if ($Type == 'jpg' || $Type == 'gif') $Media->Category = 1; else if ($Type == '3gp' || $Type == '3g2') $Media->Category = 2; Categoryは上記では1~2までしかありませんが 実際には5まであります。 Typeがjpgかgifだった場合のカテゴリは1ですが これを1と3と4と5の複数に変更したいです。 このように複数にする場合はどのように記述したら良いでしょうか? Category1を選択した場合はjpg,gif Category2を選択した場合は3gp,3g2 Category3~5を選択した場合はjpg,gifに対応するという具合です。 ご教授いただけると幸いです。 宜しくお願い致します。

  • PHP
  • 回答数3
  • ありがとう数10

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

  • ベストアンサー
noname#111181
noname#111181
回答No.2

ANo.1で回答した者です。お礼メッセージをありがとうございます。 言われたように書くと下記のようになりますが、このスクリプトでは Typeがjpg,gifの時に必ず Category = 5 になってしまいます。まだ条件が足りないと思うのですが・・・・ ------------------------------------ if ($Type == 'jpg' || $Type == 'gif') { $Media->Category = 1; $Media->Category = 3; $Media->Category = 4; $Media->Category = 5; } else if ($Type == '3gp' || $Type == '3g2') { $Media->Category = 2; }

その他の回答 (2)

  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.3

>Category3~5を選択した場合はjpg,gifに対応する この表現だと、Category の選択値が先にあって、それに応じて、type分岐ですよね? その順なら switch でも、if でも switch($Media->Category){ case 2: $Type ='3gp,3g2'; break; case 1: case 3: case 4: case 5: $Type = 'jpg,gif'; break; default: ?? } 回答1の補足での 「Typeが先に決まります。」 だと、type一個にたいして、$Media->Category という変数がスカラー値(単一の数値や文字列)である前提ならば、複数のデータを入れられません。配列にすれば、複数保持は可能。 その場合は、$Media->Category データを利用するところを軒並み配列対応に変更が必要になります。

happy7happy7
質問者

お礼

皆さん、ありがとうございました。

noname#111181
noname#111181
回答No.1

条件がよくわかりません。以下の点をお知らせください。 1.TypeとCategoryのどちらが先に決まるのですか? 2.Typeが先に決まるのだとしたら、Type=jpg/gifのとき、どのような条件でCategory=1,2,4,5の場合分けをすればよいのですか? 3.Categoryが先に決まるのだとしたら、Category=1/2/4/5のとき、どのような条件でType=jpg,gifの場合分けをすればよいのですか?

happy7happy7
質問者

お礼

回答ありがとうございます。 Typeが先に決まります。 Typeがjpg,gifの時に $Media->Category = 1; ↑これに345を追加したいです。 宜しくお願い致します。

関連するQ&A

  • 同じメソッドを複数回、呼び出しは可能でしょうか

    <script> var arg = new Object, p = location.search.substring(1).split('&'); for(var i=0; p[i]; i++){ var kv = p[i].split('='); arg[kv[0]] = kv[1]; } window.onload = function (){ if(01 == arg.id){document.getElementById("type").innerHTML = "あなたはA型";} else if(02 == arg.id){document.getElementById("type").innerHTML = "あなたはB型";} else if(03 == arg.id){document.getElementById("type").innerHTML = "あなたはO型";} else if(04 == arg.id){document.getElementById("type").innerHTML = "あなたはAB型";} else {document.getElementById("type").innerHTML = "わかりません";} } </script> サイトへの表示は <span id="type"></span> と記述することで、問題なく表示ることができています。 しかし、これを複数個所に記述すると 最初の箇所しか表示しません。 同じページの複数の箇所(希望は4か所)に表示させるためには、 どのようにすればよいのでしょうか。

  • フォームで複数の関数を1つにまとめる方法

    フォームに関して、必須項目が未入力・未選択の場合に警告する JavaScriptを記述したいのですが、 複数のJavaScriptを1つにまとめるにはどうしたら良いのでしょうか。 具体的には、 【1】テキストフィールド未入力の場合に警告する 【2】メールアドレスが間違いor未入力の場合に警告する 【3】セレクトボックスが未選択の場合に警告する という3つを同じページで同時に設定する方法が分かりません。 記述した内容は下記の通りです。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 【1】 <script type="text/javascript"> <!-- function check(){ var flag = 0; // 設定開始(必須にする項目を設定してください) if(document.form1.field1.value == ""){ // 「お名前」の入力をチェック flag = 1; } else if(document.form1.field2.value == ""){ // 「ご住所」の入力をチェック flag = 1; // 設定終了 if(flag){ window.alert('必須項目に未入力がありました'); // 入力漏れがあれば警告ダイアログを表示 return false; // 送信を中止 } else{ return true; // 送信を実行 } } // --> </script> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 【2】 <script type="text/javascript"> <!-- function check(){ var flag = 0; // 設定開始(チェックする項目を設定してください) if(!document.form1.email.value.match(/.+@.+\..+/)){ flag = 1; } // 設定終了 if(flag){ window.alert('メールアドレスが正しくありません'); // メールアドレス以外が入力された場合は警告ダイアログを表示 return false; // 送信を中止 } else{ return true; // 送信を実行 } } // --> </script> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 【3】 <script type="text/javascript"> <!-- function check(){ var flag = 0; // 設定開始(チェックする項目を設定してください) if(document.form1.select1.options[document.form1.select1.selectedIndex].value == ""){// 「地域」の入力をチェック flag = 1; } else if(document.form1.select2.options[document.form1.select2.selectedIndex].value == ""){ // 「生年月」の入力をチェック flag = 1; } else if(document.form1.select3.options[document.form1.select3.selectedIndex].value == ""){ // 「生年日」の入力をチェック flag = 1; } // 設定終了 if(flag){ window.alert('選択されていません'); // 選択されていない場合は警告ダイアログを表示 return false; // 送信を中止 } else{ return true; // 送信を実行 } } // --> </script> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 【本文】 <form name="form1" onSubmit="return check()"> ■お名前:<input type="text" name="field1" size="30" style="ime-mode:active;"> ■メールアドレス:<input type="text" name="email" size="30" style="ime-mode:inactive;"> ■地域: <select name="select1"> <option value="北海道">北海道</option> <option value="青森県">青森県</option> ・ ・ </select> ■ご住所<input type="text" name="field3" size="60" style="ime-mode:active;"> ■生年月日 <select name="select2"> <option>1</option> <option>2</option> ・ ・ </select>月 <select name="select3"> <option>1</option> <option>2</option> ・ ・ </select>日 </form> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ JavaScriptの記述経験が殆ど無いため、 出来る限り詳しくご教示願いたく、 よろしくお願い致します!

  • WORD2007で複数のJPG等オブジェクトの選択方法

    WORD2003までは、画面上にある複数のJPGやBMPなどの画像ファイルは白抜き矢印の「オブジェクトの選択」で簡単に選択でき、これにより一括削除やグループ化などができました。これにワードアートが加わっても同様にできました。 しかしWORD2007ではこれができないようです。画面上に2つのJPGと一つのワードアートがあり、それぞれの文字列の折り返しは「前面」とした場合、ホーム→右端の選択から「オブジェクトの選択」をすると1つのワードアートしか選べません。JPGは無視されます。 何かやり方がありましたらご教授のほどお願い致します。

  • 指定時間ごとに画像とリンク先を変えるには?

    バナーが指定時間ごとに変わるページを 作りたいと思っているのですが 下記のソースではどうもうまくいきません。 <HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=x-sjis"> <TITLE>指定時間毎に画像とリンク先を変えるには?</TITLE> </HEAD> <BODY BGCOLOR="#ffffff" onLoad="banner()"> <SCRIPT language="JavaScript"> <!-- num=1; function banner(){ if(num==1){ document.photo.src="img/no_0.gif", document.photo.href= "http://www.test.co.jp/0"; num=2; }else if(num==2){ document.photo.src="img/no_1.gif", document.photo.href= "http://www.test.co.jp/1"; num=3; }else if(num==3){ document.photo.src="img/no_2.gif", document.photo.href= "http://www.test.co.jp/2"; num=4; }else if(num==4){ document.photo.src="img/no_3.gif", document.photo.href= "http://www.test.co.jp/3"; num=5; }else if(num==5){ document.photo.src="img/no_4.gif", document.photo.href= "http://www.test.co.jp/4"; num=6; }else if(num==6){ document.photo.src="img/no_5.gif", document.photo.href= "http://www.test.co.jp/5"; num=1; } setTimeout("banner()",5000); } //--> </SCRIPT> <a href="http://www.test.co.jp/ng" NAME="photo"><IMG SRC="img/1.jpg" NAME="photo" ALIGN="BOTTOM" WIDTH="60" HEIGHT="110" BORDER="0"></a> </BODY> </HTML> 画像は変わるのですがリンク先が変わらないようで…。 どなたかご指示をいただけないでしょうか?

  • preg_matchの使い方

    選択した画像ファイルをgifフォルダにアップロード保存して 同入力画面にも出力するサンプルの勉強をしています。 「preg_match」を使ってアップロードできるファイルを gif,jpg,pngに限定するというようにしたいのですが 使い方が間違っているようで上手く行きません。 どこが間違っているのでしょうか? よろしくお願いいたします。 ---------------------------------------------------------- <html> <body> <form action="" method="post" enctype="multipart/form-data"> <input type="file" name="data"> <input type="submit" value="表示"> </form> <?php $updir = "./gif/"; $filename = $_FILES["data"]["name"]; if(file_exists($_FILES["data"]["tmp_name"])){ $filesize = filesize($_FILES["data"]["tmp_name"]); if($filesize <= 100000){ if(preg_match("/\.gif$ | \.jpg$ | \.png$/", $filename)){ ←←※※※ move_uploaded_file($_FILES["data"]["tmp_name"], $updir.$filename); echo "ファイル名".$filename."アップロード成功!"; echo "<br><br>"; echo "<img src='./gif/$filename'>"; }else{ echo "jpg,pngもしくはgifのファイルしかアップできません。"; } }else{ echo "$filesize バイト。ファイルサイズが大きすぎます。"; } } ?> </body> </html> ----------------------------------------------------------

    • ベストアンサー
    • PHP
  • phpでのメールフォームの画像表示について

    メールフォームを作成しているのですが、そこで画像の選択があります。 確認画面では画像の値(id="***")のみ表示させることができるのですが、選択した画像(jpg)も表示させたいと考えています。 PHPを使用していまして、フォームには下記のように記述しました。 <input type="radio" name="test" id="test01" value="radio" <? if( strcmp($DISP["test"],'test01')==0 ){ echo( 'checked="checked"' ); } ?> /> 確認画面にはこのように記述しました。 <? if( $DISP["test"] ){ echo $DISP["test"]; }else{ echo "&nbsp"; } ?> 画像も表示させたい場合は、どのように記述すればよいか解りません。 お解りになる方、よろしくお願いします。

    • ベストアンサー
    • PHP
  • 複数条件のIFの入れ子の方法

    Excel2010です。 複数グループの判定条件を入れ子で記述したいのですがうまくいきません。 1グループでは次のようにできました。 =IF(OR(A5=1,B5=1,C5=1,D5=,1),A10,0) A5からD5のうちどれかが1ならA10に表示されているテキストを表示せよ。 2グループでは次のように記述しましたがうまくいきません。 =IF(OR(A5=1,B5=1,C5=1,D5=,1),A10,IF(OR(E5=1,F5=1,G5=1,H5=,1),A15,0) ) これが5グループまで続きます。とりあえず1グループずつ確認しているのですが2グループでうまくいきません。教えてください。

  • EXCELマクロでIFの複数指定

    すみません。たびたび素人質問になりますが、 F26が空白でないときに、F26を選らんで「keisan」処理に進む というのがあるのですが、↓ If Range("F26").Value <> "" Then   Range("F26").Select   keisan End If これを、F26の条件が複数になるときの記述に変更したいのですが。 具体的には、  F26が、空白でないとき 且つ同じF26に「#REF!」の文字が含まれ ないとき に、F26を選らんで・・という場合です。 どなたか教えて頂けるとありがたいのですが・・

  • テーブル背景を毎日入れ替える方法

    以前ここで同様の質問させていただいた者です。 回答いただいた例を参考にして、自分なりに設定を直してみたのですが動かない状態です… もう一度ご教授をお願いします。 テーブルの背景画像を日によって変更できるように、と思っています。 tableタグ内は、以下のようにしました。 <table id="BACKIMG" ~中略~ style="BORDER: #7B7B7B 1px solid; background-image:url('image/tableback.jpg');"> またJavaScriptは外部ファイルにして 【Change.js】の内容↓ function fncChange() { var a; var date = new Date(); var d = date.getDate(); a = d % 7; if (a==0){ document.getElementById("BACKIMG").style.backgroundImage="url(images/images0/top.jpg)"; }else if (a=1){ document.getElementById("BACKIMG").style.backgroundImage="url(images/images1/top.jpg)"; }else if (a=2){ document.getElementById("BACKIMG").style.backgroundImage="url(images/images2/top.jpg)"; }else if (a=3){ document.getElementById("BACKIMG").style.backgroundImage="url(images/images3/top.jpg)"; }else if (a=4){ document.getElementById("BACKIMG").style.backgroundImage="url(images/images4/top.jpg)"; }else if (a=5){ document.getElementById("BACKIMG").style.backgroundImage="url(images/images5/top.jpg)"; }else if (a=6){ document.getElementById("BACKIMG").style.backgroundImage="url(images/images6/top.jpg)"; } } 使用する画像はフォルダで分けるつもりです。 HTMLにはHEADタグの間に <SCRIPT language="javascript" src="Change.js"> <!--// fncChange(); //--> </SCRIPT> を記述しています。 これで不足してる部分がありますでしょうか? 解決策をよろしくお願いします。

  • 画像クリックで画像変化を1ページに複数表示

    どのJavaScriptサイトにも記載されていなかったので、こちらでお尋ねします。どなたかご存知だったら、教えてください。 changeImageと<a href=""></a>を使って、クリックして画像を変えるっていうのをやっているのですが、同じページでの複数表示のやり方がわかりません。 それと、2つの画像を変化させて、他のアイコンを作ってそこを押すと元の画像に戻るというのは、可能でしょうか? 4つ画像を用意して、2つまでしか画像変化できないようにさせて、取り消しアイコンで元の画像に戻す・・・ということがやりたいのですが。 今はこんな感じの記述ができています。 <SCRIPT type="text/javascript"> function changeImage() { var imgname = document.images[0].name; if(imgname == "01"){ document.images[0].src = "02.gif"; document.images[0].name = "02"; } else { document.images[0].src = "01.gif"; document.images[0].name = "01"; } } </SCRIPT> </head> <body> <a href="JavaScript:changeImage()"> <img src="01.gif" name"01" border=0></a>