Foros del Web » Programando para Internet » PHP »

me pueden ayudar es que soy nuevo

Estas en el tema de me pueden ayudar es que soy nuevo en el foro de PHP en Foros del Web. tengo un problema con mi script de php no se que sucede trato de hacer una consulta con varios campos uno de ellos es una ...
  #1 (permalink)  
Antiguo 28/01/2010, 20:04
 
Fecha de Ingreso: enero-2010
Mensajes: 14
Antigüedad: 14 años, 3 meses
Puntos: 0
me pueden ayudar es que soy nuevo

tengo un problema con mi script de php no se que sucede trato de hacer una consulta con varios campos uno de ellos es una imagen, cuando trato de que me muestre la imagen no aparece solo aparece como si esa no fuera la ruta...
creo que el problema esta en que en la base de datos solo esta guardada el nombre de la imagen no la ruta completa... este es mi codigo

echo "<img src='imagenes/ar/".($row['imagen'])."'\">";
  #2 (permalink)  
Antiguo 28/01/2010, 20:08
Avatar de maturano  
Fecha de Ingreso: enero-2010
Ubicación: /home/
Mensajes: 537
Antigüedad: 14 años, 3 meses
Puntos: 36
Respuesta: me pueden ayudar es que soy nuevo

Cita:
Iniciado por yohairo Ver Mensaje
creo que el problema esta en que en la base de datos solo esta guardada el nombre de la imagen no la ruta completa...
Pues agrega la ruta.

Lo importante aquí veas tu código generado. Ve que código necesitas, piensa qué HTML necesitas generar, luego compáralo con el que estás generando; corrige las diferencias.
__________________
I ♥ The Music!
  #3 (permalink)  
Antiguo 28/01/2010, 20:13
 
Fecha de Ingreso: enero-2010
Mensajes: 14
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: me pueden ayudar es que soy nuevo

y si lo tengo asi
$file = $_FILES['archivo']['name'];
$file_temp = $_FILES['archivo']['../form/imagenes/ar/'];
$file_type = $file;
$file_type_length = strlen($file_type) - 3;
$file_type = substr($file_type, $file_type_length);

$file_name = "imagen" .$u_name;
$file_name.= "." .$file_type;



copy ($file_temp, '../form/imagenes/ar/' .$file_name.'');

y no se como ponerle la direccion.... ehhhhhhh ke se valla para la db
entonces en la base de datos solo recojo el dato ke esta en la variable: $file_name
es por eso ke no se eh intentado con muchas opciones pero no me da resultado
  #4 (permalink)  
Antiguo 28/01/2010, 20:14
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 9 meses
Puntos: 150
Respuesta: me pueden ayudar es que soy nuevo

Como te dicen, dale a VER CODIGO, fijate que HTML ha generado, pegalo aqui, y te podremos ayudar mejor
  #5 (permalink)  
Antiguo 28/01/2010, 20:15
Avatar de javioreto  
Fecha de Ingreso: enero-2005
Ubicación: C:\España\Bilbao
Mensajes: 1.212
Antigüedad: 19 años, 3 meses
Puntos: 15
Respuesta: me pueden ayudar es que soy nuevo

Muy buenas,

no sería más bien....

echo "<img src='imagenes/ar/".$row['imagen']."'>";
  #6 (permalink)  
Antiguo 28/01/2010, 20:17
Avatar de javioreto  
Fecha de Ingreso: enero-2005
Ubicación: C:\España\Bilbao
Mensajes: 1.212
Antigüedad: 19 años, 3 meses
Puntos: 15
Respuesta: me pueden ayudar es que soy nuevo

Cita:
Iniciado por yohairo Ver Mensaje
y si lo tengo asi
$file = $_FILES['archivo']['name'];
$file_temp = $_FILES['archivo']['../form/imagenes/ar/'];
$file_type = $file;
$file_type_length = strlen($file_type) - 3;
$file_type = substr($file_type, $file_type_length);

$file_name = "imagen" .$u_name;
$file_name.= "." .$file_type;



copy ($file_temp, '../form/imagenes/ar/' .$file_name.'');

y no se como ponerle la direccion.... ehhhhhhh ke se valla para la db
entonces en la base de datos solo recojo el dato ke esta en la variable: $file_name
es por eso ke no se eh intentado con muchas opciones pero no me da resultado
Eso es para subir una imagen con el sistema ftp propio que tiene php, no sirve para mostrar un registro tomado de una consulta a una base de datos.
  #7 (permalink)  
Antiguo 28/01/2010, 20:18
 
Fecha de Ingreso: enero-2010
Mensajes: 14
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: me pueden ayudar es que soy nuevo

si lo se pero creo que el inconveniente esta ai por que no me guarda la direccion completa.. de la imagen
  #8 (permalink)  
Antiguo 28/01/2010, 20:20
Avatar de javioreto  
Fecha de Ingreso: enero-2005
Ubicación: C:\España\Bilbao
Mensajes: 1.212
Antigüedad: 19 años, 3 meses
Puntos: 15
Respuesta: me pueden ayudar es que soy nuevo

Para el src que tu buscas si el archivo esta en "www.miweb.com/img/hola.jpg" en la BD solo tiene que aparecer "hola.jpg" y en el SRC /img/"..."
  #9 (permalink)  
Antiguo 28/01/2010, 20:20
Avatar de luis010182  
Fecha de Ingreso: julio-2009
Ubicación: Argentina - Capital Federal
Mensajes: 382
Antigüedad: 14 años, 10 meses
Puntos: 27
Respuesta: me pueden ayudar es que soy nuevo

Cita:
Iniciado por yohairo Ver Mensaje
tengo un problema con mi script de php no se que sucede trato de hacer una consulta con varios campos uno de ellos es una imagen, cuando trato de que me muestre la imagen no aparece solo aparece como si esa no fuera la ruta...
creo que el problema esta en que en la base de datos solo esta guardada el nombre de la imagen no la ruta completa... este es mi codigo

echo "<img src='imagenes/ar/".($row['imagen'])."'\">";

En la base guardas el nombre de la imagen y la extension?
Revisa la url de la imagen y en todo caso por si acaso deberias hacer un if con un file_exits($url) para saber si la imagen exite en la url de la imagen.

Código PHP:
 echo '<img src="imagenes/ar/'.($row['imagen']).'" \>'
Espero que te sirva
  #10 (permalink)  
Antiguo 28/01/2010, 20:26
 
Fecha de Ingreso: enero-2010
Mensajes: 14
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: me pueden ayudar es que soy nuevo

en realidad se me esta rompiendo la cabeza con este lio, la direccion esta bien por que cuando la subo es la misma direccion pero cuando estoy haciendo la consulta me aparece una pequeña imagen rota indicando como si la direccion no fuera esa....
  #11 (permalink)  
Antiguo 28/01/2010, 20:27
Avatar de javioreto  
Fecha de Ingreso: enero-2005
Ubicación: C:\España\Bilbao
Mensajes: 1.212
Antigüedad: 19 años, 3 meses
Puntos: 15
Respuesta: me pueden ayudar es que soy nuevo

Te paso el codigo que yo uso para subir una imagen y a la vez registrar su nombre en la base de datos.

<?php
copy($_FILES['foto']['tmp_name'],$_FILES['foto']['name']);
echo "<center>La foto se registro en el servidor.</center><br>";
$nom=$_FILES['foto']['name'];

$conexion=mysql_connect("*","*","*") or
die("Problemas en la conexion");
mysql_select_db("*",$conexion) or
die("Problemas en la selección de la base de datos");
mysql_query("insert into mus_datos(nom_grup,img,vid1,vid2,vid3,votos) values ('$_REQUEST[nombre]', '$nom', '$_REQUEST[video1]', '$_REQUEST[video2]', '$_REQUEST[video3]', '$_REQUEST[votos]')", $conexion) or die("Problemas en el select".mysql_error());
echo "<center>Los datos se han reguistrado correctamente.</center>";
mysql_close($conexion);
?>


Si nos pasas la URL de la web para que veamos el problema mejor.
  #12 (permalink)  
Antiguo 28/01/2010, 20:33
 
Fecha de Ingreso: enero-2010
Mensajes: 14
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: me pueden ayudar es que soy nuevo

por favor si me pueden ayudar miren mi codigo este es el de subir:
<?php
include("conexion.php");
mysql_select_db('pruevas' ,$conexion)or die ('Error al seleccionar la Base de Datos: '.mysql_error());
ini_set("memory_limit","50M");

$producto = $_POST["producto"];
$departamento = $_POST["departamento"];
$categoria = $_POST["categoria"];
$precio = $_POST["precio"];
$existencia = $_POST["existencia"];
$size = $_POST["size"];
$archivo = $_POST["archivo"];
$comentario = $_POST["comentario"];

$u_name = date("d");
$u_name.= "-";
$u_name.= date("m");
$u_name.= "-";
$u_name.= date("Y");
$u_name.= "__";
$u_name.= date("H");
$u_name.= ".";
$u_name.= date("i");
$u_name.= ".";
$u_name.= date("s");

$fecha = date("d");
$fecha.= "-";
$fecha.= date("m");
$fecha.= "-";
$fecha.= date("Y");



$file = $_FILES['archivo']['name'];
$file_temp = $_FILES['archivo']['../form/imagenes/ar/'];
$file_type = $file;
$file_type_length = strlen($file_type) - 3;
$file_type = substr($file_type, $file_type_length);

$file_name = "imagen" .$u_name;
$file_name.= "." .$file_type;



copy ($file_temp, '../form/imagenes/ar/' .$file_name.'');


mysql_query ("INSERT INTO producto (departamento,categoria,precio,existencia,size,ima gen,comentario) VALUES ('$departamento','$categoria','$precio','$existenc ia','$size','$file_name','$comentario')");


echo 'El producto ha sido registrado de manera satisfactoria<br></br>';
echo '<a href="agregar.html">agregar otro</a><br></br>';
echo '<a href="index.html">volver al menu principal</a><br></br>';
mysql_close($conexion);
?>


este es el de la consulta:
<?
trim ($terminobusqueda);
if (!$tipobusqueda || !$terminobusqueda)
{
echo "No has introducido los detalles de la busqueda. Por favor vuelve e inténtalo de nuevo.";
exit;
}

$tipobusqueda = addslashes($tipobusqueda);
$terminobusqueda = addslashes($terminobusqueda);

include("conexion.php");


mysql_select_db("pruevas");
$consulta = "select * from producto where ".$tipobusqueda." like '%".$terminobusqueda."%'";
$resultado = mysql_query($consulta);


$num_resultados = mysql_num_rows($resultado);

echo "<p>Número de productos encontrados: ".$num_resultados."</p>";

for ($i=0; $i <$num_resultados; $i++)
{
$row = mysql_fetch_array($resultado);
echo "<p><strong>".($i+1).". departamento: ";
echo ($row["departamento"]);
echo "</strong><br>categoria: ";
echo ($row["categoria"]);
echo "<br>precio: ";
echo ($row["precio"]);
echo "<br>existencia: ";
echo ($row["existencia"]);
echo "<br>size: ";
echo ($row["size"]);
echo "<br>comentario: ";
echo ($row["comentario"]);
echo "<br>imagen: ";
echo "<img src='imagenes/ar/".($row['imagen'])."'\">";
echo "<img src='imagenes/ar/".$row['imagen']."'>";
echo '<img src="imagenes/ar/'.($row['imagen']).'" \>';



}
mysql_close($conexion);
?>


la consulta la hago un una pagina html con listbox y luego pasa a php
  #13 (permalink)  
Antiguo 28/01/2010, 20:34
 
Fecha de Ingreso: enero-2010
Mensajes: 14
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: me pueden ayudar es que soy nuevo

los de las tre imagenes era probando para ver cual me salia no es que la voy a poner asi
  #14 (permalink)  
Antiguo 28/01/2010, 20:44
Avatar de luis010182  
Fecha de Ingreso: julio-2009
Ubicación: Argentina - Capital Federal
Mensajes: 382
Antigüedad: 14 años, 10 meses
Puntos: 27
Respuesta: me pueden ayudar es que soy nuevo

si te sale la imagen rota, esta mal la url. Coloca el mouse sobre la imagen rota, y elegi la opcion "Copiar la ruta de la imagen" copiala en la barra de navegacion y fijate cual es el error.
Capaz que solo te falta colocar "../imagenes....." antes de la ruta de la imagen.
  #15 (permalink)  
Antiguo 28/01/2010, 20:56
 
Fecha de Ingreso: enero-2010
Mensajes: 14
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: me pueden ayudar es que soy nuevo

si estuviese en un localhost seria :
http://localhost/form/imagenes/ar/imagen28-01-2010__21.36.20.jpg
  #16 (permalink)  
Antiguo 28/01/2010, 21:07
Avatar de maturano  
Fecha de Ingreso: enero-2010
Ubicación: /home/
Mensajes: 537
Antigüedad: 14 años, 3 meses
Puntos: 36
Respuesta: me pueden ayudar es que soy nuevo

Cita:
Iniciado por javioreto Ver Mensaje
Eso es para subir una imagen con el sistema ftp propio que tiene php
No, no tiene nada que ver con FTP. Está recibiendo una petición normal con datos enviados por POST. Vaya, un simple formulario.

Cita:
Iniciado por yohairo Ver Mensaje
en realidad se me esta rompiendo la cabeza con este lio, la direccion esta bien por que cuando la subo es la misma direccion pero cuando estoy haciendo la consulta me aparece una pequeña imagen rota indicando como si la direccion no fuera esa....
Si no te aparece la imagen, la dirección está mal.

PHP solo genera HTML dinámicamente. Antes de PHP está HTML. Primero piensa cual es tu HTML correcto, luego genéralo dinámicamente.

Al margen, no sugiero guardar toda la ruta de la imagen, solo el nombre, crea la ruta al momento de imprimir. Tu código es obsoleto, muy pobre, igual te sugiero utilizar otro código que utilice move_uploaded_file() en lugar de copy().

Esto:
Código PHP:
$file_temp $_FILES['archivo']['../form/imagenes/ar/']; 
es un "no no". Quizá lo correcto sería:
Código PHP:
$file_temp $_FILES['archivo']['tmp_name'
Solo, detente a analizarlo un momento.

www.php.net/features.file-upload
__________________
I ♥ The Music!
  #17 (permalink)  
Antiguo 28/01/2010, 21:14
 
Fecha de Ingreso: enero-2010
Mensajes: 14
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: me pueden ayudar es que soy nuevo

solo que cuando intento con move_uploaded_file me copia la imagen pero no me la permite ver me dice que no tengo los suficientes permisos para verla es por eso ke lo puse con copy() y con este si me abre la imagen...
  #18 (permalink)  
Antiguo 28/01/2010, 21:21
Avatar de maturano  
Fecha de Ingreso: enero-2010
Ubicación: /home/
Mensajes: 537
Antigüedad: 14 años, 3 meses
Puntos: 36
Respuesta: me pueden ayudar es que soy nuevo

Revisando las FAQ, encontré esto: http://www.forosdelweb.com/wiki/PHP:...mulario%3F

Se ve bien. Al menos el código es mejor que el que usas y esta a manera de explicación.

Cita:
Iniciado por yohairo Ver Mensaje
si estuviese en un localhost seria :
http://localhost/form/imagenes/ar/im...__21.36.20.jpg
¿Esa sería la URL de tu imagen? (¿seguro? ), no tiene nada que ver con lo que estás imprimiento. Ahora tienes (de tu primer mensaje):
Código PHP:
echo "<img src='imagenes/ar/".($row['imagen'])."'\">"
que generará algo como:
Código HTML:
<img src='imagenes/ar/imagen28-01-2010__21.36.20.jpg'"> 
cuando tú necesitarías:
Código HTML:
<img src="/form/imagenes/ar/imagen28-01-2010__21.36.20.jpg"> 
¿ves la diferencia? (sí es que la información es correcta)... modifica tu "echo" .

Edit: aaarrggg!!, odio los chats .
__________________
I ♥ The Music!
  #19 (permalink)  
Antiguo 28/01/2010, 21:26
Avatar de luis010182  
Fecha de Ingreso: julio-2009
Ubicación: Argentina - Capital Federal
Mensajes: 382
Antigüedad: 14 años, 10 meses
Puntos: 27
Respuesta: me pueden ayudar es que soy nuevo

-El script donde esta el tag img, en que directorio esta, en el raiz o form.
-Fijate si la imagen exite en el directorio /ar/.
-Si te podes descargar las images por ftp a tu pc y ver si PHP te la guardo correctamente ( osea, si vos las podes visualizar ).
  #20 (permalink)  
Antiguo 28/01/2010, 21:35
 
Fecha de Ingreso: enero-2010
Mensajes: 14
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: me pueden ayudar es que soy nuevo

si lo revise y esta hay la imagen se guarda en form/imagenes/ar/imagen . sin embargo intente hacerlo directo asi y no funciona tambien echo"<img src="/form/imagenes/ar/imagen28-01-2010__21.36.20.jpg">"; no se que es lo que sucede
  #21 (permalink)  
Antiguo 28/01/2010, 21:36
Avatar de Lizy94  
Fecha de Ingreso: diciembre-2009
Mensajes: 149
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: me pueden ayudar es que soy nuevo

fijate la drección de imagen, tu imagen tiene que estar dentro de tu www obvio de u localhost, mira como las subo yo

Código PHP:
//Guarda el archivo de laimagen a la carpeta..
    
$destino='..\alumnos\imagenes/';
    
move_uploaded_file($_FILES['foto']['tmp_name'],$destino.'/'.$_FILES['foto']['name']);
  
   
//Conexion con la BD
   
$db=mysql_connect($host,$user,$pass)or die("Error durante la conexiòn a la BD");
   
mysql_select_db($database,$db);

   
//Ejecuciòn de la sentencia SQL
   
$nombre=$_POST['nombre'];
   
$apellido_paterno=$_POST['apellido_paterno'];
   $.....
   
$foto=$_FILES['foto']['name'];//aqui es paa la imagen
   
   //aqui es donde sbo todos mis reistros junto cnmiimagn
  
mysql_query("insert into alumno(nombre,apellido_paterno,apellido_materno,edad,sexo,domicilio,telefono,email,estado_civil,escuela_procedencia,promedio_anterior,carrera_ingresar,foto)values('$nombre','$apellido_paterno','$apellido_materno','$edad','$sexo','$domicilio','$telefono','$email','$estado_civil','$escuela_procedencia','$promedio_anterior','$carrera_ingresar','$foto')",$db);
   
?> 
espero te srve cualquier duda solo postea, igual puedes ntentar verificar tu form en otro navegador como x ejmplo chrome xq iexplorer veces es mas estrcticto en cuanto errores, experiencia propia
  #22 (permalink)  
Antiguo 28/01/2010, 21:51
 
Fecha de Ingreso: enero-2010
Mensajes: 14
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: me pueden ayudar es que soy nuevo

pareciera como si hubiera algun problema no se donde por que en la base de datos me guarda el nombre con extecion esta correcto pero no la muestra en la consulta me podrian ayudar mostrandome otro tipo de consulta..
ya no jodo mas...... pero es ke lo necesito
  #23 (permalink)  
Antiguo 28/01/2010, 22:11
 
Fecha de Ingreso: enero-2010
Mensajes: 14
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: me pueden ayudar es que soy nuevo

gracias a todos por prestarme atencion ya encontre la solucion....
  #24 (permalink)  
Antiguo 28/01/2010, 23:12
Avatar de maturano  
Fecha de Ingreso: enero-2010
Ubicación: /home/
Mensajes: 537
Antigüedad: 14 años, 3 meses
Puntos: 36
Respuesta: me pueden ayudar es que soy nuevo

Cita:
Iniciado por maturano Ver Mensaje
Edit: aaarrggg!!, odio los chats .
----
Cita:
Iniciado por yohairo Ver Mensaje
gracias a todos por prestarme atencion ya encontre la solucion....
¡Pero me gusta la magia! :roll:
__________________
I ♥ The Music!

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 16:32.