Foros del Web » Programando para Internet » PHP »

Php y mysql - Ayuda

Estas en el tema de Php y mysql - Ayuda en el foro de PHP en Foros del Web. Bueno antes q nada gracias por detenerse a leer mi mensaje. Les pido de la mejor manera que me ayuden con mi problema con el ...
  #1 (permalink)  
Antiguo 25/05/2005, 20:44
 
Fecha de Ingreso: mayo-2005
Mensajes: 53
Antigüedad: 18 años, 10 meses
Puntos: 0
Pregunta Php y mysql - Ayuda

Bueno antes q nada gracias por detenerse a leer mi mensaje.
Les pido de la mejor manera que me ayuden con mi problema con el campo blob de mysql. Dejenme explicarle mis circunstancias: Estoy haciendo una pagina wey de mi comunidad donde el publico pueda agregar anuncios y empleos, y que en empleos ademas de poner los datos necesarios que puedan subir su foto desde el formulario donde introducen sus datos, mi unico problema es que no se como hacer para subir la foto. Aqui les dejo los codigos y ojala me puedan decir que debo de aumentar para que se pueda ver la foto:

agregar.php:

Código:
<html>
<head><title>Agregar un empleo en .::Coatepec::.</title></head>
<body bgcolor=steelblue>
<h2 align=center>Agregar empleo</h2>
<?
if ($enviar) {
$link = mysql_connect("localhost","usuario","contraseña");
mysql_select_db("db",$link);
$sql = "INSERT INTO empleos(Nombre,Email,Lugar,Ocupacion,Conocimientos,Tipo,Texto,foto)";
$sql .= "VALUES ('$Nombre','$Email','$Lugar','$Ocupacion','$Conocimientos','$Tipo','$Texto','$foto')";
$result = mysql_query($sql);
echo "¡Gracias! Hemos recibido sus datos.<br> \n";
} else {
?>
<form method="post" action="agregar.php" enctype="multipart/form-data">
Nombre :<input type="text" name="Nombre"><br><br>
Busco:&nbsp;<select name="Tipo">
<option value="Empleo">Empleo
<option value="Empleado">Empleado
</select><br><br>
Lugar de procedencia :&nbsp;
<select name="Lugar">
<option value="Coatepec">Coatepec
<option value="Xalapa">Xalapa
<option value="Xico">Xico
<option value="Teocelo">Teocelo
<option value="San Marcos">San Marcos
<option value="Veracruz">Veracruz
</select><br><br>
Email: <input type="text" name="Email"><br><br>
Ocupacion: <input type="text" name="Ocupacion"><br><br>
Agregar foto:&nbsp;<input type="file" name="foto"><br><br>
Conocimientos: <br><textarea name="Conocimientos" cols=32 rows=3></textarea><br><br>
Texto: <br><textarea name="Texto" cols=32 rows=6></textarea><br><br>
<input type="submit" name="enviar" value="Aceptar">
</form>
<?
}
?>
</body>
</html>

empleos.php:

Código:
<html>
<head><title>Empleos .::Coatepec::.</title></head>
<body>
<?
$sql = mysql_connect("localhost","usuario","contraseña");
mysql_select_db("db",$sql);
$result = mysql_query("SELECT Nombre,Email,Texto,ID,Lugar,Ocupacion,Conocimientos,Tipo,foto FROM empleos", $sql);
while ($row = mysql_fetch_row($result)){
echo "<table border = '0' bordercolor='steelblue' width='100%' cellspacing='0'>";
echo "<tr><td colspan='2'><i>$row[3]</i></td></tr> \n";
echo "<tr><td bgcolor='steelblue' align='center' colspan='2'><b>$row[0]</b></td></tr> \n";
echo "<tr> \n";
echo "<td bgcolor='#c9c9c9' width='80%'><font color='blue'><b>Busco:&nbsp;</b></font><font color='black'>$row[7]</font><br> \n";
echo "<font color='blue'><b>Lugar:&nbsp;</b></font><font color='black'>$row[4]</font><br> \n";
echo "<font color='blue'><b>E-Mail:&nbsp;</b></font><font color='black'>$row[1]</font><br> \n";
echo "<font color='blue'><b>Ocupación:&nbsp;</b></font><font color='black'>$row[5]</font><br> \n";
echo "<font color='blue'><b>Conocimientos:&nbsp;</b></font><font color='black'>$row[6]</font></td> \n";
echo "<td>AQUI LA FOTO </td> \n";
echo "</tr> \n";
echo "<tr><td colspan='2' bgcolor='#c9c9c9'><font color='black'><p align='center'><b>$row[2]</b></p></font></td> \n";
echo "</tr> \n";
}
echo "</table> \n";
?>
</body>
</html>
Bueno esos son las 2 paginas que utilizo y funcionan bien, el unico problema es que no se que codigo poner y en donde para insertar una foto, ojala puedan ayudarle, en realidad se los agradeceria mucho, o si saben como subir la foto desde ese formulario y mostrarla en empleados.php seria muy grato.

Gracias por su ayuda.
  #2 (permalink)  
Antiguo 25/05/2005, 21:43
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 22 años, 8 meses
Puntos: 9
Primero, sabes como insertar una foto? y donde la quieres poner, todo directamente en la bd? o solo ponerlo en tu servidor y el link en la bd??
  #3 (permalink)  
Antiguo 26/05/2005, 12:52
 
Fecha de Ingreso: mayo-2005
Mensajes: 53
Antigüedad: 18 años, 10 meses
Puntos: 0
Pues eh leido varios articulos relacionados con esto y pues ya se como subirla a la base de datos pero no la muestra. Pero si me podrias ayudar a subirla a mi servidor desde el formulario que puse arriba y el link a la base de datos y que la muestre en la pagina de empleados.php en el area donde dice "AQUI LA FOTO" pues en verdad te lo agradeceria.
  #4 (permalink)  
Antiguo 27/05/2005, 07:59
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pero .. realmente en "foto" (campo de tu BD) que guardas? ..
a) El nombre de la foto (archivo): nose.jpg
b) El archivo foto (sus datos) completos en la Base de datos (en Binario)

Por el camino que vas .. podrías subir tu foto al sistema de archivos .. El formulario ya lo tienes (y bien definido)

Create un directorio bajo la estructura de directorios donde corras este script (fotos/), dale permisos de escritura a todo usuario si corresponde (sobre todo si usas linux) vía CHMOD a 0677.

Código PHP:
// mueve el archivo a tu directorio fotos ..
if (move_uploaded_file($_FILES['foto']['tmp_name'],"./fotos/".$_FILES['foto']['name'])){
    
// en $_FILES['foto']['name'] tienes el nombre de tu archivo subido .. usalo para dejarlo en tu BD .. 
    
$link mysql_connect("localhost","usuario","contraseña");
    
mysql_select_db("db",$link);
    
$sql "INSERT INTO empleos   (Nombre,Email,Lugar,Ocupacion,Conocimientos  ,Tipo,Texto,foto)";
    
$sql .= "VALUES ('$Nombre','$Email','$Lugar','$Ocupacion','$Conoci  mientos','$Tipo','$Texto','".$_FILES['foto']['name']."')";
    
$result mysql_query($sql);
    echo 
"¡Gracias! Hemos recibido sus datos.<br> \n";
} else {
   echo 
"Hay un error al subir la imagen ...";

A todo esto le haría falta algunas validaciones .. por ejemplo sobre que tipo de archivos subes (que sólo sean .jpg .. y/p .png y .gif tal vez .. pero no un .exe o .php por ejemplo peligroso ..). También puedes limitar el tamaño del archivo máximo .. y hasta puedes generar un "thumbnail" automáticamente (ahora o despues cuando lo visualizes).

Y donde quieras ver tus imagenes ..

Código PHP:
echo "<td><img src=\"./fotos/".$row['foto']."\"></td> \n"
Un saludo,

Última edición por Cluster; 27/05/2005 a las 20:42
  #5 (permalink)  
Antiguo 27/05/2005, 20:17
 
Fecha de Ingreso: mayo-2005
Mensajes: 53
Antigüedad: 18 años, 10 meses
Puntos: 0
Sale cluster, ya pude , grax, eres un genio.
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 17:24.