1

検索しましたが、これを自分で機能させることはできません

したがって、完全に明確にするために、次のようなmeta_keysを持つWPデータベースがあります。

ID ------ POST_ID -------- META_KEY ---- META_VALUE
1  ------   235  -------  book_price ---- 35$
2  ------   256  -------  book_price ---- 65$
3  ------   235  -------  tcp_book_price ---- 0
4  ------   256  -------  tcp_book_price ---- 0

tcp_book_price の meta_value が、同じ post_id を持つ book_price から meta_value を受け取るようにしたい

希望する最終結果:

ID ------ POST_ID -------- META_KEY ---- META_VALUE
1  ------   235  -------  book_price ---- 35$
2  ------   256  -------  book_price ---- 65$
3  ------   235  -------  tcp_book_price ---- 35$
4  ------   256  -------  tcp_book_price ---- 65$

UPDATE FROM SELECT を試しましたが、うまくいきません。

前もって感謝します

OK、PHPスクリプトを使用して自分で解決策を見つけました:

<?php

$conn = mysql_connect("localhost", "root", "root");

if (!$conn) {
echo "Impossible de se connecter à la base de données : " . mysql_error();
   exit;
}

if (!mysql_select_db("database_name")) {
   echo "Impossible de sélectionner la base database_name : " . mysql_error();
   exit;
}

$sql = "SELECT `post_id`, `meta_value` FROM `wp_postmeta` WHERE `meta_key` = 'book_price'";

// query the database
$resource = mysql_query($sql);

// loop through the results
while ($result = mysql_fetch_assoc($resource)) {
    // grab the value
    $price = $result['meta_value'];   // you should use quotes here, btw
    $pid = $result['post_id'];   // you should use quotes here, btw

    echo $price;
    echo $pid;

    // make your modifications;
//    ++$nox; // or whatever

    // build the query
    $sql = "UPDATE `wp_postmeta` SET `meta_value` = '$price' WHERE `meta_key` = 'tcp_price' AND `post_id` = '$pid'";


    // run the query
    mysql_query($sql);
}

?>
4

0 に答える 0