Foros del Web » Programando para Internet » PHP »

problemilla con php+sql

Estas en el tema de problemilla con php+sql en el foro de PHP en Foros del Web. Buenas tardes, noches o dia segun vean el mensaje :D Soy nuevo aquí! Así que Hola a tod@s!! tengo un problema a la hora de ...
  #1 (permalink)  
Antiguo 25/01/2011, 10:01
 
Fecha de Ingreso: enero-2011
Mensajes: 22
Antigüedad: 13 años, 3 meses
Puntos: 0
problemilla con php+sql

Buenas tardes, noches o dia segun vean el mensaje :D
Soy nuevo aquí! Así que Hola a tod@s!!

tengo un problema a la hora de mostrar un valor en php sacado de una consulta sql.

os explico: tengo un <select> donde me muestra una serie de IDs de una consulta sql.
lo que estoy intentando hacer es, a partir del valor que he seleccionado del select anterior, lo uso para realizar otras consulta. ejemplo: si cojo una maquina con el id 100, me muestre segun ese id, su nombre y descripcion.

lo he intentado asi
$sqlref_equipo = "select ref_equipo from equipos where (equipos.id_equipo='$id_select');";
$ref_equipo = mysql_query $sqlref_equipo,$conexion) or die ("Error al consultar");

y mostrandolo asi:
<input type="text" name="ref_equipo" readonly="readonly" value="<?php echo $ref_equipo; ?>" >
pero me muestra este error a la hora de verlo: Resource id #5.

y ya que estoy os pongo otro problema:
tengo un <select> (lista despegable) que me muestra el ID de unas maquinas. lo que quiero eske dentro de esa lista me muestre el ID i su correspondiente nombre, osease algo asi: 120 | Inyectora
es posible? creo k si pero no se como hacerlo :S

podriais ayudarme porfavor.. ya no se que mas hacer :S
Gracias antemano!
  #2 (permalink)  
Antiguo 25/01/2011, 10:04
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: problemilla con php+sql

Código PHP:
Ver original
  1. $sqlref_equipo = "select ref_equipo from equipos where (equipos.id_equipo='$id_select');";
  2. $ref_equipo = mysql_query $sqlref_equipo,$conexion) or die ("Error al consultar");
  3.  
  4. y mostrandolo asi:
  5. <input type="text" name="ref_equipo" readonly="readonly" value="<?php echo $ref_equipo; ?>" >
  6. pero me muestra este error a la hora de verlo: Resource id #5.

No es un error, PHP te esta diciendo que lo que hay en la variable $ref_equipo es un resource, y tiene toda la razon.
Lo que devuelve mysql_query es un recurso que para obtener los datos debe ser parseado por mysql_fetch_array().

Utiliza mysql_fetch_array() para obtener los datos que devuelve $ref_equipo

En cuanto a tu segunda duda, el nombre de la "maquina" esta en la misma tabla donde recoges el ID?
  #3 (permalink)  
Antiguo 25/01/2011, 10:06
Avatar de odiseus  
Fecha de Ingreso: enero-2011
Mensajes: 109
Antigüedad: 13 años, 3 meses
Puntos: 3
Respuesta: problemilla con php+sql

Respuesta a la primera pregunta:

¿Porque te devuelve Resource id #5.?
Fácil, porque estas guardando en la variable $ref_equipo el query no el resultado de ese query, para eso tendrás que utilizar mysql_fetch_array, mysql_fetch_assoc o mysql_fetch_row.

Si buscas en php.net veras como se utilizan:
http://es2.php.net/mysql_fetch_array
http://es2.php.net/manual/es/function.mysql-fetch-assoc.php
http://es2.php.net/manual/es/function.mysql-fetch-row.php
  #4 (permalink)  
Antiguo 25/01/2011, 10:08
 
Fecha de Ingreso: enero-2011
Mensajes: 22
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: problemilla con php+sql

Gràcias por responder tan rapido ^^
ara probaré la solución que me has dado.

sobre mi segunda duda el nombre esta en la misma tabla que el ID
  #5 (permalink)  
Antiguo 25/01/2011, 10:09
 
Fecha de Ingreso: noviembre-2009
Mensajes: 40
Antigüedad: 14 años, 5 meses
Puntos: 2
Respuesta: problemilla con php+sql

La cosa es que estas haciendo echo del resultado de una consulta, no de sus valores.

Prueba utilizar la función mysql_result(), con eso ya sacas el valor de la consulta.

De lo segundo que pones, si es posible. Construyes de igual forma tu <option> con los resultados de la consulta en mysql, algo asi:

$query = "SELECT id, nombre FROM maquinas";
$res = mysql_query($query,$conexion);
while($consulta = mysql_fetch_assoc($res))
{
$opciones .='<option value="' . $consulta['id'] . '">' . $consulta['id'] . ' | ' . $consulta['nombre'] . '</option>';
}

con eso te va a construir en $opciones toda la lista, ya solo le das echo dentro del select y lislto.

OJO. Por lo que mencionas que quieres hacer, es probable que vayas a tener que utilizar AJAX y DOM para el filtrado de las listas. O cargar todo en un arreglo de Javascript al cargar la página, pero no es muy óptimo
}
  #6 (permalink)  
Antiguo 25/01/2011, 10:10
Avatar de odiseus  
Fecha de Ingreso: enero-2011
Mensajes: 109
Antigüedad: 13 años, 3 meses
Puntos: 3
Respuesta: problemilla con php+sql

Es fácil, devuelve los dos valores con el query y luego haz el select

Código HTML:
<select name="nombre_select>
<option value="<?php echo $ref_maquina; ?>"><?php echo $ref_maquina . " | " . $nombre: ?></option>
</select> 
  #7 (permalink)  
Antiguo 25/01/2011, 10:47
 
Fecha de Ingreso: enero-2011
Mensajes: 22
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: problemilla con php+sql

merci por vuestras respuesta pero me estoy liando mucho, he intentado aplicar vuestras soluciones pero sin ningun resultado, lo siento.

os muestro como es mi lista despegable:

aqui realizo la consulta
$sqlid_equipo = "select id_equipo, ref_equipo from equipos;";
$id_equipo = mysql_query ($sqlid_equipo,$conexion) or die ("Error al consultar");
$numid_equipo = mysql_num_rows ($id_equipo);

i aqui el select:
<?php
for ($i=0; $i<$numid_equipo; $i++) {
$id2_equipo = mysql_fetch_array ($id_equipo);
echo "<option value='$id2_equipo[0]'> $id2_equipo[0] </option>";
}
?>
</select>

con esto muestro todos los ids que tengo en mi BD. nose como aplicar vuestra solucion :S



y de la primera pregunta de todas. os explico: deste select que os he enganxado, yo selecciono un ID y automaticamente me tiene que mostrar debajo de unos campos de texto: su ref_equipo(el mismo que el del select) y su descripcion_equipo. os dejo las consultas sql y como lo muestro en php aqui:
$sqldes_equipo = "select descripcion_equipo from equipos where id_equipo='$id2_equipo';";
$des_equipo = mysql_query ($sqldes_equipo,$conexion) or die ("Error al consultar");

$sqlref_equipo = "select ref_equipo from equipos where id_equipo='$id2_equipo';";
$ref_equipo = mysql_query ($sqlref_equipo,$conexion) or die ("Error al consultar");

<input type="text" name="ref_equipo" readonly="readonly" value="<?php
echo $ref_equipo;
?>">

<input type="text" name="desc_equipo" readonly="readonly" value="<?php echo $des_equipo; ?>">

espero que me sigais ayudando porque llevo dos dias de destruccion de neuronas con esto.

grácias.
  #8 (permalink)  
Antiguo 25/01/2011, 15:42
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: problemilla con php+sql

Cita:
Iniciado por konig12 Ver Mensaje
porfavor alguien puede solucionar mi problema?
Ya te dimos todas las herramientas necesarias para resolverlo

Código PHP:
<?php
#Corre la consulta
$result mysql_query("SELECT * FROM tabla");
#Itera e imprime los resultados
while($row mysql_fetch_assoc($result)) {
  echo 
'<p>' $row['campo_tabla'] . '</p>';
}
?>
Revisa el ejemplo y aplicalo a tu caso.
  #9 (permalink)  
Antiguo 28/01/2011, 08:42
 
Fecha de Ingreso: enero-2011
Mensajes: 22
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: problemilla con php+sql

he aqui la solución. era mucho más fácil de lo que pensaba! :)

<?php
for ($i=0; $i<$numid_equipo; $i++) {
$id2_equipo = mysql_fetch_array ($id_equipo);
echo "<option value='$id2_equipo[0]'> $id2_equipo[0] -- $id2_equipo[1] </option>";
}
?>

solo añadiendo $id2_equipo[numero de la columna], i yata!!!!

grácias a todos :)

Etiquetas: Ninguno
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 23:18.