Foros del Web » Programando para Internet » PHP »

Como Puedo Ver Los Archivos Que Subo A La Base De Datos

Estas en el tema de Como Puedo Ver Los Archivos Que Subo A La Base De Datos en el foro de PHP en Foros del Web. Bueno explico más o menos la intención que tengo y esto esta basado sobre el faq de Cluster sobre subir archivos binarios a la BD ...
  #1 (permalink)  
Antiguo 22/06/2006, 02:11
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 6 meses
Puntos: 0
Como Puedo Ver Los Archivos Que Subo A La Base De Datos

Bueno explico más o menos la intención que tengo y esto esta basado sobre el faq de Cluster sobre subir archivos binarios a la BD
El script que Cluster menciona en el faq está súper bien y es lo que realmente busco.

Tengo un sistema de sesiones, en el cual el usuario entra con uss/pass, y ve todo lo relativo a su usuario.
En un apartado el usuario tiene que enviar un archivo y un comentario a la base de datos y posteriormente me gustaría ver en la página los datos que mente ese usuario.

Bien pues con los códigos que pongo ahora lo sube todo a la base de datos y todo pero la imagen no la puedo ver… eso porque es?

Porque yo lo que quiero es que suba varios archivos en diferentes días, y que lo diferencie con la id del usuario…


Tengo la siguiente estructura en la base de datos:


Código:
#
# Estructura de tabla para la tabla `soporte`
#

CREATE TABLE soporte (
  Ticket int (3) NOT NULL auto_increment,
  id int(3) NOT NULL,
  archivo_binario blob NOT NULL,
  archivo_nombre varchar(255) NOT NULL default '',
  archivo_peso varchar(15) NOT NULL default '',
  archivo_tipo varchar(25) NOT NULL default '',
  comentario_cliente varchar (255) NOT NULL,
  comentario_admin varchar (255)   NOT NULL
  PRIMARY KEY  (ticket)
) TYPE=MyISAM;
En el codigo donde tengo el formulario tengo lo siguiente:

Formulario.php

Código PHP:
<html>
.....

<?php 
if (isset($_GET['proceso'])){ 
echo 
$_GET['proceso']."<br>"

?>
</p>
<FORM enctype="multipart/form-data" method="post" action="insertar.php">
<table width="470" height="18" cellpadding="2" cellspacing="2" class="estilotabla">
<tr><td colspan="2" class="estilocelda">ENVIAR SOPORTE </td></tr><tr><td></td>
<td>&nbsp;</td></tr><tr>
<td width="128">Comentarios:</td><td width="326"> <textarea name="comentario_cliente"></textarea></td>
</tr><tr><td>Archivo:</td>
<td><INPUT type="file" name="archivo" size="30"> </td>
</tr>
<tr>
<td>&nbsp;</td>
<td><INPUT type="submit" name="submit" value="Enviar"> </td>
</tr>
</table>
</form>
<p></p><p></p>
<br /><br /><table width="470" height="18" cellpadding="2" cellspacing="2" class="estilotabla">
<tr>
<td colspan="3" width="454" class="estilocelda">SOPORTE</td>
</tr><tr>
<td><?php 
mysql_connect
("localhost","USS","PASS") or die ("no se ha podido conectar a la BD"); 

    
mysql_select_db("BD") or die ("No se ha podido seleccionar la BD"); 

    
$sql "SELECT * FROM soporte WHERE id='".$_SESSION['id']."'"
    
$consulta mysql_query($sql) or die ("No se pudo ejecutar la consulta"); 

    While (
$registro=mysql_fetch_assoc($consulta)){ 
        echo 
"<img src=\"ver.php?id=".$registro['ticket']."\">"
        echo 
"<br> <a href=\"ver.php?id=".$registro['ticket']."\" target=\"_blank\">Nombre archivo:</a> ".$registro['archivo_nombre']; 
        echo 
"<br> Tipo archivo: ".$registro['archivo_tipo']; 
        echo 
"<br> Peso: ".$registro['archivo_peso']." bytes.<br><br>"
    } 

?>
....
</html>
Insertar.php

Código PHP:
<?php 
// INICIAS LA SESION
session_start();
//Primero, arranca el bloque PHP y checkea si el archivo tiene nombre.  Si no fue asi, te remite de nuevo al formulario de inserción: 
// No se comprueba aqui si se ha subido correctamente. 
if (empty($_FILES['archivo']['name'])){ 
header("location: cliente_soporte.php?proceso=falta_indicar_fichero"); //o como se llame el formulario .. 
exit; 


//establece una conexión con la base de datos. 
$conexion mysql_connect("localhost","USS","PASS") or die("No se pudo realizar la conexion con el servidor."); 
mysql_select_db("BD",$conexion) or die("No se puede seleccionar BD"); // tu_bd es el nombre de la Base de datos .. por siaca. 



// archivo temporal (ruta y nombre). 
$binario_nombre_temporal=$_FILES['archivo']['tmp_name'] ; 

// leer del archvio temporal .. el binario subido. 
// "rb" para Windows .. Linux parece q con "r" sobra ... 
$binario_contenido addslashes(fread(fopen($binario_nombre_temporal"rb"), filesize($binario_nombre_temporal))); 

// Obtener del array FILES (superglobal) los datos del binario .. nombre, tabamo y tipo. 
$binario_nombre=$_FILES['archivo']['name']; 
$binario_peso=$_FILES['archivo']['size']; 
$binario_tipo=$_FILES['archivo']['type']; 

//insertamos los datos en la BD. 
$consulta_insertar "INSERT INTO soporte (ticket,id,comentario_cliente, archivo_binario, archivo_nombre, archivo_peso, archivo_tipo) VALUES ('','".$_SESSION['id']."','$comentario_cliente', '$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo')"
mysql_query($consulta_insertar,$conexion) or die("No se pudo insertar los datos en la base de datos."); 
header("location: $HTTP_REFERER");  // si ha ido todo bien 
exit; 
?>

Y el codigo ver.php es el siguiente:

Código PHP:
<?php  

if(isset($_GET['ticket'])) {  

    
mysql_connect("localhost","uss","pass") or die ("no se ha podido conectar a la BD");  

    
mysql_select_db("BD") or die ("No se ha podido seleccionar la BD");  

 
$sql "SELECT * FROM soporte WHERE id='".$_GET['ticket']."'";  

    
$consulta mysql_query($sql,$conexion);  

    
$datos mysql_result($consulta,0,"archivo_binario");  
    
$tipo mysql_result($consulta,0,"archivo_tipo");  

    
header("Content-type: $tipo");  
    echo 
$datos;  

}  
?>

Ojalá puedan ayudarme o ver que error tengo ......

millones de gracias...

Última edición por Raules; 23/06/2006 a las 12:43 Razón: El titulo no es acoge con lo que tiene el contenido
  #2 (permalink)  
Antiguo 22/06/2006, 08:43
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Seguro que tu código "ver.php" es el 2° código que indicas .. Mas bien sería el "listar.php" o algo así ..

Bueno .. en cualquier caso . .no sé si el código que expones está completo o hay más. Si accedes a una variable de sesión $_SESSION['id'] .. te faltará su correspondiente session_start() para "poder" acceder a dicha variable.

Tienes que hacer algunas pruebas y explicar que sucede .. Dices que no ves la imagen OK .. pero hay más datos que involucran la consulta SQL que ahí en ver.php (tu 2° código) usas .. no sé realmente si ahí ves el resto de datos (como para verificar si la consulta SQL en base a tu "WHERE .. " con tu variable de sesión se ejecuta.

(Consulta: el sistema de "sesiones lo implementastes tu?")

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 22/06/2006, 12:27
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 6 meses
Puntos: 0
la imagen es la que no se ve...

Pongo el codigo completo a ver si podemos sacar el defecto o el porque no me enseña la foto....

El problema como antes dije es que inserta todos los datos a la base de datos y todo, y en la consulta se muestran los datos que quiero por ejemplo nombre, tipo y peso del archivo pero la imagen o archivo que envia no lo muestra.... sale una cruz en la imagen y le doy al boton derecho para ver las propiedades de la imagen y me muestra correctamente la url http://www.xxx.xxx/clientes/ver.php?id=3 pero no me enseña el archivo...

El siguiente codigo es donde tengo el formulario que el usuario rellena y envia el archivo.
Y en el mismo codigo tambien tengo puesto para que se vea lo qeu el usuario a enviado.... porque la accion del formulario lo lleva a insertar_soporte.php y si todo sale bien hace el header:$HTTP_REFERER.

Código PHP:
<html>
//resto de codigo en html///

....

                    <?php 
if (isset($_GET['proceso'])){ 
echo 
$_GET['proceso']."<br>"

?>
                  </p>
                        <FORM enctype="multipart/form-data" method="post" action="insertar_soporte.php">
                          <table width="470" height="18" cellpadding="2" cellspacing="2" class="estilotabla">
                            <tr>
                              <td colspan="2" class="estilocelda">ENVIAR SOPORTE </td>
                            </tr>
                            <tr>
                              <td></td>
                              <td>&nbsp;</td>
                            </tr>
                            <tr>
                              <td width="128">Comentarios:</td>
                              <td width="326">                                <textarea name="comentario_cliente"></textarea>
                                </td>
                            </tr>
                            <tr>
                              <td>Archivo:</td>
                              <td><INPUT type="file" name="archivo" size="30"> </td>
                            </tr>
                            <tr>
                              <td>&nbsp;</td>
                              <td><INPUT type="submit" name="submit" value="Enviar"> </td>
                            </tr>
                          </table>
                      </form>
                        <p></p>
                        <p></p>
                        <br />
                        <br />
                        <table width="470" height="18" cellpadding="2" cellspacing="2" class="estilotabla">
                          <tr>
                            <td colspan="3" width="454" class="estilocelda">SOPORTE</td>
                          </tr>
                          <tr>
                            <td><?php 
                            
// INICIAS LA SESION
session_start();
    
mysql_connect("localhost","uss","pass") or die ("no se ha podido conectar a la BD"); 

    
mysql_select_db("BD") or die ("No se ha podido seleccionar la BD"); 

    
$sql "SELECT * FROM soporte WHERE id='".$_SESSION['id']."'"
    
$consulta mysql_query($sql) or die ("No se pudo ejecutar la consulta"); 

    While (
$registro=mysql_fetch_assoc($consulta)){ 
        echo 
"<img src=\"ver.php?id=".$registro['ticket']."\">"
        echo 
"<br> <a href=\"ver.php?id=".$registro['ticket']."\" target=\"_blank\">Nombre archivo:</a> ".$registro['archivo_nombre']; 
        echo 
"<br> Tipo archivo: ".$registro['archivo_tipo']; 
        echo 
"<br> Peso: ".$registro['archivo_peso']." bytes.<br><br>"
    } 

?> 

/// resto de codigo en html///
</html>
El codigo de insertar_soporte.php es el siguiente..



Código PHP:
<?php 
// INICIAS LA SESION
session_start();
//Primero, arranca el bloque PHP y checkea si el archivo tiene nombre.  Si no fue asi, te remite de nuevo al formulario de inserción: 
// No se comprueba aqui si se ha subido correctamente. 
if (empty($_FILES['archivo']['name'])){ 
header("location: cliente_soporte.php?proceso=falta_indicar_fichero"); //o como se llame el formulario .. 
exit; 


//establece una conexión con la base de datos. 
$conexion mysql_connect("localhost","uss","pass") or die("No se pudo realizar la conexion con el servidor."); 
mysql_select_db("BD",$conexion) or die("No se puede seleccionar BD"); // tu_bd es el nombre de la Base de datos .. por siaca. 



// archivo temporal (ruta y nombre). 
$binario_nombre_temporal=$_FILES['archivo']['tmp_name'] ; 

// leer del archvio temporal .. el binario subido. 
// "rb" para Windows .. Linux parece q con "r" sobra ... 
$binario_contenido addslashes(fread(fopen($binario_nombre_temporal"rb"), filesize($binario_nombre_temporal))); 

// Obtener del array FILES (superglobal) los datos del binario .. nombre, tabamo y tipo. 
$binario_nombre=$_FILES['archivo']['name']; 
$binario_peso=$_FILES['archivo']['size']; 
$binario_tipo=$_FILES['archivo']['type']; 

//insertamos los datos en la BD. 
$consulta_insertar "INSERT INTO soporte (ticket,id,comentario_cliente, archivo_binario, archivo_nombre, archivo_peso, archivo_tipo) VALUES ('','".$_SESSION['id']."','$comentario_cliente', '$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo')"
mysql_query($consulta_insertar,$conexion) or die("No se pudo insertar los datos en la base de datos."); 
header("location: $HTTP_REFERER");  // si ha ido todo bien 
exit; 
?>
Y el codigo ver.php

Código PHP:
<?php 

if(isset($_GET['ticket'])) { 

    
mysql_connect("localhost","uss","pass") or die ("no se ha podido conectar a la BD"); 

    
mysql_select_db("BD") or die ("No se ha podido seleccionar la BD"); 

 
$sql "SELECT * FROM soporte WHERE id='".$_GET['ticket']."'"

    
$consulta mysql_query($sql,$conexion); 

    
$datos mysql_result($consulta,0,"archivo_binario"); 
    
$tipo mysql_result($consulta,0,"archivo_tipo"); 

    
header("Content-type: $tipo"); 
    echo 
$datos


?>
Yo creo qeu estoy siguiendo los pasos correctos pero algo me esta fayando.... y no ay manera de poder sacarlo...
  #4 (permalink)  
Antiguo 22/06/2006, 12:29
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 6 meses
Puntos: 0
Cita:
Iniciado por Cluster

(Consulta: el sistema de "sesiones lo implementastes tu?")

Un saludo,
El sistema de sesiones lo hice yo con ayuda de este foro si
  #5 (permalink)  
Antiguo 22/06/2006, 14:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por Raules
El sistema de sesiones lo hice yo con ayuda de este foro si
Ok, ..

Veamos si tienes problemas en la ejecución de ese código PHP en ver.php:
Quita la referencia de la función header() (comenta esa línea de código) .. ejecuta nuevamente ver.php con un ID de ejemplo que exista en tu BBDD para probarlo .. Ahí deberíamos ver algún mensaje de error de cualquier tipo .. desde SQL, conexión u otro tipo ...

También hay que verificar si el archivo lo tienes en binario en el campo correspondiente que lo almacena (no pretendo que veas la imagen .. sólo "Datos" en sí .. algo tipo "hexadecimal" por decirlo de alguna forma ..)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 22/06/2006, 14:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por Raules
Ayuda Por Favor...!!!!!!!!!!!!!!!!!!!!!!
Paciencia ..

Yo tampoco sé donde tienes el problema . .pero si que sé que hay que verificar ciertas cosas para ir acotando el error ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 22/06/2006, 14:11
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 6 meses
Puntos: 0
Pues quitando lo que me as dicho y todo no me da ningun error me sigue mostrando todos los datos pero la imagen no, sale como un recuadrito y una cruz roja en el centro..


La imagen la tengo guardada en la celda de la base de datos como archivo_binario Blob y atributo binary...,

El caso que todos los datos y todo los muestra pero yo quiero ver el archivo que se sube a la base de datos o por lo menos un enlace donde pueda descargar el archivo que tengo en la base de datos.
  #8 (permalink)  
Antiguo 22/06/2006, 14:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por Raules
Pues quitando lo que me as dicho y todo no me da ningun error me sigue mostrando todos los datos pero la imagen no, sale como un recuadrito y una cruz roja en el centro..


La imagen la tengo guardada en la celda de la base de datos como archivo_binario Blob y atributo binary...,

El caso que todos los datos y todo los muestra pero yo quiero ver el archivo que se sube a la base de datos o por lo menos un enlace donde pueda descargar el archivo que tengo en la base de datos.
A ver ..

ver.php sólo se encarga de llamar a la imagen .. si hablas de "muestra todos los otros datos" .. no hablamos del mismo problema en el mismo script.

ver.php sólo debe mostrar la imagen (por eso se usan cabeceras HTTP) ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #9 (permalink)  
Antiguo 22/06/2006, 14:28
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 6 meses
Puntos: 0
Perdon, me muestra todos los datos en donde tienes tu en tu script listar pero en ver.php no se ve absolutamente nada... ni cuadro ni nada de nada
  #10 (permalink)  
Antiguo 22/06/2006, 15:16
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 6 meses
Puntos: 0
Error codigo ver.php

El error tiene que estar en el codigo de ver.php porque no me enseña la imagen ni el archivo ni nada...., estoy calentandome la cabeza y no consigo sacarlo...,

Sabrias decirme el porque es?
  #11 (permalink)  
Antiguo 23/06/2006, 09:08
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 6 meses
Puntos: 0
Estoy viendo y probando que si para ver la imagen le pongo :

Código PHP:
"ver.php?id=".$registro['id']."\">"
en vez de

Código PHP:
"ver.php?id=".$registro['ticket']."\">"

Si me la enseña pero poniendo en la base de datos id
Código:
int (3) NOT NULL auto_increment,
en vez de con ticket...

Como puedo arreglarlo?????
  #12 (permalink)  
Antiguo 23/06/2006, 15:51
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 12 años, 4 meses
Puntos: 6
Mejor no decimos nada y te sigues respondiendo solito :P o sino igual sigues creando mas threads para lo mismo :S
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #13 (permalink)  
Antiguo 26/06/2006, 14:42
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 6 meses
Puntos: 0
Bueno gracias a todos de todas formas pero nose el porque ya esta resuelto el problema... gracias
  #14 (permalink)  
Antiguo 30/08/2006, 06:17
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 6 meses
Puntos: 0
Como podria insertar una id que yo quiera en cada archivo que suba a la base de datos y que no sea la id de la sesion como tengo puesta?

Tengo el siguiente codigo que me enseña todos los usuarios que tengo para que luego enviar los archivos sobre esa id

Código PHP:
<?php       

   
while($row mysql_fetch_array($result)) { 
      
printf("<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td><a href=\"admin_soporte_detalles.php?id=%d\">Ver</a></td></tr>"$row["id"],$row["usuario"],$row["pass"],$row["email"],$row["id"]); 
   } 
   
mysql_free_result($result); 
   
mysql_close($link); 
?>

Yo quiero que la id que coge del usuario ese uqe luego por ejemplo imaginemos que quiero enviar una imagen a la base de datos con la id=4 (admin_soporte_detalles.php?id=4) pues yo quiero que ese 4 luego me lo envie a la id del archivo que envie...

Código PHP:
"INSERT INTO soporte (ticket,id,comentario_cliente,archivo_binario,archivo_nombre,archivo_peso,archivo_tipo,fecha) VALUES ('','$id','$comentario_cliente', '$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo',NOW())"
Yo pienso que tendria que poner
Código PHP:
'".$_GET['ticket']."' 
en vez de
Código PHP:
'$id'
pero no lo hace bien...

Sabeis el porque es o algo??

Gracias por vuestra ayuda
  #15 (permalink)  
Antiguo 30/08/2006, 11:12
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 6 meses
Puntos: 0
Alguna sugerencia, por favor????
  #16 (permalink)  
Antiguo 30/08/2006, 13:33
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Eliminé tu pregunta repetida (y sin tanta información: estructura de la tabla que modificastes y código que usas) del mensaje sobre el tutorial que te basastes.

Realmente me confunde tu uso de los campos .. tu le llamas "ticket" a una campo que defines como "autonumérico":

CREATE TABLE soporte (
Ticket int (3) NOT NULL auto_increment,
id int(3) NOT NULL,
archivo_binario blob NOT NULL,
archivo_nombre varchar(255) NOT NULL default '',
archivo_peso varchar(15) NOT NULL default '',
archivo_tipo varchar(25) NOT NULL default '',
comentario_cliente varchar (255) NOT NULL,
comentario_admin varchar (255) NOT NULL
PRIMARY KEY (ticket)
) TYPE=MyISAM;

Y ahora dices que le quieres dar un valor "manual" ..

Creo que debes aclararte un poco .. En un concepto de base de datos relacional ... no deberías de haber modificado una "tabla" que se debe usar exclusivamente para almacenar "imagenes" para poner tus otros datos relacionados.

Me refiero a que tendrías que tener una tabla con tu información y la imagen o imagenes relacionadas en la tabla de imagenes original:

Tabla "tickets":
id_ticket
numero_ticket
comentario_cliente
comentario_admin

Tabla "imagenes"
id_imagen
id_ticket ---> clave foránea que va a relacionar ambas tablas
nombre_imagen
etc ...
más etc

Tienes tutoriales al respecto en www.mysql-hispano.com

Si te fijas así el sistema queda más "expansible" y más ordenado. Por supuesto las consultas SQL se complican para extraer datos .. pero todo tiene su costo. De hecho este modelo de datos que te propongo se presta para relaciones de 1 -> N .. es decir .. UN "ticket" tuyo podría tener "N imagenes o archivos" relacionados . .no sólo uno como ahora lo tienes. Y me dá que tu problema de fondo viene por ahí .. pero esto se vería mejor y más claro si tu explicas que quieres conseguri en lugar de irte ver como implementar la solcuión que tu crees que es la mejor (y que puede ser que no sea así ..) .. en resumen, escuchar otras "alterantivas" tal vez te vendría bien.

Sé que manejas pocos campos "extra" a lo que la gestión de la imagen necesita .. y que podrías llevarlo todo en una sóla tabla . .pero, deberías llevar un orden.

Un campo autonumérico se usa para que sea eso mismo "único" .. si eso te sirve en tu sistema bajo la lógica de negocios que tu defines como "ticket" (que cumple la propiedad que sea "único" ..OK .. usalo y pon el nombre que quieras (no el típico ID .. llamalo como quieras . .aunque confunde: id_ticket queda más explicito y es lo que se suele usar para saber que eso es tu "clave primaria").

El otro "id" que anda rondando en tus tablas no entiendo que significa ni que registra ..

Como indico .. no sé que signifca:

Cita:
Yo quiero que la id que coge del usuario ese uqe luego por ejemplo imaginemos que quiero enviar una imagen a la base de datos con la id=4 (admin_soporte_detalles.php?id=4) pues yo quiero que ese 4 luego me lo envie a la id del archivo que envie...
Si pusieras nombres de campos más significativos a lo que representan .. cualquiera que vea tu código y estructura de tus datos le quedaría más claro .. por qué realmente no sé que hacen o dejan de hacer esos campos .... Por favor no pongas código fuera de contexto .. si ya solucionastes algunos otros problemas anteriores ahora que continuas -con otros- problemas ... debes ir indicando lo que tienes ahora (código) por ejemplo ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #17 (permalink)  
Antiguo 31/08/2006, 07:21
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 6 meses
Puntos: 0
Si porque la id la utilizo como si fuera la del cliente y el ticket la pongo autonumerica como tienes puesta en el tutorial como id.

Lo estoy haciendo asi porque no tengo mucha idea de esto y la verdad que estaria muy bien y mejor organizado de la forma que me estas explicando pero claro luego no sabria hacer conbinarlos y hacer que la id de una tabla tiene que ser la misma que la otra y mostrar los datos... seria un nivel mucho mas avanzado del que tengo ahora mismo y espero avanzarlo dentro de poco pero ahora mismo me gustaria terminar esto... si puedo claro..

Y mi problema es que quiero poner la id segun seleccione en el enlace anterior de un cliente... y nose como seria...

Intento ponerlo asi:

Código PHP:
INSERT INTO soporte (ticket,id,comentario_cliente,archivo_binario,archivo_nombre,archivo_peso,archivo_tipo,fechaVALUES ('','$id','$comentario_cliente''$binario_contenido''$binario_nombre''$binario_peso''$binario_tipo',NOW()) 

Pero me pone otra id... y claro nose como ponerlo o si tengo que poner algun campo oculto en el formulario y como?

Tienes idea de como podria hacerlo mejor?

Gracias de verdad
  #18 (permalink)  
Antiguo 01/09/2006, 04:40
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 6 meses
Puntos: 0
Yo creo que para poner la id que yo quiero tendria que poner en el formulario esto:

Código PHP:
<input type="hidden" name="id" id="id" value="<?=$_GET['id']?>" />
Pero claro creo que estoy poniendo algo mal... y nose que es porque en el insert tengo puesto esto y creo que si esta bien puesto:

Código PHP:
INSERT INTO soporte (ticket,id,comentario_cliente,archivo_binario,archivo_nombre,archivo_peso,archivo_tipo,fechaVALUES ('','".$_GET['id']."','$comentario_cliente''$binario_contenido''$binario_nombre''$binario_peso''$binario_tipo',NOW()) 
Nose quizas tengais alguna sugerencia...

Primero quiero acabar esto y cuando vea donde este el fayo luego si eso hare lo qeu me dices Cluster..., intentaré hacer varias tablas y tenerlo mas organizado la verdad.
  #19 (permalink)  
Antiguo 01/09/2006, 07:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por Raules Ver Mensaje
Yo creo que para poner la id que yo quiero tendria que poner en el formulario esto:

Código PHP:
<input type="hidden" name="id" id="id" value="<?=$_GET['id']?>" />
Pero claro creo que estoy poniendo algo mal... y nose que es porque en el insert tengo puesto esto y creo que si esta bien puesto:

Código PHP:
INSERT INTO soporte (ticket,id,comentario_cliente,archivo_binario,archivo_nombre,archivo_peso,archivo_tipo,fechaVALUES ('','".$_GET['id']."','$comentario_cliente''$binario_contenido''$binario_nombre''$binario_peso''$binario_tipo',NOW()) 
Nose quizas tengais alguna sugerencia...

Primero quiero acabar esto y cuando vea donde este el fayo luego si eso hare lo qeu me dices Cluster..., intentaré hacer varias tablas y tenerlo mas organizado la verdad.
Como te comenté no sé de donde vienen los datos .. pero según tu último ejemplo .. si te llegan a ese script por el URL (en un link tipo nose.php?id=n°) y luego tienes un formulario HTML donde envias otros datos y debes enviar el que recibistes .. puedes hacerlo como mencionas .. pero debes tener claro que es "$_GET" y que es "$_POST"

Tu formulario usa "method" POST .. así que a la hora de procesar los datos los tendrías que tomar en $_POST['id']
Código PHP:
INSERT INTO soporte (ticket,id,comentario_cliente,archivo_binario,archivo_nombre,archivo_peso,archivo_tipo,fechaVALUES ('','".$_POST['id']."','$comentario_cliente''$binario_contenido''$binario_nombre''$binario_peso''$binario_tipo',NOW()) 
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #20 (permalink)  
Antiguo 01/09/2006, 07:49
 
Fecha de Ingreso: mayo-2005
Ubicación: Murcia
Mensajes: 319
Antigüedad: 12 años, 6 meses
Puntos: 0
Gracias Cluster..., ahora si me funciona bien tal y como yo quería...

De todas formas tomo nota para hacer lo que me has dicho antes..., pero primero quiero acabar el proyecto que tengo en inicio...

Saludos y muchisimas gracias cluster
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 19:20.