Foros del Web » Programando para Internet » PHP »

funcion no me funciona

Estas en el tema de funcion no me funciona en el foro de PHP en Foros del Web. Gente: estoy trabajando sobre un buscador, y quisiera que al elegir una marca, se procese el formu y me muestre los modelos: Código: <? include ...
  #1 (permalink)  
Antiguo 30/05/2010, 16:35
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 20 años, 1 mes
Puntos: 1
funcion no me funciona

Gente: estoy trabajando sobre un buscador, y quisiera que al elegir una marca, se procese el formu y me muestre los modelos:

Código:
<?
include ("conexion.php"); 
$conexion = mysql_connect ($host, $user, $pass);
mysql_select_db ($base, $conexion);
?>
<html>
<head>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=ISO-8859-1">
|
</head>

<body>
 <?php
 
 
  function listar_modelos($marca)
  {
  echo "<select name=\"modelo\" id=\"modelo\">"; 

	$sql_mod="SELECT distinct modelo FROM vehiculos where marca='$marca' order by modelo asc";
	$result_mod = mysql_query($sql_mod, $conexion);
	while ($row=mysql_fetch_array($result_mod))
	{
	
	echo $row['modelo']; 
	
	
	}
	  echo "</select>"; 
}  
 ?>
<?php 

if($Submit=="")
{?>
<form id="formulario">
<select name="marca" id="marca">
<?php 
$sql_mar="SELECT * FROM marcas order by marca asc";
$result_mar = mysql_query($sql_mar, $conexion);
while ($row=mysql_fetch_array($result_mar))
{
?>
<option value="<?php echo $row['marca']; ?>"><?php echo $row['marca']; ?></option>

<?php

}

?>
</select>


<input type="submit" value="enviar" name="Submit"/>
</form>

<?php }
else
{

?>



<form id="formulario">
<select name="marca" id="marca">
<option value="<?php echo $marca ?>" selected="selected"><?php echo $marca; ?></option>
<?php 
$sql_mar="SELECT * FROM marcas order by marca asc";
$result_mar = mysql_query($sql_mar, $conexion);
while ($row=mysql_fetch_array($result_mar))
{
?>
<option value="<?php echo $row['marca']; ?>"><?php echo $row['marca']; ?></option>

<?php

}

?>
</select>
<?php 

echo listar_modelos($marca); 
?>
<input type="submit" value="enviar" name="Submit"/>
</form>


<?php
}
?>






</body>
</html>

la consulta funciona perfectamente si la hago fuera, pero no logro que me devuelva los modelos, me devuelve el select vacío.

¿qué estoy haciendo mal?

gracias!
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar
  #2 (permalink)  
Antiguo 30/05/2010, 16:39
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: funcion no me funciona

Tienes que declarar las variables que estén fuera de la función global, para que la función pueda leerlas
Código PHP:
Ver original
  1. <?php
  2. $foo = 'bar';
  3. function blaz(){
  4.     global $foo;
  5.     echo $foo;
  6. }
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 30/05/2010, 17:19
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 20 años, 1 mes
Puntos: 1
Respuesta: funcion no me funciona

Abimaelrc: gracias por la respuesta, pero no me funciona, le agregué el global $marca a la función, le di echo y la imprime, pero sigue sin devolver contenido al select.
alguna idea?
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar
  #4 (permalink)  
Antiguo 30/05/2010, 17:21
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: funcion no me funciona

bueno, es que en realidad... usas una variable fuera de contexto en tu consulta: $conexion

esa es una... el otro detalle es que estas imprimiendo incorrectamente el <select/> a lo cual, deberías imprimir los <option/> y no lo haces...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 30/05/2010, 18:38
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 20 años, 1 mes
Puntos: 1
Respuesta: funcion no me funciona

Era el global de $conexion!!!!

qué tonto!

gracias por el aporte.

saludos
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar

Etiquetas: funcion
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 21:40.