Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为状态和位置选择多个组合_Php_Jquery_Select_Country - Fatal编程技术网

Php 为状态和位置选择多个组合

Php 为状态和位置选择多个组合,php,jquery,select,country,Php,Jquery,Select,Country,我需要为每个州、国家、地点和邮政编码创建一个多选择组合。我只找到意大利的。您是否有word上每个位置的示例或完整代码?我在哪里可以找到每个位置、州和邮政编码?谢谢谢谢..我怎样才能找到每个州、地区和邮政编码的列表?请不要再维护它们,它们已被删除。而是学习,并使用或。会帮你决定的。你好,谢谢。我试图给出+1分,但我不能,因为我没有15分的声誉。请点击这里[链接]grafichevideo@yahoo.itTry通过此链接,您将获得所有国家/地区和邮政编码 /* Create table c

我需要为每个州、国家、地点和邮政编码创建一个多选择组合。我只找到意大利的。您是否有word上每个位置的示例或完整代码?我在哪里可以找到每个位置、州和邮政编码?谢谢

谢谢..我怎样才能找到每个州、地区和邮政编码的列表?请不要再维护它们,它们已被删除。而是学习,并使用或。会帮你决定的。你好,谢谢。我试图给出+1分,但我不能,因为我没有15分的声誉。请点击这里[链接]grafichevideo@yahoo.itTry通过此链接,您将获得所有国家/地区和邮政编码
    /* Create table country */
    CREATE TABLE `country` (
      `id` tinyint(4) NOT NULL auto_increment,
      `country` varchar(20) NOT NULL default '',
      PRIMARY KEY  (`id`)
    )

    /*create table state*/
    CREATE TABLE `state` (
      `id` tinyint(4) NOT NULL auto_increment,
      `countryid` tinyint(4) NOT NULL,
      `statename` varchar(40) NOT NULL,
      PRIMARY KEY  (`id`)
    )

    /* Create table city */
    CREATE TABLE `city` (
      `id` tinyint(4) NOT NULL auto_increment,
      `city` varchar(50) default NULL,
      `stateid` tinyint(4) default NULL,
      `countryid` tinyint(4) NOT NULL,   PRIMARY KEY  (`id`)
    )

Now to test the demo in working we have to add some records in each of the tables. So run the following queries to add the records.

    /* Inserting records into country table */
    INSERT INTO `country` VALUES (1, 'USA');
    INSERT INTO `country` VALUES (2, 'Canada');

    /* Inserting records into state table */
    INSERT INTO `state` VALUES (1, 1, 'New York');
    INSERT INTO `state` VALUES (2, 1, 'Los Angeles');
    INSERT INTO `state` VALUES (3, 2, 'British Columbia');
    INSERT INTO `state` VALUES (4, 2, 'Torentu');

    /* Inserting records into city table */
    INSERT INTO `city` VALUES (1, 'Los Angales', 2, 1);
    INSERT INTO `city` VALUES (2, 'New York', 1, 1);
    INSERT INTO `city` VALUES (3, 'Toranto', 4, 2);
    INSERT INTO `city` VALUES (4, 'Vancovour', 3, 2);

Now make one file index.php and paste the below code.

    <form method="post" action="" name="form1"> 
    <center>
    <table width="45%"  cellspacing="0" cellpadding="0">
      <tr>
          <td width="75">Country</td>
          <td width="50">:</td>
          <td  width="150">
          <select name="country" onChange="getState(this.value)">
     <option value="">Select Country</option>
     <?php while ($row=mysql_fetch_array($result)) { ?>
     <option value=<?php echo $row['id']?>><?php echo $row['country']?></option>
     <?php } ?>
         </select>
       </td>
    </tr>
    <tr style="">
        <td>State</td>
        <td width="50">:</td>
        <td >
     <div id="statediv">
            <select name="state" >
            <option>Select State</option>
            </select>
     </div>
        </td>
    </tr>
    <tr>
        <td>City</td>
        <td width="50">:</td>
        <td >
     <div id="citydiv">
              <select name="city">
              <option>Select City</option>

               </select>

             </div>

        </td>

      </tr>
      </table>
    </center>
    </form>
In the onChage event of the country drop down we have called getState() function of the javascript. Which change the options values of the State drop down, let’s look at the code the getState() function.

    <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.js"></script>

    <script type="text/javascript">
    function getState(countryId) { 
        var strURL="findState.php?country="+countryId;
      var req = getXMLHTTP();
      if (req) {
       req.onreadystatechange = function() {
        if (req.readyState == 4) {
         // only if "OK"
         if (req.status == 200) {      
          document.getElementById('statediv').innerHTML=req.responseText;
          document.getElementById('citydiv').innerHTML='<select name="city">'+
          '<option>Select City</option>'+'</select>';      
         } else {
          alert("Problem while using XMLHTTP:\n" + req.statusText);
         }
        }    
       }   
       req.open("GET", strURL, true);
       req.send(null);
      }  
     }
    <script>

As you can see in the above code we are passing the countryid to the file findState.php, which populate the options in the drop down of the state which is fetched from Ajax , is given below.

    <?php $country=intval($_GET['country']); 
    $con = mysql_connect('localhost', 'root', ''); 
    if (!$con) {
        die('Could not connect: ' . mysql_error());
    }
    mysql_select_db('test');
    $query="SELECT id,statename FROM state WHERE countryid='$country'";
    $result=mysql_query($query);

    ?>
    <select name="state" onchange="getCity(<?php echo $country?>,this.value)">
    <option>Select State</option>
    <?php while ($row=mysql_fetch_array($result)) { ?>
    <option value=<?php echo $row['id']?>><?php echo $row['statename']?></option>
    <?php } ?>
    </select>
In the above code for the state dropdown, getCity() function is called on its  onChage event having parameters countryId and stateId, now let’s look at the code of the getCity() function

    <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.js"></script>

    <script type="text/javascript">
         function getCity(countryId,stateId) {   
          var strURL="findCity.php?country="+countryId+"&state="+stateId;
          var req = getXMLHTTP();

          if (req) {

           req.onreadystatechange = function() {
            if (req.readyState == 4) {
             // only if "OK"
             if (req.status == 200) {      
              document.getElementById('citydiv').innerHTML=req.responseText;      
             } else {
              alert("Problem while using XMLHTTP:\n" + req.statusText);
             }
            }    
           }   
           req.open("GET", strURL, true);
           req.send(null);
          }

         }
<script>
As you can see in the above ajax function, one file findcity.php is called and this PHP file populate the city dropdown according to the supplied parameters country and state from get method. Now let’s look at the code of findcity.php,

    <?php 
    $countryId = intval($_GET['country']); 
    $stateId   = intval($_GET['state']);
    $con       = mysql_connect('localhost', 'root', ''); 

    if (!$con) {
        die('Could not connect: ' . mysql_error());
    }

    mysql_select_db('test');
    $query="SELECT id,city FROM city WHERE countryid='$countryId' AND stateid='$stateId'";
    $result=mysql_query($query);

    ?>
    <select name="city">
    <option>Select City</option>
    <?php while($row=mysql_fetch_array($result)) { ?>
    <option value=<?php echo $row['id']?>><?php echo $row['city']?></option>
    <?php } ?>
    </select>