0

我有一个来自 CJ 的 25 个广告,现在我想从每个给定的广告中创建 2 个不同类别的 wordpress 帖子。所以我创建了以下脚本,但它不会暂停用户输入,那么我该怎么做呢?如果它不可能,那么还有其他方法可以做到这一点吗?在脚本中 $ad 是包含广告客户 id 值的数组,$adcat 也是包含广告客户类别的数组

function cjlinks($n)
{
    global $ad, $adcat;


        $URI = 'https://product-search.api.cj.com/v2/product-search?website-id=12345678'.
            '&advertiser-ids='.$ad[$n].
            '&records-per-page=2';

    $context = stream_context_create(
    array(
    'http' => array(
        'method' => 'GET',
        'header' => 'Authorization: ' .
            'my api id'

        )
    ));

    $res = new SimpleXMLElement(file_get_contents($URI, false, $context));
    return $res;
}   
$a = 0;
while ($a < 25)
{

    echo 'advertiser id is:  '.$ad[$a].'<br/>advertiser - catagory is:  '.$adcat[$a]->child.
         '<br/>';

    if (isset($_SESSION['sumit'])){


    $data = cjlinks($a);
    $attributes = $data->products->attributes();

        if ($attributes->{'total-matched'} == 0){
            echo 'No products found ...try again with new keyword.';
            }else{
                foreach ($data->products[0] as $product) 
                {
                // Sanitize data.
                $price = number_format((float)$product->price, 2, '.', ' ');
                $image = '<a href="'.$product->{'buy-url'}.'"><img src="'.$product->{'image-url'}                            .'" style="float: right"/></a>';
                $pd =  $image.$product->description .'<a href="'.$product->{'buy-url'}.
                        '">...For more details and to buy it click here</a>';
                $p = array('post_title'    => $product->name,
                    'post_content'  => $pd,
                    'post_status'   => 'publish',
                    'post_author'   => 1,
                    'post_category'  =>array($_GET['cat']));
                $pr = wp_insert_post( $p, $wp_error );
                echo '<br/>posted...post ID is:'.$pr;
                wp_reset_query();  // Restore global post data stomped by the_post().

                }
            }   

        }else{
        echo 'please complete form';
        $a = $a+1;
    }
 }




?>
<html>
<body>

<form action="catag.php" method="get">
<table>




<tr>

         <td><label> Select a catagory from list:</label></td></tr>
         <tr>
            <?php

            foreach($cat as $key=>$val){



                        echo '<tr><td><input type="radio" value="'.$val->cat_ID.'" name="cat" id="'.$val->cat_ID.'">'.$val->cat_name.'</td></tr>';
                  }     

                ?>

              </tr>


</table>
<input type="submit" name="submit" value="submit">
</form><br>


</body>
</html>
4

1 回答 1

1

您不能像在页面加载之前在服务器上执行的那样从字面上“暂停”php脚本。php

要执行任何类型的“暂停”,您需要在 Javascript 或其他客户端(浏览器执行)代码中编写函数,或者将 Ajax 请求之类的内容发送到php页面,然后在响应时更新当前页面。

于 2013-04-03T19:15:59.527 回答