Wordpressテーブルからユーザーの詳細を返すクエリがあります。私が望むカラム名を選択していればうまくいくかもしれませんが、Wordpress内にはmetakeyと呼ばれる1カラムとメタ値と呼ばれる1カラムの2カラムを持つusermetaテーブルがあります。my-sqlクエリでGROUP CONCATをwp_usermetaテーブルで使用する
私は、first_nameやlast_nameなどのメタキーから特定のビット数のユーザー情報を取得したいと考えていますが、それらはすべて同じ列のメタファイル内にあります。ここで
は私が持っているものです。
$allquery="SELECT $comma_separated, wp_usermeta.meta_value, wp_usermeta.meta_key,
//comma_seperated are a list of values to search for seperate by ",". this is name, email
GROUP_CONCAT(
wp_usermeta.meta_value
ORDER BY wp_usermeta.meta_key
) AS name
FROM wp_users
LEFT JOIN wp_usermeta
ON wp_users.ID = wp_usermeta.user_id
WHERE (wp_usermeta.meta_key = 'first_name'
OR wp_usermeta.meta_key = 'last_name')
AND wp_users.user_login = '$spec_user'
GROUP BY wp_users.ID";
$names = array();
$allresult=mysql_query($allquery) or die(mysql_error());
while($rows=mysql_fetch_array($allresult)){
$names[] = $rows['name']; //name is from the group_concat in query
$emails[] = $rows['user_email'];
}
問題は、これが1つだけの行を返し、です。
AND wp_users.user_login = '$spec_user'
ここで、$ spec_userはユーザーが入力した値です。
私が理想的に言っているのは、user_login列がユーザーが入力した列と等しい場所に戻されるすべての行です。そのテーブルだけでなく、Usermetaテーブルから。
EDIT @nnicholsを、私はおそらくdidntのproperelyそれを説明するについて行く...
これは、ユーザーテーブルです:
ID userlogin password email date-registered
2 jay xxxxxx [email protected] 1/2/12
5 pete xxxxxx [email protected] 2/2/12
そして、これはusermetaテーブルです:
umetaid userid meta_key meta_value
122 2 first_name james
123 5 first_name peter
155 2 last_name jones
167 5 last_name gould
168 2 DOB 16/8/89
190 5 DOB 23/5/70
私は1つのクエリの値をPHPループに集約して、配列に追加できるようにしようとしています:
$names = array();
$dob = array();
$allresult=mysql_query($allquery) or die(mysql_error());
while($rows=mysql_fetch_array($allresult)){
$names[] = $rows['name']; //name is from the group_concat in query
$emails[] = $rows['user_email'];
$dob[] = $rows['custom_field_dob'];
}
私は姓と名が1つの配列name []に既に入れられています。しかし、私はどのようにしてそれを達成するのでしょうか?つまり、usermetaテーブルはDOBメタキーを列として扱いました。そのため、すべてのコンテンツを配列にプルすることができ、他のユーザーデータとしてsamme "row"に入ります。
私はあなたが達成しようとしていることを説明するためのより良い仕事をする必要があると思います。おそらく、これらの表にある「このサンプルデータ」の形式の例では、「これらの結果」を検索したいと思います。 – nnichols