msql:
/*Table structure for table `cities` */
CREATE TABLE `cities` (
`id_city` int(11) NOT NULL AUTO_INCREMENT,
`city_name` varchar(50) DEFAULT NULL,
`id_country` int(11) DEFAULT NULL,
PRIMARY KEY (`id_city`)
) ENGINE=MyISAM AUTO_INCREMENT=15 DEFAULT CHARSET=latin1;
/*Data for the table `cities` */
insert into `cities`(`id_city`,`city_name`,`id_country`) values (1,'Sao Paulo',1);
insert into `cities`(`id_city`,`city_name`,`id_country`) values (2,'Rio de Janeiro',1);
insert into `cities`(`id_city`,`city_name`,`id_country`) values (3,'Brasilia',1);
insert into `cities`(`id_city`,`city_name`,`id_country`) values (4,'Toronto',2);
insert into `cities`(`id_city`,`city_name`,`id_country`) values (5,'Calgary',2);
insert into `cities`(`id_city`,`city_name`,`id_country`) values (6,'Quebec',2);
insert into `cities`(`id_city`,`city_name`,`id_country`) values (7,'Montreal',2);
insert into `cities`(`id_city`,`city_name`,`id_country`) values (8,'Miami',3);
insert into `cities`(`id_city`,`city_name`,`id_country`) values (9,'New York',3);
insert into `cities`(`id_city`,`city_name`,`id_country`) values (10,'Los Angeles',3);
insert into `cities`(`id_city`,`city_name`,`id_country`) values (11,'Caracas',4);
insert into `cities`(`id_city`,`city_name`,`id_country`) values (12,'Valencia',4);
insert into `cities`(`id_city`,`city_name`,`id_country`) values (13,'Maracaibo',4);
insert into `cities`(`id_city`,`city_name`,`id_country`) values (14,'Puerto La Cruz',4);
/*Table structure for table `countries` */
CREATE TABLE `countries` (
`id_country` int(11) NOT NULL AUTO_INCREMENT,
`country_name` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id_country`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;
/*Data for the table `countries` */
insert into `countries`(`id_country`,`country_name`) values (1,'Brazil');
insert into `countries`(`id_country`,`country_name`) values (2,'Canada');
insert into `countries`(`id_country`,`country_name`) values (3,'United States');
insert into `countries`(`id_country`,`country_name`) values (4,'Venezuela');
php y java:
Código PHP:
<?php
include("config.php");
?>
<script type="text/javascript" src="script/jquery.js"></script>
<script type="text/javascript" src="script/jquery.jCombo.min.js"></script>
<table>
<tr><td>Country</td><td><select name="country" id="country"></select></td></tr>
<tr><td>City</td><td><select name="city" id="city"></select></td></tr>
</table>
<?php
// calculate first values to populate data (Victoria Park, Calgary, Canada) id = 13
$query = " SELECT zones.id_zone, cities.id_city, countries.id_country FROM zones
INNER JOIN cities ON zones.id_city = cities.id_city
INNER JOIN countries ON countries.id_country = cities.id_country
WHERE zones.id_zone = '13'";
$result = mysql_query($query);
if($result && mysql_num_rows($result)>0) {
$row = mysql_fetch_assoc($result);
$country_id = intval($row['id_country']);
$city_id = intval($row['id_city']);
$zone_id = intval($row['id_zone']);
}
?>
<script type="text/javascript">
$(function() {
$("#country").jCombo("services/getCountries.php", { selected_value : '<?php print($country_id); ?>' } );
$("#city").jCombo("services/getCities.php?id=", {
parent: "#country",
parent_value: '<?php print($country_id); ?>',
selected_value: '<?php print($city_id); ?>'
});
});
</script>
get countrys :
Código PHP:
<?php
// connect database
include("../config.php");
// execute query in correct order
//(value,text)
$query = "SELECT id_country, country_name FROM countries ORDER BY country_name ASC";
$result = mysql_query($query);
$items = array();
if($result && mysql_num_rows($result)>0) {
while($row = mysql_fetch_array($result)) {
$items[] = array( $row[0], $row[1]);
}
}
mysql_close();
// encode to json
echo(json_encode($items));
?>
se puede solucionar cambiando algo en jquery= select id_country
por favor ayudadme
saludos