yuu_x の回答履歴
- PHP pagerについて
現在mysqlに登録されているデータを表示させてなおかつ表示制限をつくっています。 pagerにて表示を分割しています。 http://www.phppro.jp/qa/3073のソースを参考に作成したみたのですが、 下記が自分なりに編集したコードです。 define(LMAX, 5); if (!isset($_GET['page'])) { $page = 1; } else { $page = intval($_GET['page']); if ($page == 0 ) { die('page no error'); } } $skip = ($page - 1) * LMAX; $query = sprintf('SELECT * FROM `test` LIMIT '.$skip.','.(LMAX + 1)); $result = mysql_query($query, $link) or die(mysql_error()); $line = 0; while ($row = mysql_fetch_array($result)) { if ($line >= LMAX) { break; } if ($line == 0) { // ヘッダ出力 $r_list .= "<tr>\n"; $r_list .= "<th>テスト1</th>\n"; $r_list .= "<th>テスト2</th>\n"; $r_list .= "<th>テスト3</th>\n"; $r_list .= "<th>テスト4</th>\n"; $r_list .= "</tr>\n"; } $line++; $r_list .= "<tr>\n"; $r_list .= "<td>" .$row["test1"]. "</td>\n"; $r_list .= "<td>" .$row["test2"]. "</td>\n"; $r_list .= "<td>" .$row["test3"]."</td>\n"; $r_list .= "<td>" .$row["test4"]."</td>\n"; $r_list .= "</tr>\n"; } if ($page > 1) { $prev = '<a href="?page=' . ($page - 1) . '">Prev</a>'; } if ($line > LMAX) { $next = '<a href="?page=' . ($page + 1) . '">Next</a>'; } としています。 いくつかご質問がお分かりの方が、いらっしゃいましたら教えていただけないでしょうか? ・define(LMAX, 5);のところで5にしているにもかかわらず5件表示がされない。 ・このコードだとPrevやNextがでない。 ・ 2個目の$r_list .= "</tr>\n";の下に$line++;を書くとPrevやNextが表示される。 以上になります。 宜しくお願いいたします。
- MySQLでシーケンス番号の前後数を知りたい
user_table ---------------------------- id | group_id | sequence| name | ---------------------------- 1 | 1 | 1 | emi | ---------------------------- 2 | 1 | 2 | shun | ---------------------------- 3 | 2 | 1 | yumi | ---------------------------- 4 | 1 | 5 | jo | … group_idごとにシーケンス番号(グループ内のユニーク番号)を振っています。 shun(group_id=1,sequence=2)のページでシーケンス番号の前後を取りたいのですがどうすればいいでしょうか? すでに辞めたユーザもいるためシーケンス番号は必ず連続しているとは限らず、抜けている場合もあります。 例として、shun(group_id=1,sequence=2)の前後を取る場合はemiとjoのシーケンス番号を取得したいのです。 下記で出来ましたがサブクエリなしでもできそうなのとあまりきれいでないのでご教示お願いいたします。 select (select min(sequence) from t_files where album_id=1 and sequence>2) next,( select min(sequence) prev from t_files where album_id=1 and sequence<2) prev;
- PHP5でxml文書をパースする方法
<?xml version="1.0"?> <root> <items> <item> <id>1</id> <name>商品(赤)</name> <price>1500</price> <color>red</color> <size>8</size> <option>A</option> </item> <item> <id>2</id> <name>商品(青)</name> <price>700</price> <color>blue</color> <size>3</size> </item> <item> <id>3</id> <name>商品(緑)</name> <price>1200</price> <color>green</color> <size>5</size> <option>C</option> </item> </items> </root> 上記のようなXMLデータをPHPでパースし、 1つずつ、配列に入れていきたいと考えていますが、 問題なのは、 上から2番目の商品(青)には、<option>データが無いということです。 これは、この<option>が、オプションが有る時にだけ存在するタグだからです。 //----------------------------- <?php $doc->load($url); //上記xmlデータのあるURL:$url $array = array(); $i = 1; while($i <= 3){ //実際には、もっと商品数はあります。ここでは例として、3。 //配列の初期化 $item_array = array(); $items = $doc->getElementsByTagName('id'); $item_array['id'] = $items->item($i)->nodeValue; $items = $doc->getElementsByTagName('name'); $item_array['name'] = $items->item($i)->nodeValue; //* //*同様のコードが続く //* $items = $doc->getElementsByTagName('option'); $item_array['option'] = $items->item($i)->nodeValue; //* //*同様のコードが続く //* //商品データが詰まった配列を、さらに配列に入れる $array[] = $item_array; } //全ての商品のデータが詰まった配列を表示する。 print_r($array); ?> //----------------------------- このようなことがしたいわけです。 なお、タグ名を$tag_array = array('id','name',,,,,'option',,,)として、 foreach($tag_array as $tag){ $items = $doc->getElementsByTagName($tag); $item_array[$tag] = $items->item($i)->nodeValue; } という風にした方が冗長ではないかとは思いますが、 それは、まぁ横に置いておきまして、 このコードで問題なのは、<option>が途中、つまり2番目で抜けると、 3番目の<option>データが、2番目の商品の<option>データとして配列に入ってしまうことです。 上から順に詰めて、配列に格納されてしまい、困っている、ということです。 <option>データが無い場合は、「ナシ」とでもしておきたいのですが、 どうしたら良いでしょうか? <item>を1つずつ $items = $doc->getElementsByTagName('item'); で取得して、 各<item>の中の、<option>にアクセスする、なんて方法があるとベストなのですが、 そんな方法はありますでしょうか? firstChildですと、<item>の場合、<id>になってしまうため、<option>にはアクセスできません。 firstChild以降のChildには、どうやってアクセスしたら良いのでしょうね? どなたか、宜しくお願い致します。
- ランダム(不規則)な文字列の置換えについて
初めて投稿させていただきます。 文字列置換について、色々と調べたのですが全く解決しなかったのでこの場を借りてご質問させて頂きます。 早速ですが記述から記載させて頂きます。 $str = file_get_contents('http://example.com/'); $replaced = str_replace("index.php?ref=123abc", "index.php?ref=456def", $str); echo $replaced; このように一定の文字列に対しては置換ができたのですが、 index.php?ref=123abc の箇所が index.php?ref=123abc&PHPSESSID=qazwsxedcrfvtgbyhnujmikolpqazwsx のようにPHPSESSIDのセッションID(毎回変わるランダムな32桁の文字列)が付いてきた場合に index.php?ref=456def に置換える方法がわかりません。 &PHPSESSIDの文字列の先頭部分から右に43文字目※(&PHPSESSID=の所で11文字)+(IDの所で32文字)※までを index.php?ref=456def に置き換える方法や 初めからPHPSESSIDのセッションIDの部分を表示させない方法など ここ数週間色々考えてみましたがどうしてもわかりませんでした。 PHP初心者ですので、なるべくわかりやすく教えて頂けると幸いです。 よろしくお願いいたします。
- ベストアンサー
- PHP
- id_yozakura
- 回答数1
- PHP5でxml文書をパースする方法
<?xml version="1.0"?> <root> <items> <item> <id>1</id> <name>商品(赤)</name> <price>1500</price> <color>red</color> <size>8</size> <option>A</option> </item> <item> <id>2</id> <name>商品(青)</name> <price>700</price> <color>blue</color> <size>3</size> </item> <item> <id>3</id> <name>商品(緑)</name> <price>1200</price> <color>green</color> <size>5</size> <option>C</option> </item> </items> </root> 上記のようなXMLデータをPHPでパースし、 1つずつ、配列に入れていきたいと考えていますが、 問題なのは、 上から2番目の商品(青)には、<option>データが無いということです。 これは、この<option>が、オプションが有る時にだけ存在するタグだからです。 //----------------------------- <?php $doc->load($url); //上記xmlデータのあるURL:$url $array = array(); $i = 1; while($i <= 3){ //実際には、もっと商品数はあります。ここでは例として、3。 //配列の初期化 $item_array = array(); $items = $doc->getElementsByTagName('id'); $item_array['id'] = $items->item($i)->nodeValue; $items = $doc->getElementsByTagName('name'); $item_array['name'] = $items->item($i)->nodeValue; //* //*同様のコードが続く //* $items = $doc->getElementsByTagName('option'); $item_array['option'] = $items->item($i)->nodeValue; //* //*同様のコードが続く //* //商品データが詰まった配列を、さらに配列に入れる $array[] = $item_array; } //全ての商品のデータが詰まった配列を表示する。 print_r($array); ?> //----------------------------- このようなことがしたいわけです。 なお、タグ名を$tag_array = array('id','name',,,,,'option',,,)として、 foreach($tag_array as $tag){ $items = $doc->getElementsByTagName($tag); $item_array[$tag] = $items->item($i)->nodeValue; } という風にした方が冗長ではないかとは思いますが、 それは、まぁ横に置いておきまして、 このコードで問題なのは、<option>が途中、つまり2番目で抜けると、 3番目の<option>データが、2番目の商品の<option>データとして配列に入ってしまうことです。 上から順に詰めて、配列に格納されてしまい、困っている、ということです。 <option>データが無い場合は、「ナシ」とでもしておきたいのですが、 どうしたら良いでしょうか? <item>を1つずつ $items = $doc->getElementsByTagName('item'); で取得して、 各<item>の中の、<option>にアクセスする、なんて方法があるとベストなのですが、 そんな方法はありますでしょうか? firstChildですと、<item>の場合、<id>になってしまうため、<option>にはアクセスできません。 firstChild以降のChildには、どうやってアクセスしたら良いのでしょうね? どなたか、宜しくお願い致します。
- PHP5でxml文書をパースする方法
<?xml version="1.0"?> <root> <items> <item> <id>1</id> <name>商品(赤)</name> <price>1500</price> <color>red</color> <size>8</size> <option>A</option> </item> <item> <id>2</id> <name>商品(青)</name> <price>700</price> <color>blue</color> <size>3</size> </item> <item> <id>3</id> <name>商品(緑)</name> <price>1200</price> <color>green</color> <size>5</size> <option>C</option> </item> </items> </root> 上記のようなXMLデータをPHPでパースし、 1つずつ、配列に入れていきたいと考えていますが、 問題なのは、 上から2番目の商品(青)には、<option>データが無いということです。 これは、この<option>が、オプションが有る時にだけ存在するタグだからです。 //----------------------------- <?php $doc->load($url); //上記xmlデータのあるURL:$url $array = array(); $i = 1; while($i <= 3){ //実際には、もっと商品数はあります。ここでは例として、3。 //配列の初期化 $item_array = array(); $items = $doc->getElementsByTagName('id'); $item_array['id'] = $items->item($i)->nodeValue; $items = $doc->getElementsByTagName('name'); $item_array['name'] = $items->item($i)->nodeValue; //* //*同様のコードが続く //* $items = $doc->getElementsByTagName('option'); $item_array['option'] = $items->item($i)->nodeValue; //* //*同様のコードが続く //* //商品データが詰まった配列を、さらに配列に入れる $array[] = $item_array; } //全ての商品のデータが詰まった配列を表示する。 print_r($array); ?> //----------------------------- このようなことがしたいわけです。 なお、タグ名を$tag_array = array('id','name',,,,,'option',,,)として、 foreach($tag_array as $tag){ $items = $doc->getElementsByTagName($tag); $item_array[$tag] = $items->item($i)->nodeValue; } という風にした方が冗長ではないかとは思いますが、 それは、まぁ横に置いておきまして、 このコードで問題なのは、<option>が途中、つまり2番目で抜けると、 3番目の<option>データが、2番目の商品の<option>データとして配列に入ってしまうことです。 上から順に詰めて、配列に格納されてしまい、困っている、ということです。 <option>データが無い場合は、「ナシ」とでもしておきたいのですが、 どうしたら良いでしょうか? <item>を1つずつ $items = $doc->getElementsByTagName('item'); で取得して、 各<item>の中の、<option>にアクセスする、なんて方法があるとベストなのですが、 そんな方法はありますでしょうか? firstChildですと、<item>の場合、<id>になってしまうため、<option>にはアクセスできません。 firstChild以降のChildには、どうやってアクセスしたら良いのでしょうね? どなたか、宜しくお願い致します。
- 5TBのテキストから任意の文字列のoffset取得
企業の面談のさいに出た問題ですが、わからなかったのでご教示いただければと思います。 ※プログラミングもそうですが、構成についても問われている問題とのことです。 5TBのテキストデータから任意の文字列のoffset取得したい。 strpos等の関数を用いず、取得するにはどうすればよいか?効率的な方法を答えよ。 言語はPerlかPHPです。 単純にfgetをforで回す方法しか思いつきませんがこの規模のデータでは効率的でない気がします。 ご指導の程よろしくお願い致します。
- PHP5でxml文書をパースする方法
<?xml version="1.0"?> <root> <items> <item> <id>1</id> <name>商品(赤)</name> <price>1500</price> <color>red</color> <size>8</size> <option>A</option> </item> <item> <id>2</id> <name>商品(青)</name> <price>700</price> <color>blue</color> <size>3</size> </item> <item> <id>3</id> <name>商品(緑)</name> <price>1200</price> <color>green</color> <size>5</size> <option>C</option> </item> </items> </root> 上記のようなXMLデータをPHPでパースし、 1つずつ、配列に入れていきたいと考えていますが、 問題なのは、 上から2番目の商品(青)には、<option>データが無いということです。 これは、この<option>が、オプションが有る時にだけ存在するタグだからです。 //----------------------------- <?php $doc->load($url); //上記xmlデータのあるURL:$url $array = array(); $i = 1; while($i <= 3){ //実際には、もっと商品数はあります。ここでは例として、3。 //配列の初期化 $item_array = array(); $items = $doc->getElementsByTagName('id'); $item_array['id'] = $items->item($i)->nodeValue; $items = $doc->getElementsByTagName('name'); $item_array['name'] = $items->item($i)->nodeValue; //* //*同様のコードが続く //* $items = $doc->getElementsByTagName('option'); $item_array['option'] = $items->item($i)->nodeValue; //* //*同様のコードが続く //* //商品データが詰まった配列を、さらに配列に入れる $array[] = $item_array; } //全ての商品のデータが詰まった配列を表示する。 print_r($array); ?> //----------------------------- このようなことがしたいわけです。 なお、タグ名を$tag_array = array('id','name',,,,,'option',,,)として、 foreach($tag_array as $tag){ $items = $doc->getElementsByTagName($tag); $item_array[$tag] = $items->item($i)->nodeValue; } という風にした方が冗長ではないかとは思いますが、 それは、まぁ横に置いておきまして、 このコードで問題なのは、<option>が途中、つまり2番目で抜けると、 3番目の<option>データが、2番目の商品の<option>データとして配列に入ってしまうことです。 上から順に詰めて、配列に格納されてしまい、困っている、ということです。 <option>データが無い場合は、「ナシ」とでもしておきたいのですが、 どうしたら良いでしょうか? <item>を1つずつ $items = $doc->getElementsByTagName('item'); で取得して、 各<item>の中の、<option>にアクセスする、なんて方法があるとベストなのですが、 そんな方法はありますでしょうか? firstChildですと、<item>の場合、<id>になってしまうため、<option>にはアクセスできません。 firstChild以降のChildには、どうやってアクセスしたら良いのでしょうね? どなたか、宜しくお願い致します。
- phpで日付チェックをしたいのですが。
日付に使う数値がどうかチェックする処理をしたいのですが、 数値と/かどうかチェックする処理を以下の様に作ったのですが、 上手くいきません。 ご教授お願いします。 if (preg_match("/^[0-9/]+$/",$str)) { return true; }
- ベストアンサー
- PHP
- junction_7_7
- 回答数4
- PHPで2進数の結果出力
お世話になります。 下記のように2進数を処理したいのです。 ご存じの方お手数ですが回答の方よろしくお願いします。 $a=0011001(2進) a(1桁目) $b1="りんご" a(2桁目) $b2="みかん" a(3桁目) $b3="メロン" a(4桁目) $b4="パイナップル a(5桁目) $b5="いちご" a(6桁目) $b6="すいか" a(7桁目) $b7="レモン" echo $b1."と".$b2."と".$b3."と".$b4."と".$b5."と".$b6."と".$b7; 出力結果:メロンとパイナップルとレモン
- ベストアンサー
- PHP
- seventozero
- 回答数2
- データの値の近いものをグルーピングする方法について
以下アルゴリズムについて考えております。 複数のデータの内、差が±1以内のものをグループ分けする。 ただし、複数の候補がある場合は値の近い方をグループとする。 また、差がまったく同じであった場合は番号の若いほうのグループとする。 例1 ・入力 data1=1 data2=1.5 data3=2 data4=5 data5=6 ・出力 グループ1:1,2,3 グループ2:4,5 例2 ・入力 data1=1 data2=1.3 data3=2.3 data4=5 data5=6 ・出力 グループ1:1,2 グループ3:3 グループ2:4,5 例3 ・入力 data1=1 data2=2 data3=3 data4=4 data5=6 ・出力 グループ1:1,2 グループ2:3,4 グループ3:5 このような結果が得られるプログラムを作成中です。 簡単なグループ分けならできるのですが、候補が複数でてきてしまう場合におかしく なってしまいます。 以下に書いてあるものが初めに思いついた方法の概要です。 このプログラムでは適切なグループ分けが出来ませんでした。 現在はデータの差が±1以内ならばフラグを立てて後でグループ分けをするといった 方法でやっておりますがどうも上手くいきません。 そのため、今回のプログラムについて教えて頂きたく質問をさせて頂きました。 よろしくお願いします。 以下、初めに思いついた方法の概要です。 double in_data[] //データの値 double data[][] //データの差 group[]//グループ番号 //例えばgroup[3]=2だったら、データ3はグループ2に入る //data1-data2 //data1-data3 //・・・ //と計算をしていくforループ for(n=0; n<=i; n++){ for(m=n+1; m<i ;m++){ data[n][m]=fabs(in_data[n]-in_data[m]); if(data[n][m]<=1){ group[n]= num; //グループ番号振り分け group[m]= num; num++; } } }
- データの値の近いものをグルーピングする方法について
以下アルゴリズムについて考えております。 複数のデータの内、差が±1以内のものをグループ分けする。 ただし、複数の候補がある場合は値の近い方をグループとする。 また、差がまったく同じであった場合は番号の若いほうのグループとする。 例1 ・入力 data1=1 data2=1.5 data3=2 data4=5 data5=6 ・出力 グループ1:1,2,3 グループ2:4,5 例2 ・入力 data1=1 data2=1.3 data3=2.3 data4=5 data5=6 ・出力 グループ1:1,2 グループ3:3 グループ2:4,5 例3 ・入力 data1=1 data2=2 data3=3 data4=4 data5=6 ・出力 グループ1:1,2 グループ2:3,4 グループ3:5 このような結果が得られるプログラムを作成中です。 簡単なグループ分けならできるのですが、候補が複数でてきてしまう場合におかしく なってしまいます。 以下に書いてあるものが初めに思いついた方法の概要です。 このプログラムでは適切なグループ分けが出来ませんでした。 現在はデータの差が±1以内ならばフラグを立てて後でグループ分けをするといった 方法でやっておりますがどうも上手くいきません。 そのため、今回のプログラムについて教えて頂きたく質問をさせて頂きました。 よろしくお願いします。 以下、初めに思いついた方法の概要です。 double in_data[] //データの値 double data[][] //データの差 group[]//グループ番号 //例えばgroup[3]=2だったら、データ3はグループ2に入る //data1-data2 //data1-data3 //・・・ //と計算をしていくforループ for(n=0; n<=i; n++){ for(m=n+1; m<i ;m++){ data[n][m]=fabs(in_data[n]-in_data[m]); if(data[n][m]<=1){ group[n]= num; //グループ番号振り分け group[m]= num; num++; } } }
- excel vba 複数項目の集計
EXCEL2003 VBAにてマクロを作成しているのですが、作成日程が迫っているにも関わらず、 すぐ行き詰ってしまいます。どうかご指導お願い致します。 以下のような事をしたいのですが、できる限り高速で最も効率の良い方法を教えていただきたいと 思っております。よろしくお願い致します。 あるSheetに以下のようにデータが登録されていて、 A B C りんご 赤 200 なし 黄色 100 りんご 緑 100 メロン 緑 10 なし 黄色 200 りんご 緑 500 これを集計すると、 りんご 赤 200 りんご 緑 600 なし 黄色 300 メロン 緑 10 と、結果を返したいと考えています。 数字を合計するのはA列とB列がともに一致した時のみです。 最初は単純に何回もForNextで処理しようと思ったのですが、行数が 多くなると繰り返し回数も多くなり、時間もかかってしまうので、 別の方法でもっといい方法があればと思い、質問させていただきました。 宜しくお願いします。
- ベストアンサー
- Visual Basic
- butman11
- 回答数7
- excel vba 複数項目の集計
EXCEL2003 VBAにてマクロを作成しているのですが、作成日程が迫っているにも関わらず、 すぐ行き詰ってしまいます。どうかご指導お願い致します。 以下のような事をしたいのですが、できる限り高速で最も効率の良い方法を教えていただきたいと 思っております。よろしくお願い致します。 あるSheetに以下のようにデータが登録されていて、 A B C りんご 赤 200 なし 黄色 100 りんご 緑 100 メロン 緑 10 なし 黄色 200 りんご 緑 500 これを集計すると、 りんご 赤 200 りんご 緑 600 なし 黄色 300 メロン 緑 10 と、結果を返したいと考えています。 数字を合計するのはA列とB列がともに一致した時のみです。 最初は単純に何回もForNextで処理しようと思ったのですが、行数が 多くなると繰り返し回数も多くなり、時間もかかってしまうので、 別の方法でもっといい方法があればと思い、質問させていただきました。 宜しくお願いします。
- ベストアンサー
- Visual Basic
- butman11
- 回答数7
- 数学の「組み合わせ」を求めるプログラム
お世話になっています。 早速ですが、数学の「組み合わせ」を求めるプログラムを作成中です。 例えば、1~6の数字の中から4個取り出す場合、パターンとしては、 (1,2,3,4) (1,2,3,5) (1,2,3,6) (1,2,4,5) (1,2,4,6) (1,2,5,6) (1,3,4,5) (1,3,4,6) (1,3,5,6) (1,4,5,6) (2,3,4,5) (2,3,4,6) (2,3,5,6) (2,4,5,6) (3,4,5,6) の15パターンが挙げられます。 「1~aの数字の中からb個取り出す」場合、上記の例だとa=6、b=4ですが、 このようにa,bにそれぞれ値を与えると、上記のようにすべての組み合わせを 求めてくれるPHPプログラムを作成中です。 実現方法、ソースコードなど、ご教授いただけないでしょうか。 よろしくお願い申し上げます。
- 数学の「組み合わせ」を求めるプログラム
お世話になっています。 早速ですが、数学の「組み合わせ」を求めるプログラムを作成中です。 例えば、1~6の数字の中から4個取り出す場合、パターンとしては、 (1,2,3,4) (1,2,3,5) (1,2,3,6) (1,2,4,5) (1,2,4,6) (1,2,5,6) (1,3,4,5) (1,3,4,6) (1,3,5,6) (1,4,5,6) (2,3,4,5) (2,3,4,6) (2,3,5,6) (2,4,5,6) (3,4,5,6) の15パターンが挙げられます。 「1~aの数字の中からb個取り出す」場合、上記の例だとa=6、b=4ですが、 このようにa,bにそれぞれ値を与えると、上記のようにすべての組み合わせを 求めてくれるPHPプログラムを作成中です。 実現方法、ソースコードなど、ご教授いただけないでしょうか。 よろしくお願い申し上げます。
- DBの値を基にliにulをネストしたリスト作成
http://soft.fpso.jp/develop/php/entry_2790.htmlのようなphpでliにulをネストしたリストを作成したいと思います。 上記ページでは入れ子構造の配列を用意し実現していましたが、 下記のようなデータベースで同様の事を実現する方法がわからなかったので、 アドバイスいただける方がいらっしゃいましたら、ご教示の程よろしくお願いします。 なお、データベースのサンプルはあくまでサンプルのため、別途必要なフィールドなどがありましたら、その旨ご指摘いただければと思います。 【データベースのサンプル】 CREATE TABLE IF NOT EXISTS `sample_db` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(64) NOT NULL, `path` varchar(255) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `path` (`path`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=11 ; INSERT INTO `sample_db` (`id`, `name`, `path`) VALUES (1, '2010年', '.1.'), (2, '6月', '.1.2.'), (3, '28日', '.1.2.3.'), (4, '12時', '.1.2.3.4.'), (5, '13時', '.1.2.3.5.'), (6, '29日', '.1.2.6.'), (7, '30日', '.1.2.7.'), (8, '7月', '.1.8.'), (9, '8月', '.1.9.'); 【ソースコードのサンプル】 <!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" /> <title>タイトル</title> </head> <body> <?php $link = mysql_connect('localhost', 'データベースユーザ名', 'データベースパスワード名'); mysql_select_db('データベース名', $link); /* ▼▼▼ここから下の記述が分かりません。▼▼▼ */ $query = mysql_query("SELECT * FROM sample_db", $link); ?> <ul id="id_ul"> <?php while ($row = mysql_fetch_array($query)) { ?> <li class="class_li"><?php echo $row["name"]; ?></li> <?php } ?> </ul> /* ▲▲▲ここから上の記述が分かりません。▲▲▲ */ <?php mysql_close($link); ?> </body> </html> 以上、よろしくお願いします。
- DBの値を基にliにulをネストしたリスト作成
http://soft.fpso.jp/develop/php/entry_2790.htmlのようなphpでliにulをネストしたリストを作成したいと思います。 上記ページでは入れ子構造の配列を用意し実現していましたが、 下記のようなデータベースで同様の事を実現する方法がわからなかったので、 アドバイスいただける方がいらっしゃいましたら、ご教示の程よろしくお願いします。 なお、データベースのサンプルはあくまでサンプルのため、別途必要なフィールドなどがありましたら、その旨ご指摘いただければと思います。 【データベースのサンプル】 CREATE TABLE IF NOT EXISTS `sample_db` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(64) NOT NULL, `path` varchar(255) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `path` (`path`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=11 ; INSERT INTO `sample_db` (`id`, `name`, `path`) VALUES (1, '2010年', '.1.'), (2, '6月', '.1.2.'), (3, '28日', '.1.2.3.'), (4, '12時', '.1.2.3.4.'), (5, '13時', '.1.2.3.5.'), (6, '29日', '.1.2.6.'), (7, '30日', '.1.2.7.'), (8, '7月', '.1.8.'), (9, '8月', '.1.9.'); 【ソースコードのサンプル】 <!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" /> <title>タイトル</title> </head> <body> <?php $link = mysql_connect('localhost', 'データベースユーザ名', 'データベースパスワード名'); mysql_select_db('データベース名', $link); /* ▼▼▼ここから下の記述が分かりません。▼▼▼ */ $query = mysql_query("SELECT * FROM sample_db", $link); ?> <ul id="id_ul"> <?php while ($row = mysql_fetch_array($query)) { ?> <li class="class_li"><?php echo $row["name"]; ?></li> <?php } ?> </ul> /* ▲▲▲ここから上の記述が分かりません。▲▲▲ */ <?php mysql_close($link); ?> </body> </html> 以上、よろしくお願いします。
- PHP データの抽出&相関検定のプログラム
MySQLのデータベースに気温のデータが時系列に並べられています。 このデータと別の日の気温のデータがどのくらい似ているのかを調べるプログラムを書かなければなりません。PHPをつかって、テーブルのデータを扱う方法は勉強しました。 まず、相関の検定(カイ二乗検定)をする為には、2つのテーブルから、それぞれ24時間のデータを抽出する必要があります。どのようにやるのですか? そして、そのデータから検定(計算)を行い、結果を表示する方法も教えてください。 宜しくお願いします。
- ベストアンサー
- PHP
- maverick0826
- 回答数1
- 数学の「組み合わせ」を求めるプログラム
お世話になっています。 早速ですが、数学の「組み合わせ」を求めるプログラムを作成中です。 例えば、1~6の数字の中から4個取り出す場合、パターンとしては、 (1,2,3,4) (1,2,3,5) (1,2,3,6) (1,2,4,5) (1,2,4,6) (1,2,5,6) (1,3,4,5) (1,3,4,6) (1,3,5,6) (1,4,5,6) (2,3,4,5) (2,3,4,6) (2,3,5,6) (2,4,5,6) (3,4,5,6) の15パターンが挙げられます。 「1~aの数字の中からb個取り出す」場合、上記の例だとa=6、b=4ですが、 このようにa,bにそれぞれ値を与えると、上記のようにすべての組み合わせを 求めてくれるPHPプログラムを作成中です。 実現方法、ソースコードなど、ご教授いただけないでしょうか。 よろしくお願い申し上げます。