Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Combo dependiente no manda el nombre entero

Estas en el tema de Combo dependiente no manda el nombre entero en el foro de PHP en Foros del Web. Hola buenas tardes, como bien dice el título, tengo un problema con el segundo combo dependiente. Me explico, estoy haciendo el típico ejemplo de tener ...
  #1 (permalink)  
Antiguo 02/07/2015, 03:06
 
Fecha de Ingreso: abril-2015
Mensajes: 38
Antigüedad: 8 años, 11 meses
Puntos: 2
Combo dependiente no manda el nombre entero

Hola buenas tardes, como bien dice el título, tengo un problema con el segundo combo dependiente.

Me explico, estoy haciendo el típico ejemplo de tener tres combos dependientes, del primero al segundo lo hace bien, porque tengo que mandar el código (id de la tabla), pero del segundo al tercero, es donde tengo el problema.

Hago la siguiente consulta:
Código PHP:
$sql="select  distinct servicio from JUGADORES_DC where EQUIPO_id='".$equipo_id."'"
el resultado lo recojo en un array
Código PHP:
while ($row=mysqli_fetch_row($consulta))
   {
            
$valor=$row[0];
            echo 
"<option value=".$valor.">";
        echo 
ucwords(strtolower(strtoupper($valor)));
        echo 
"</option>";                        
 } 
La consulta a veces, devuelve una cadena en la que hay varias palabras.

En el select/combo si que aparecen todas las palabras, pero a la hora de mandarlo al tercer combo, el valor lo único que recoge es la primera palabra, obvia si tiene más de una palabra la cadena de row[0], pero el caso es que sí, las muestra en el select.

De momento, en el select, como estoy haciendo pruebas lo único que he puesto es:
Código PHP:
echo $_POST['q']; 
¿Alguien sabe lo que estoy haciendo mal?


Necesito hacer esa consulta así y mandar el valor de lo devuelto, porque hay versiones, dentro de una misma característica. Es decir, en vez de tener tres tablas de la base de datos, como sería lógico, tengo dos tablas, y en la segunda. Es como tener los jugadores de fútbol y el país. En el primer combo meto el país, en el segundo meto el equipo, que por eso hago la consulta así, y en el tercero, saco el nombre del jugador.

Gracias de antemano.

Última edición por conf1982; 02/07/2015 a las 03:07 Razón: Errata a la hora de escribir.
  #2 (permalink)  
Antiguo 02/07/2015, 10:47
Avatar de herzbazi  
Fecha de Ingreso: febrero-2012
Mensajes: 612
Antigüedad: 12 años, 1 mes
Puntos: 36
Respuesta: Combo dependiente no manda el nombre entero

imagino que EQUIPO_id es un dato que se perite a todos los jugadores !! es correcto?
__________________
Enseña todo lo que sepas...
Aprende todo lo que puedas..
  #3 (permalink)  
Antiguo 05/07/2015, 11:24
 
Fecha de Ingreso: abril-2015
Mensajes: 38
Antigüedad: 8 años, 11 meses
Puntos: 2
Respuesta: Combo dependiente no manda el nombre entero

si, el problema es que deberia haber creado una tabla mas en la base de datos.
  #4 (permalink)  
Antiguo 05/07/2015, 21:03
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 7 meses
Puntos: 2237
Respuesta: Combo dependiente no manda el nombre entero

Si el valor incluido en el value del option tiene espacios, te va a generar errores en el HTML y por eso no podrás obtener el dato.

Código PHP:
Ver original
  1. // Cambia esto:
  2.             echo "<option value=".$valor.">";
  3.         echo ucwords(strtolower(strtoupper($valor)));
  4.         echo "</option>";
  5.  
  6. // Por esto:
  7.             echo "<option value=\"$valor\">";
  8.         echo ucwords(strtolower(strtoupper($valor)));
  9.         echo "</option>";

Solo es necesario escapar las comillas correctamente.
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 06/07/2015, 00:59
 
Fecha de Ingreso: abril-2015
Mensajes: 38
Antigüedad: 8 años, 11 meses
Puntos: 2
Respuesta: Combo dependiente no manda el nombre entero

Muchisimas gracias!!!

Etiquetas: combo, dependiente, entero, nombre, select, sql, tabla
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 09:02.