2016-10-25 105 views
0

嗨,我有这个worpdress项目插件ive创建。数据从数据库成功呈现在wp-admin中。现在我的问题是这似乎我的SQL删除查询不工作这是我的SQL删除代码似乎没关系。这里是我的代码 add_action('admin_menu','zipcode_menu');sql删除查询不工作在wordpress

function zipcode_menu(){ 
    add_menu_page('Zipcode Page', 'Zipcode', 'manage_options', 'zipcode', 'zipcode'); 
} 


function zipcode() { 
    // Now display the settings editing screen 
    echo '<div class="wrap">'; 
    // header 
    echo "<h2>" . __('Zipcode', 'zip') . "</h2>"; 
    // settings form 

    if(isset($_POST['Submit'])){ 
     global $wpdb; 

     $zipcode = $_POST['zipcode']; 

     $wpdb->query("INSERT INTO zipcode(zipcode)VALUES('$zipcode')"); 
    } 

    ?> 

    <form method="post" action=""> 

    <table class="form-table"> 
     <tr valign="top"> 
      <td><input type="text" name="zipcode" placeholder="Zipcode: " value=""/></td> 
     </tr> 
    </table> 
     <p class="submit"> 
      <input type="submit" name="Submit" class="button-primary" value="<?php esc_attr_e('Add Zipcode') ?>" /> 
     </p> 

    </form> 
    </div> 
    <br> 
    <br> 

    <?php 
     global $wpdb; 
     $sql = "SELECT id, zipcode FROM zipcode;"; 
     $results = $wpdb->get_results($sql); 

    ?> 
    <script type="text/javascript"> 
     jQuery.noConflict(); 
      function goDelete($id){ 
       var x = confirm('Are you sure you want to delete this?'); 

       if(x){ 
        jQuery.post("/wp-content/themes/doozo/lib/script.php", { id:$id }, function(data){ 

        }); 

       }else{ 
        return false; 
       } 
      } 

    </script> 

    <table width="600px"> 
     <tr> 
      <th> 
       Zipcode 
      </th> 
      <th> 
       Options 
      </th> 
     </tr> 
     <?php foreach($results as $r): ?> 
     <tr class="zipcode-<?php echo $r->id; ?>"> 

      <th> 
       <?php echo $r->zipcode; ?> 
      </th> 
      <th> 
       <a onclick="goDelete('<?php echo $r->id; ?>')" href="#">Delete</a> 
      </th> 
     </tr> 
     <?php endforeach; ?> 

    </table> 
    <?php 

} 

现在我的script.php代码从表

global $wpdb; 
$id = $_POST['id']; 
echo $id; 
// sql to delete a record 
$sql = "DELETE FROM zipcode where id=$id"; 
echo $sql; exit; 

删除数据的人可以试试帮我想通这件事情呢?看来我的删除查询不起作用。任何帮助,非常感激。 TIA

+0

我还没有与WordPress工作了一段时间,但我敢肯定,你不能只是发布一个随机脚本在你的目录结构,并期望整个框架神奇地加载并可用。除此之外,您需要执行查询,只是回显字符串不会执行任何操作。 – jeroen

+0

我只是试图回应,我的意思是,在SQL中的SQL删除查询应该是足够的工作:(( –

+0

和多数民众赞成在删除查询的代码吗? –

回答

0

试试这个:

<?php 
global $wpdb; 
$id = $_POST['id']; 
echo $id; 

// sql to delete a record 
//$sql = 'DELETE FROM zipcode WHERE id="'. $id .'"'; 
$wpdb->delete('zipcode', array('id' => $id)); 
?> 
+0

你也想要检查用户的凭据,以确保他们有权访问例如,检查他们是否使用wp函数'is_super_admin($ user_id);'。 – UltrasoundJelly

+0

hmmm但即时通讯使用WordPress的 –

+0

我想我的连接已经连接 –