Foros del Web » Programando para Internet » PHP »

Resultados SQL en formulario.

Estas en el tema de Resultados SQL en formulario. en el foro de PHP en Foros del Web. Hola a todos. Tengo una base de datos llamada "archivos", con los campos "id", "nombre", "tipo" y "tamaño". Tengo un formulario con un campo tipo ...
  #1 (permalink)  
Antiguo 26/12/2003, 15:41
Avatar de Mialejav  
Fecha de Ingreso: abril-2003
Ubicación: Navalcarnero
Mensajes: 22
Antigüedad: 21 años
Puntos: 0
Resultados SQL en formulario.

Hola a todos.

Tengo una base de datos llamada "archivos", con los campos "id", "nombre", "tipo" y "tamaño".

Tengo un formulario con un campo tipo "menu desplegable" y un botón (submit) llamado "Abrir".

Todos los archivos de conexion a la B.D. y demas los tengo preparados.... pero..

Me gustaria saber como puedo listar el "nombre" de los archivos de la base de datos dentro del campo de menu desplegable del formulario.

Luego poder usar ese formulario, seleccionando un "nombre" de la lista y al dar en el boton "abrir", se muestre ese archivo seleccionado en otra ventana del navegador.

Necesito que me indiqueis donde puedo encontrar algo donde pueda documentarme, mirando las faqs del foro no encuentro lo que busco, y llevo casi 4 dias buscando algo para empezar a probar.

P.D.- No os pido que me lo deis resuelto, simplemente necesito saber como se hace.

GRACIAS
__________________
Todo cambia... Todo se transforma... de nosotros depende que mejore.
  #2 (permalink)  
Antiguo 26/12/2003, 16:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Los archivos de la BD .. son los registros y los datos .. sus campos (no es por darmelas de!. ..pero si hablamos de BD así mejor para entendernos que no hablar de "archivos" .. ).

Hacer tu menú desplegable a partir de los datos de tus registros sólo se trata de hacer una consulta a esa tabla. Ejemplos tienes en las FAQ's.. en resumen sería algo típo:

Código PHP:
// Conecta a tu BD .. selecciona la BD etc ..
echo "<form action=\"ver_registro.php\" method=\"POST\">";
echo 
"<select name=\"nombre\">"
while ($row=mysql_fetch_array($resultados)){
    echo 
"<option value=\"".$row['id']."\">".$row['nombre']."</option>";
}
echo 
"</select>";
echo 
"<boton submit ...>";
echo 
"<form>"
Si te fijas .. se compone el HTML dinámico del select de HTML .. Se toma como referencia del nombre el ID (campo ID de cada registro) que será el que nos haga el "filtrado" para hacer la consulta a tu BD por ese ID de ese registro ...

Y tu .. ver_registro.php tendrá que hacer una consulta condicional basada en el valor del Option que pasamos .. en nuestro caso ese ID.

Código PHP:
$sql="SELECT * FROM tabla WHERE id='".$_POST['id']."'";
// y el resto de lògica con el While() etc... 
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 26/12/2003, 21:14
Avatar de Mialejav  
Fecha de Ingreso: abril-2003
Ubicación: Navalcarnero
Mensajes: 22
Antigüedad: 21 años
Puntos: 0

GRACIAS cluster por tu rapida ayuda...
... el codigo final (y funciona muy bien) me ha quedado asi:

<?php

$link = mysql_connect("xxxxx","xxxxx","xxxxxx");
mysql_select_db("xxxxx", $link);
$result = mysql_query("SELECT id, nombre, titulo FROM tabla", $link);

echo "<form action=\"ver_registro.php\" method=\"POST\">";
echo '<select name= "nombre" size="1">' ;
while ($row=mysql_fetch_array($result)){
echo " <option value=\"".$row['id']."\"> ".$row['titulo']." </option> ";
}
echo "</select>";
echo "<input type=submit value=\"Ver\">";
echo "</form>";

?>



... pero tengo un lio con "ver_registro.php".

¿Como es en realidad el codigo de "ver_registro.php" para que al dar al boton "Ver" me salga una ventana nueva del navegador con el contenido del archivo seleccionado?.

Este es el archivo "ver_registro.php " que tengo:

<?php

require("dbconnect.inc.php");

$qry = "SELECT tipo, contenido FROM tabla WHERE id='".$_POST['id']."'";
$res = mysql_query($qry);
$tipo = mysql_result($res, 0, "tipo");
$contenido = mysql_result($res, 0, "contenido");

header("Content-type: $tipo");
print $contenido;

?>


Cuando lo ejecuto me da el siguiente error que no entiendo:

Warning: mysql_result(): Unable to jump to row 0 on MySQL result index 3 in /chs/p1/xxxxx/ver_registro.php on line 7

Warning: mysql_result(): Unable to jump to row 0 on MySQL result index 3 in /chs/p1/xxxxx/ver_registro.php on line 8



Los archivos con los que trabajo son pdf. por lo que deberia de verlos en otra ventana nueva del navegador.

GRACIAS de nuevo por tu atención.
__________________
Todo cambia... Todo se transforma... de nosotros depende que mejore.
  #4 (permalink)  
Antiguo 27/12/2003, 17:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Usa estructuras tipo:
$res = mysql_query($qry) or die (mysql_error());

Así veras algún posible error de SQL o bien de conexión. Si el mysql_result() no puede ejecutarse ("saltar al resultado 0") lo más problable sea porque la consulta ejecutada (mysql_query()) . no ha arrojado ningún registro.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 28/12/2003, 02:31
Avatar de Mialejav  
Fecha de Ingreso: abril-2003
Ubicación: Navalcarnero
Mensajes: 22
Antigüedad: 21 años
Puntos: 0


Muchas gracias de nuevo.... he encontrado el error por que no me abria el archivo seleccionado.

En el script de listar los archivos, en la linea que decia:

echo '<select name= "nombre" size="1">' ;

he cambiado el nombre del SELECT por "id",

echo '<select name= "id" size="1">' ;

pues al fin y al cabo debe ser el que se manda por "POST", ¿no?...
... bueno el caso que probando es asi como me funciona.

Ahora solo me falta que se abra el resultado en una nueva ventana (target="blank"), no creo que resulte muy complicado...
... eso espero.

... de todas formas muchas gracias por vuestra ayuda,... estoy aprendiendo a manejarme solo... pero es indudable que la colaboración que encuentro en éste foro es de elogiar.

Si os parece bien, cuando tenga todo preparado, os lo mando para que lo use cualquiera que tambien se haya encontrado con éste "problemilla", .... aunque para algunos sea pan comido...

Lo dicho...muchas gracias y hasta pronto.
__________________
Todo cambia... Todo se transforma... de nosotros depende que mejore.
  #6 (permalink)  
Antiguo 28/12/2003, 16:29
Avatar de Mialejav  
Fecha de Ingreso: abril-2003
Ubicación: Navalcarnero
Mensajes: 22
Antigüedad: 21 años
Puntos: 0


... lo siento, no soy capaz de que se me abra el archivo en otra ventana nueva.

Todo funciona perfectamente, pero quiero que al dar al boton "Ver", me abra el archivo pdf. en otra ventana nueva del navegador....;

... me rindo... necesito una última ayudita.

GRACIAS
__________________
Todo cambia... Todo se transforma... de nosotros depende que mejore.
  #7 (permalink)  
Antiguo 28/12/2003, 20:41
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Mialejav .. Te comprendo .. pero ese problema ya es de HTML/javacript . .PHP no abre o cierra ventanas.

Usa el target en tu formulario (<form>) y veras .. (y si tienes más dudas al prespecto .. usa el foro HTML y/o Javascript).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 29/12/2003, 17:13
Avatar de Mialejav  
Fecha de Ingreso: abril-2003
Ubicación: Navalcarnero
Mensajes: 22
Antigüedad: 21 años
Puntos: 0
... muchas gracias.

.... es cierto; la cosa más sencilla de todo y no he sido capaz de centrarme en ello... y yo dando vueltas con "otros" codigos ... ... en fin, ya esta arreglado.

echo "<form action=\"ver_registro.php\" method=\"POST\" target=\"blank\" >";


Muchisimas gracias y lo dicho, cuando tenga terminado el modulo os lo envio ( aunque sea muy normalito), pero me ha costado un monton hacerlo... con la ayuda de vosotros tambien.

... GRACIAS a todos por vuestra ayuda...

un saludo...y ¡¡¡ FELIZ ENTRADA DE AÑO NUEVO !!!

__________________
Todo cambia... Todo se transforma... de nosotros depende que mejore.
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 12:43.