2017-03-18 11 views
0

私は、MYSQLデータベースからデータを取得し、JavaScriptとAJAXを使用する4つのドロップダウンリストを含むページがあるウェブサイトを作成するために、WordPressプラットフォームとPHPとMYSQLを使用していますこれらのドロップダウンリストを、ユーザが第1のものから選択し、ユーザの選択に基づいて第2のドロップダウン表示データに基づいて互いに依存するようにしようとする。エラー404ページがワードプレスに見つかりません

問題は、ホールページをリフレッシュせずにAJAXを動作させるために2つのコードを使用していることです。デバッグモードで

私は、最初のドロップダウンリストから選択してみてください、それはディスプレイ:

は/ opt /:

ディレクトリ構造を発見していない

404 drpdown_fetch_owner.phpエラーページlampp/htdocs/wordpress/wp-content/themes/wp-portfolio/search_info_location.php

/o PT/LAMPP/htdocsに/ワードプレス/ WP-コンテンツ/テーマ/ WP-ポートフォリオ/ dropdown_fetch_owner.php

テーブル:

  • site_info:

    • SITEID
    • サイト名
    • オーナーID
    • リスト項目

owner_info:

  • OWNERID
  • ownernameに

問題:OWNERID最初のドロップリスト上のユーザーがクリックした後

変数AJAXで空のまま価値がない。

私はdropdown_fetch_owner.phpコード でのSQLクエリの下var_dump($sql);を追加したと私はデバッグモードでこの文を得た:

は/ opt/LAMPP/htdocsに/ワードプレス/ WP-コンテンツ/テーマ/ WP-ポートフォリオ/ dropdown_fetch_owner.php:6: 配列(サイズ= 0) 空

CODE1:

<form method ="post" action ="" name="submit_form"> 
    <table border="0" width="30%"> 
     <tr> 
      <td>Site Name</td> 
      <td>Owner Name</td> 
      <td>Company Name</td> 
      <td>Subcontractor Name</td> 
     </tr> 
     <tr> 
      <td><select id="site_name" name = "site_name"> 

      <?php 


       $query_site_name =$wpdb->get_results("select DISTINCT siteNAME from site_info"); 
        foreach($query_site_name as $row) 
        { 
     //   $site_name = (array)$site_name; 
        echo "<option value = '".$row ->ownerID."'>".$row->siteNAME."</option>"; 
        } 

      ?> 

      <!--create dropdown list owner names--> 
      </select></td> 

      <td><select id="owner_name" name ="owner_name"> 
      <option value="">Select Owner</option> 


    <!-- the below part of code work as it should --!> 
     <!--create dropdown list site names--> 

     <form method ="post" action ="" name="submit_form"> 
      <table border="0" width="30%"> 
       <tr> 
        <td>Site Name</td> 
        <td>Owner Name</td> 
        <td>Company Name</td> 
        <td>Subcontractor Name</td> 
       </tr> 
       <tr> 
        <td><select id="site_name" name = "site_name"> 

        <?php 


         $query_site_name =$wpdb->get_results("select DISTINCT siteNAME from site_info"); 
          foreach($query_site_name as $row) 
          { 
       //   $site_name = (array)$site_name; 
          echo "<option value = '".$row ->ownerID."'>".$row->siteNAME."</option>"; 
          } 
        ?> 

        <!--create dropdown list owner names--> 
        </select></td> 

        <td><select id="owner_name" name ="owner_name"> 
        <option value="">Select Owner</option> 

    <script type="text/javascript"> 

// make Dropdownlist depend on each other 
$(document).ready(function(){ 
    $('#site_name').change(function(){ 
     var ownerID = $(this).val(); 
     $.ajax({ 
      url:"dropdown_fetch_owner.php", 
      method:"POST", 
      data:{ownerID:ownerID}, 
      datatype:"text", 
      success:function(data){ 
       $('#owner_name').html(data); 
      } 

     }); 
     }); 

    }); 

</script> 

dropdown_fetch_owner。PHP:

<?php 
include_once($_SERVER['DOCUMENT_ROOT'].'/wordpress/wp-load.php'); 
global $wpdb; 

$sql =$wpdb->get_results("select * from owner_info where ownerID = '".$_POST['ownerID']."' ORDER BY ownerNAME"); 

echo '<option value="">Select Owner</option>'; 
foreach($sql as $row){ 

//while ($row = mysqli_fetch_array($result)) { 
    echo "<option value = '".$row ->ownerID."'>". $row->ownerNAME."</option>"; 
} 


?> 
+0

あなたは、私が追加されたファイル –

+0

@TamilSelvanCのディレクトリ構造を共有してください可能性ファイル構造 –

+0

はこのように変更されます 'url:" <?php echo get_stylesheet_directory_uri();?>/dropdown_fetch_owner.php "、" '$ .ajax({' –

答えて

0
ワードプレス、使用アヤックスで

https://codex.wordpress.org/AJAX_in_Plugins

変更

url:"<?php echo get_stylesheet_directory_uri(); ?>/dropdown_fetch_owner.php", 

代わりのurl:"dropdown_fetch_owner.php",

+0

私が今直面した第二の問題? –

+0

何が問題なのですか? –

+0

ユーザーが最初のドロップダウンリストから選択した後、AJAXのvaiableがまだ空で、2番目のドロップダウンリストに値が表示されていません。 –

関連する問題