0

別の列が特定の値を持つ「ロングテキスト」のデータ型を持つテーブル列からいくつかの値を選択し、それらの値を合計する必要があります。合計を変数として保存する必要があります。これは、a.) Web ページでエコーし、b.) ページの後半の計算で値を使用します。

これは、合計する必要があるすべての値を見つけるために機能します。

 $query = "SELECT meta_value 
 FROM wp_postmeta 
 WHERE meta_key = '_crowdfundingtotalprice' 
 ORDER BY CAST(`meta_value` AS UNSIGNED) DESC";

結果は次のように表示できます。

$result = mysql_query($query) or die(mysql_error());
while($row=mysql_fetch_array($result)){
echo $row['meta_value']. "<br>";
}

検索から、クエリに近いと思いますが、結果をエコーし​​ようとするとページが読み込まれません。動作しないものは次のとおりです。

$query = "SELECT CAST(SUM('meta_value') as UNSIGNED) 
FROM wp_postmeta 
WHERE meta_key = '_crowdfundingtotalprice'";

$result = mysql_query($query) or die(mysql_error());
while($row=mysql_fetch_array($result)){
    echo $row[SUM('meta_value')]. "<br>";
}

ご想像のとおり、これは Wordpress データベース テーブルであり、データ型を変更することはできません。いつものように、あなたの助けに感謝します!

編集 - 以下のゴードン・リノフの提案を試して、meta_value を囲む一重引用符を削除しました。まだうまくいきませんが、提案をありがとう:

$query = "SELECT CAST(SUM(meta_value) as UNSIGNED) 
FROM wp_postmeta 
WHERE meta_key = '_crowdfundingtotalprice'";

$result = mysql_query($query) or die(mysql_error());
while($row=mysql_fetch_array($result)){
    echo $row[SUM(meta_value)]. "<br>";
}
4

1 に答える 1

0

解決済み:

私のタイプミスを指摘してくれた Gordon Linoff に感謝します。私は最終的にサンプルテーブルを作成し、これを自分で打ち出しました. 実際、クエリ内の一重引用符は必要ありませんでした。ただし、結果をエコーし​​ている場合、一重引用符が必要でしたが、それらは間違った場所にありました。$row['SUM(meta_value)']の代わりに注意してください$row[SUM('meta_value')]

さらに、クエリが数学を使用する場合、MYSQL はデフォルトで値を数学値として扱うため、CAST を使用する必要はありませんでした (これは機能しませんでした)。

$query = "SELECT meta_key, SUM(meta_value) 
 FROM wp_postmeta 
 WHERE meta_key = '_crowdfundingtotalprice'";

$result = mysql_query($query) or die(mysql_error());
while($row=mysql_fetch_array($result)){
echo $row['SUM(meta_value)'] ."<br>";
}
于 2015-03-31T14:59:27.883 に答える