2017-03-19 11 views
0

私はこのようになりますテーブルを持っており、これはSQLクエリからの帰国です:meta_keyは同じ番号が一緒に属しているすべてのフィールドため enter image description herePHP:SQL戻りを反復処理するための最良の方法

、それはその結果を反復することは困難です。 meta_keyに0が含まれているすべてのキーと値が一緒に貼り付けられている二次元配列を作ることができれば、非常に良いでしょう。123もあります。

私の問題はこれをコード化することです。それとももっと良い方法がありますか?私はこのような何か(反復トラフ各フィールド... 0、1、2 ...)を必要と終わり

for($i = 0; $i < $repeater; $i++){ 
     $price = //product_shops_0_price 
     $price_old = //product_shops_0_price_old 
     $link = //product_shops_0_link 
     $shop = //product_shops_0_shop 
     ... 
} 

私は私のSQLを減らすために、一度、すべての値を選択しようとしていましたクエリ。しかし、今私の問題は、私のforループで必要とするような値をソートすることです...

$details = $database_gk->query("SELECT `meta_key`, `meta_value` FROM `fWR6qIN_postmeta` pm WHERE post_id = $pid AND (meta_key like 'product_shops_%_price' OR meta_key like 'product_shops_%_link' OR meta_key like 'product_shops_%_price_old' OR meta_key like 'product_shops_%_shop');"; 

おはようとありがとう!

+0

私はこれがあなたの質問に答えないことを知っていますが、あなたはどのようにしてあなたのテーブルの複合データを完成させましたか?これは、あなたに今明らかでなければならない理由のために、常に避けるべきです。私が何を言おうとしているのですか:原因を解決し、症状にぶつからないでください。 –

+0

私は知っている...しかし、私はそれを処理する必要があります...それらのデータは、Wordpressのプラグインからです。 –

+0

私たちが作業することができるコードの少しを示すことから始めます。これは、SQLでこれをやりたいのであれば、あなたのテーブルのSQLクエリか、PHPでそれをやりたい場合はテーブルを読み込むPHPコードです。また、コードの目的を明確にしてください。結果はどうあるべきですか、なぜですか? –

答えて

0

あなたがPHPを使用してテーブルを反復した場合、あなたは、列2の部分にアクセスするには、このコードを使用することができます。

$parts = explode('_',$row['column2']); 
$number = $parts[2]; 
$type = implode('_',array_slice($parts,3)); 

これは一例であり、2列目からの情報を抽出するために、他の多くの方法があります。