痔になりやすい生活習慣とは?

$array = array("id","name","address","tel","point","a1");
$res = $db->query($sql);  //sqlのクエリー
while ($row = $res->fetchRow( DB_FETCHMODE_ASSOC )) {
$data_list[]=array(
$array[0]=>$row["$array[0]"],
$array[1]=>$row["$array[1]"],
$array[2]=>$row["$array[2]"],
$array[3]=>$row["$array[3]"],
$array[4]=>$row["$array[4]"],
$array[5]=>$row["$array[5]"]);
}

をforeachを使って
$array = array("id","name","address","tel","point","a1");
$res = $db->query($sql);  //sqlのクエリー
while ($row = $res->fetchRow( DB_FETCHMODE_ASSOC )) {
foreach(~){
            //処理
    }

のようにかきかえたいのですがどうしたらいいでしょうか?foreachをしらべていろろやったのですがうまくいきません。よろしくおねがいします。 

ちなみに$data_list[]の配列はArray ( [0] => id [1] => name [2] => address [3] => tel [4] => point [5] => a1 ) Array ( [0] => Array ( [id] => 0 [name] => ここあ [address] => 東京 [tel] => 2 [point] => 2 [a1] => 2 ) [1] => Array ( [id] => 1 [name] => 太郎 [address] => 東京 [tel] => 3 [point] => 5 [a1] => あ ) [2] => Array ( [id] => 4 [name] => 五郎 [address] => 東京 [tel] => 0 [point] => 1 [a1] => あああああ ) [3] => Array ( [id] => 5 [name] => 士郎 [address] => 神奈川 [tel] => 26 [point] => 5 [a1] => ああああああああああ ) …となります。

A 回答 (2件)

$row = $res->fetchAll( DB_FETCHMODE_ASSOC );


では駄目なのでしょうか。


冗長ですが、配列位置を明示的に書くならば

$ii = 0;
while ($row = $res->fetchRow( DB_FETCHMODE_ASSOC ))
{
 foreach($array as $val)
 {
  $data_list[$ii][$val]=$row[$val];
 }
 $ii++;
}
ですかね。
    • good
    • 0
この回答へのお礼

while ($row = $res->fetchRow( DB_FETCHMODE_ASSOC )) {
foreach ($array as $key=>$val)
{
$data["$val"] = $row["$val"];
}
$data_list[] = $data;
}
でできました。

お礼日時:2007/11/14 21:43

こんな感じですかね?



$data=&$data_list[];
foreach($array as $val){
$data[$val]=$row [$val];
}
    • good
    • 0
この回答へのお礼

$data_list[] = $data
にしないとだめみたいです。

お礼日時:2007/11/14 21:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qphpのfor文の中で配列を作りたいです。

$a = array();
$a[0]="あ";
$a[1]="";
$a[2]="い";
$a[3]="";
$a[4]="";
$a[5]="う";

のような配列がありfor文の中で文字列が一文字以上だったら配列$bに入れるということをしたいのですが、

$b=array();
for($i=0; $i<count($a); $i++){

$c = mb_strlen($a[$i]);
if($c>=1){
$b = $a[$i];
}
}
var_dump($b);

とすると$bには最後の”う”しか入りません。

$bを

$b[0]="あ";
$b[1]="い";
$b[2]="う";

とするようにするにはどうしたらいいですか?

Aベストアンサー

$b[] = $a[$i];

Q連想配列からの値の取り出し

お世話様です。

タイトルにもありますが連想配列を作成した後(以下に記述例)に
その配列からキーを指定して値を取得したいと思っております。
array_keys関数だと値を指定してキーを取得するみたいで
うまくいきませんでした。
何かよい方法ありませんでしょうか?

//配列に格納
while (条件) {
  $aParaOra += array((キー) => (値));
}

Aベストアンサー

解答番号No.1の者です。

ちなみに、キーの指定なしで全部取得するのであれば、
array_values($aParaOra)
で、配列化されたものが返ってきます。

もしくは、以下のようにforeachでループすれば、
キーと値を分離して取得できます。
foreach ($aParaOra as $key => $value) {
# $aParaOra[$key]の値が、$value
}

質問者さんが何をしたいのかがいまいちピンときません。

Qforeachで回った数を表示したい

単純な質問ですみません。
====
//getTestlistは別ファイルで定義済み。
<?
$testlist=getTestlist();
foreach($testlist as $test){
?>


<? } ?>
====
例えば↑こんなふうにforeachで$testlistが存在するだけ回したとします。
そのときに何回まわったか?($testが何件あったか?)だけを表示したいのですが、そんなことってできますか?
表示したい位置は<? } ?>の外側にと考えています。
あさってな質問でしたらすみません。
phpVer 4.3

よろしくお願いいたします。

Aベストアンサー

<?
$testlist=getTestlist();
$n=0;
foreach($testlist as $test){
$n++;
?>
<?}?>

<?=$n?>回
とかでよいかと思います。

途中でbreakなどが無ければ
<? echo count($testlist) ?>でも良いかも知れません。

QPHPで配列から値を取得したい

PHP勉強中の初心者です。

初歩的な質問なのですが以下のような配列から「りんご」、「バナナ」などの値をすべて取得するにはどうすればいいのでしょうか?

Array
(
[input] => 自転車
[status] => 0
[result] => Array
(
[0] => Array
(
[0] => りんご
)

[1] => Array
(
[0] => バナナ
)

[2] => Array
(
[0] => ミカン
)

[3] => Array
(
[0] => オレンジ
)

[4] => Array
(
[0] => ブドウ
)

[5] => Array
(
[0] => パイナップル
)

)

)

PHP勉強中の初心者です。

初歩的な質問なのですが以下のような配列から「りんご」、「バナナ」などの値をすべて取得するにはどうすればいいのでしょうか?

Array
(
[input] => 自転車
[status] => 0
[result] => Array
(
[0] => Array
(
[0] => りんご
)

[1] => Array
(
[0] => バナナ
)

[2] => Array
(
...続きを読む

Aベストアンサー

取得したいとは何がしたいのでしょうか?
とりあえずは普通にforeachで回してデータを拾うのが楽かもしれません

<?PHP
$a=Array(
"input" => "自転車"
,"status" => 0
,"result" => Array(
0 => Array(0 => "りんご")
,1 => Array(0 => "バナナ")
,2 => Array(0 => "ミカン")
,3 => Array(0 => "オレンジ")
,4 => Array(0 => "ブドウ")
,5 => Array(0 => "パイナップル")
)
);
$b=array();
foreach($a["result"] as $array){
$b[]=$array[0];
}
print_r($b);
?>

Qsyntax error, unexpected '}' というエラーの対処法

PHPを習い始めて三日目になるのですがParse error: syntax error, unexpected '}' in C:\Program Files\Apache Group\Apache2\htdocs\****\****\game.php on line 33
というエラーがでるのですが33行目前後のどこをなおせばいいのでしょうか?
・game.php
<html>
<head>
<title>数当てゲーム</title>
</head>
<body>
<h1 style="background:#cccccc">数当てゲーム</h1>
<form method="POST" action="game.php">
1~100までの数を入力してください
<input type="text" name="answer" size="5" maxlength="3" />
<input type="sbumit" value=回答" />
</form>
<hr />
<?php
session_start();
if(is_null($_SESSION['answer'])){
mt_stand(microtime()*1000000);
$_SESSION['answer']=mt_rand(1,100);
$_SESSION['game_cnt']=0;
}
if($_POST['answer']!=""){
$_SESSION['game_cnt']++;
if($_session['answer']==$_POST['answer']){
print("おめでとうございます".
$_SESSION['game_cnt']."回で正解しました!");
session_destroy();
}else{
if($_SESSION['answer']>$_POST['answer']){
print("もう少し大きいです。");
}else
print("もう少し小さいです。");
}
}
}
?>
</body>
</html>
それとこの間違えたところをなおしたあとはいつもコンピュータを再起動しないと修正したところが適用されないのですがほかに方法はないですか?基本的な質問ですいません。

PHPを習い始めて三日目になるのですがParse error: syntax error, unexpected '}' in C:\Program Files\Apache Group\Apache2\htdocs\****\****\game.php on line 33
というエラーがでるのですが33行目前後のどこをなおせばいいのでしょうか?
・game.php
<html>
<head>
<title>数当てゲーム</title>
</head>
<body>
<h1 style="background:#cccccc">数当てゲーム</h1>
<form method="POST" action="game.php">
1~100までの数を入力してください
<input type="text" name="answer" size="5" max...続きを読む

Aベストアンサー

print("もう少し大きいです。");
}else
print("もう少し小さいです。");
のelseの後に{がないようですが、大丈夫でしょうか?

Q文字列から、特定の文字を削除したい

アンケートで入力された値を受け取り、メールで送信しているのですが、受け取った値から、特定の文字列を削除することは可能でしょうか?

例えば電話番号の入力の場合、
03-xxxx-xxxx →03xxxxxxxx
077-xxx-xxxx →077xxxxxxx
のように、-(ハイフン)が入力されていたら、-を削除した文字列に置換してメール送信したいのです。
入力する時に、3つのテキストエリアに分けるのは諸事情でできないので、特定の文字を削除する関数か処理方法がありましたら、教えていただきたいです。
よろしくお願いします。

Aベストアンサー

str_replace
http://itbtech.itboost.co.jp/man/php_man/function.str-replace.html

<?php
$orig_telno = "03-xxxx-xxxx";

$telno = str_replace("-", "", $orig_telno);
echo $telno;

03xxxxxxxx

“PHP 文字列” あたりをキーワードに検索すれば
そんなに難しいものでもないような。

QボタンをクリックでPHP文を実行

ボタンをクリックしたときのみPHP文を実行したいのですが・・・

<input type="button" onClink="<?php~?>">
でいけるかと思ったのですが、
ページ表示時に<?php~?>が実行されてしまい、うまくいきませんでした。

onClink="window.open(test.php)"
という方法以外でお願いします。

Aベストアンサー

AjaxはもともとJavaScriptの機能である非同期通信をつかったもので。Ajaxという言語があるわけではありません

Ajaxを利用するのであれば、JavaScriptのXMLHttpRequestを使って非同期通信できるような実装をしなくてはなりません
簡単にサンプルコードで書けるほど単純なものでもありません

一般的なサーバーサイドスクリプトの動作として、
ボタンを押す->サーバーへリクエストする->サーバーが処理する->クライアントに何かしらの結果を返す(出力する)です
つまり、PHP等のサーバーサイドスクリプトは、遷移させることが大前提で動作します

ですから、ボタンを押してその場でJavaScriptと同じようにPHPが動くなんてことはありえません。
ボタンを押したらサーバーにリクエストする という動作ならば可能です。

つまり
質問で言われているような
onClink="window.open(test.php)"

<form name="f1" action="test.php" method="post">
<input type="submit" name="submit" value="submit" />
</form>
等のような形になります

こういった一般的な方法だと いちいち画面が切り替わったようになってしまうのを嫌って Ajaxでコレと同じことを、画面を切り替えずに行っているだけに過ぎません

AjaxはもともとJavaScriptの機能である非同期通信をつかったもので。Ajaxという言語があるわけではありません

Ajaxを利用するのであれば、JavaScriptのXMLHttpRequestを使って非同期通信できるような実装をしなくてはなりません
簡単にサンプルコードで書けるほど単純なものでもありません

一般的なサーバーサイドスクリプトの動作として、
ボタンを押す->サーバーへリクエストする->サーバーが処理する->クライアントに何かしらの結果を返す(出力する)です
つまり、PHP等のサーバーサイドスクリプトは、...続きを読む

Q連想配列をループで作成するには

$ary1 = array("a","b","c");
$ary2 = array("あ","い","う";
から、以下の$aryを作成したいのですが、
ループして、連想配列を作るにはどうしたらよいのでしょうか?

$ary = (
"a" => "あ",
"i" => "い",
"u" => "う",
);

Aベストアンサー

ん?abcとaiuはわざとかえているのすか?釣り?

たんなるスペルミスなら以下のようにしてください
<?
$ary1 = array("a","b","c");
$ary2 = array("あ","い","う");
foreach($ary1 as $key=>$val){
$ary[$val]=$ary2[$key];
}
print_r($ary);
?>

QPHP ボタンが押されたら処理を実行する

PHPプログラミングをしています。
「はい」というボタンが押されたらこの処理を行い、
「いいえ」というボタンが押されたらこの処理を行う
ということはどうすれば実装できるのでしょうか?

Aベストアンサー

どういう環境下で作っておられるのかが全然わかりませんが、
PHPというこですので、Webベースのフォームですよね。

たとえば、「はい」ボタンと「いいえ」ボタンをそれぞれフォームのSubmitにしておいて、
POST先のフォームで処理を分ければどうでしょうか。

送信元
<form name="Hai" method="POST" action="hoge.php">
<input type="hidden" name="answer" value="1">
<input type="submit" value="はい">
</form>

<form name="Hai" method="POST" action="hoge.php">
<input type="hidden" name="answer" value="0">
<input type="submit" value="いいえ">
</form>


送信先
$answer = $_POST["answer"];

if($answer == 1){
// 「はい」の時の処理
}else{
// 「いいえ」の時の処理
}


ちなみに、自分から自分へPOSTすればPHPスクリプトも2つに分けずにできると思います。
また、POSTじゃなくGETでも同様のことはできると思います。

どういう環境下で作っておられるのかが全然わかりませんが、
PHPというこですので、Webベースのフォームですよね。

たとえば、「はい」ボタンと「いいえ」ボタンをそれぞれフォームのSubmitにしておいて、
POST先のフォームで処理を分ければどうでしょうか。

送信元
<form name="Hai" method="POST" action="hoge.php">
<input type="hidden" name="answer" value="1">
<input type="submit" value="はい">
</form>

<form name="Hai" method="POST" action="hoge.php">
<input type="hidden" name="answer" ...続きを読む

Qillegal string offset

php5.3では動いていたプログラムをphp 5.4 で動かしたらwarning illegal string offsetが出て困っています。以下のプログラムでwarningが出ないようにするにはどのようにコーディングすればよいのでしょうか?


$a = array('exists' => 'foo');
if ($a['exists']['non_existent']) {
print 1;
}
print 2;
exit;

Aベストアンサー

isset()を使えばいいと思います


人気Q&Aランキング