Foros del Web » Programando para Internet » PHP »

trabajar con intval

Estas en el tema de trabajar con intval en el foro de PHP en Foros del Web. Tengo un numero como resultado de la eleccion de un item en una lista deplegable por medio de INTVAL. Creo que es mas claro si ...
  #1 (permalink)  
Antiguo 15/10/2010, 10:45
 
Fecha de Ingreso: enero-2009
Mensajes: 15
Antigüedad: 15 años, 3 meses
Puntos: 0
trabajar con intval

Tengo un numero como resultado de la eleccion de un item en una lista deplegable por medio de INTVAL.

Creo que es mas claro si lo expreso con un ejemplo:

- Tengo 2 tablas relacionadas. Mundo y Ciudad
En Mundo uno de los campos es "IDpais"
En Ciudad tiene 2 campos Id y nombre

- El post de la opcion elegida de la lista, lo convierto en numero por medio de INTVAL.

Lo que necesito es que en la consulta me de como resultado el nombre de la Ciuad.

Muchas gracias anticipadas
  #2 (permalink)  
Antiguo 15/10/2010, 10:52
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: trabajar con intval

Saludos

En la tabla ciudad como la relacionas con pais??
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 15/10/2010, 10:56
 
Fecha de Ingreso: enero-2009
Mensajes: 15
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: trabajar con intval

Muchas gracias Nano por contestar, la relaciono por el Id.

En Tabla Pais, tengo ciudadId, que es el mismo que en Tabla Ciudad

Podras ayudarme?
  #4 (permalink)  
Antiguo 15/10/2010, 11:05
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: trabajar con intval

Saludos

Podrias explicarte un poco mejor cuando indicas

Cita:
- El post de la opcion elegida de la lista, lo convierto en numero por medio de INTVAL.
1. Exactamente que opcion seleccionas un mundo, pais o ciudad??
2. Por que la conviertes en int val?
2. Una duda la tabla mundo para que es me parecio curioso ese nombre?
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #5 (permalink)  
Antiguo 15/10/2010, 11:18
 
Fecha de Ingreso: enero-2009
Mensajes: 15
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: trabajar con intval

Hola Nano

En si puse un ejemplo, pues, el codigo es mas extenso, pero te copio una parte, para ver si aclara con esto.

En este no tengo problemas:
elseif (intval($_POST['seltipo_prop']) > 0) {
$sql = 'SELECT inmobiliaria.*, zona.* FROM inmobiliaria, zona WHERE inmobiliaria.idzona = zona.id';
$sql .= " AND inmobiliaria.tipo_prop = '" . intval($_POST['seltipo_prop']). "'";
}

$sql .= " ORDER BY zona.nombre ASC"; echo $sql;
$tabla = mysql_query($sql) or die( "Error en query: $sql, el error es: " . mysql_error() );
while ($registro = mysql_fetch_array($tabla)) {
?>

<td colspan="6" align="left" valign="top"><?php echo $registro['nombre_tipoP']; ?></td>

Este es el que me esta volviendo loquita:

Aca tengo que pregunta si es de una zona especifica y si es verdad viene otra lista desplegable "barrio"

if (intval($_POST['selZona']) == 1) {
$sql = 'SELECT * FROM barrios WHERE inmobiliaria.idzona = zona.id and barrios.id = '.$_POST['selBarrio']'';
}
que pasa por el mismo bucle que el anterior

$sql .= " ORDER BY zona.nombre ASC"; echo $sql;
$tabla = mysql_query($sql) or die( "Error en query: $sql, el error es: " . mysql_error() );
while ($registro = mysql_fetch_array($tabla)) {
?>

Aca me da error dice
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING

Espero haber sido mas claro y te agradezco mucho si me podes ayudar.

Saludos
  #6 (permalink)  
Antiguo 15/10/2010, 14:39
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: trabajar con intval

Saludos

El error es que te falta un punto

Código PHP:
//ANTES
if (intval($_POST['selZona']) == 1) {
$sql 'SELECT * FROM barrios WHERE inmobiliaria.idzona = zona.id and barrios.id = '.$_POST['selBarrio']'';
}
//MODIFICADO
if (intval($_POST['selZona']) == 1) {
$sql 'SELECT * FROM barrios WHERE inmobiliaria.idzona = zona.id and barrios.id = '.$_POST['selBarrio'].' ';

Hasta Pronto!
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #7 (permalink)  
Antiguo 15/10/2010, 16:01
 
Fecha de Ingreso: enero-2009
Mensajes: 15
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: trabajar con intval

Muchas, pero muchas gracias Nano.

No lo puedo creer!!!!!!!!!!!!!!!!!!!!!!!

Si podes, te puedo hacer otra pregunta?.
Porque puedo solucionarlo de otra manera, pero, no me quiero quedar sin comprender. Y es sobre el "echo" de estos "if"

Antes te contaba que:

En este "echo" no tengo problemas:

elseif (intval($_POST['seltipo_prop']) > 0) {
$sql = 'SELECT inmobiliaria.*, zona.* FROM inmobiliaria, zona WHERE inmobiliaria.idzona = zona.id';
$sql .= " AND inmobiliaria.tipo_prop = '" . intval($_POST['seltipo_prop']). "'";
}

$sql .= " ORDER BY zona.nombre ASC"; echo $sql;
$tabla = mysql_query($sql) or die( "Error en query: $sql, el error es: " . mysql_error() );
while ($registro = mysql_fetch_array($tabla)) {
?>

<td colspan="6" align="left" valign="top"><?php echo $registro['nombre_tipoP']; ?></td>

Pero:
Cuando quiero mostrar el "echo" del otro campo de la tabla "barrios" que es "nombre" (del que me diste la solucion) no me lo muestra, se que me falta decirle que con el "barrios.id" (que es de la tabla inmobiiliaria), me muestre el campo "nombre" que corresponde al "id" de tabla "barrios".

if (intval($_POST['selZona']) == 1) {
$sql = 'SELECT * FROM barrios WHERE inmobiliaria.idzona = zona.id and barrios.id = '.$_POST['selBarrio'].' ';
}

<td width="30%" align="left" valign="top"><?php echo $registro['barrios.nombreB']; ?></td>

Realmente no me doy cuenta como hacerlo, probe de muchas formas pero no funciono.

Perdoname tanta molestia
Saludos
  #8 (permalink)  
Antiguo 15/10/2010, 16:07
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: trabajar con intval

Saludos

La verdad no te entendi muy bien ejejejeej perdon!..

Pero veo un error en esta sentencia te falto agregar la tabla zona

Código PHP:
//ACTUAL
if (intval($_POST['selZona']) == 1) {
$sql 'SELECT * FROM barrios WHERE inmobiliaria.idzona = zona.id and barrios.id = '.$_POST['selBarrio'].' ';
}
//MODIFICADO
if (intval($_POST['selZona']) == 1) {
$sql 'SELECT * FROM barrios,zona WHERE inmobiliaria.idzona = zona.id and barrios.id = '.$_POST['selBarrio'].' ';

No se si de pronto ese es tu error.
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #9 (permalink)  
Antiguo 15/10/2010, 16:41
 
Fecha de Ingreso: enero-2009
Mensajes: 15
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: trabajar con intval

no, soy yo Nano, que no me se explicar, perdón.
Ya mi cabeza esta a punto de exlotar

el tema lo tengo en:

<td width="30%" align="left" valign="top"><?php echo $registro['barrios.nombreB']; ?></td>
no me muestra nada en $registro['barrios.nombreB']

que tendria que ser el resultado de:

$sql = 'SELECT * FROM barrios, zona WHERE inmobiliaria.idzona = zona.id and barrios.id = '.$_POST['selBarrio'].' ';

creo que esto se produce cuando pasa por el bucle

$sql .= " ORDER BY zona.nombre ASC"; echo $sql;
$tabla = mysql_query($sql) or die( "Error en query: $sql, el error es: " . mysql_error() );
while ($registro = mysql_fetch_array($tabla)) {
?>

el echo de $sql me da: "SELECT inmobiliaria.*, zona.* FROM inmobiliaria, zona WHERE inmobiliaria.idzona = zona.id ORDER BY zona.nombre ASC"

y como veras ni figura "barrios".

Espero haber sido mas clara.
Y te agradezco muchisimo
Saludos

Etiquetas: trabajo
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 22:11.