Foros del Web » Programando para Internet » PHP »

Como puedo cambiar la Id

Estas en el tema de Como puedo cambiar la Id en el foro de PHP en Foros del Web. Hola buenas tengo un combo con dos seleciones y la verdad es que funciona bien pero el problema que tengo es que no me presenta ...
  #1 (permalink)  
Antiguo 26/04/2012, 06:53
lucasabogado
Invitado
 
Mensajes: n/a
Puntos:
Como puedo cambiar la Id

Hola buenas tengo un combo con dos seleciones y la verdad es que funciona bien pero el problema que tengo es que no me presenta ni el pais ni la ciudad si no que me presenta las id del pais y la id de la provincia y yo quiero que se vea el pais y la provincia llevo probando un par de dias perome estoy volviendo loco a ver me podeis ayudar

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
  #2 (permalink)  
Antiguo 28/04/2012, 09:02
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Como puedo cambiar la Id

se puede solucionar cambiando algo en jquery= select id_country
entonces cambia esos valores en esta función a ver qué pasa, no?
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.                 $(function() {
  3.                 $("#country").jCombo("services/getCountries.php", { selected_value : '<?php print($country_id); ?>' } );
  4.                 $("#city").jCombo("services/getCities.php?id=", {
  5.                 parent: "#country",
  6.                 parent_value: '<?php print($country_id); ?>',
  7.                 selected_value: '<?php print($city_id); ?>'
  8.                 });
__________________
Fere libenter homines, id quod volunt, credunt.

Etiquetas: mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:22.