Bienvenido a datoweb.com!! En este foro podrás encontrar ayuda sobre diseño y desarrollo web en general. Si quieres formar parte de esta comunidad para pedir ayuda o colaborar ayudando a otros usuarios del foro solo tienes que registrarte desde el siguiente enlace: Registrarse en el Foro

¿Como separar los datos de usuario en diferentes tablas?

Hola buenas tardes.
Tengo una pequeña duda. Esque me gustaria que un usuario al insertar otros datos se guardaran en otra tabla. Eso lo hago mediante :
<?php require_once("../Connections/conexion.php"); ?>
<?php

if ($_FILES['banner']['type']=='image/png' || $_FILES['banner']['type']=='image/jpeg' || $_FILES['banner']['type']=='image/gif'){
$nombre_archivo = $_FILES['banner']['name'];
move_uploaded_file($_FILES['banner']['tmp_name'], "banner/".$nombre_archivo);
}

$insertSQL = sprintf("INSERT INTO datosbanner (banner, urlbanner, autor) VALUES (%s, %s, %s)",
GetSQLValueString($nombre_archivo, "text"),
GetSQLValueString($_POST['urlbanner'], "text"),
GetSQLValueString($_SESSION['MM_idusuario'], "int"));

mysql_select_db($database_conexion, $conexion);
$Result1 = mysql_query($insertSQL, $conexion) or die(mysql_error());

$insertGoTo = "editar-perfil-imagenes.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));

?>

bien hasta ahi va bien la cosa... el caso que cuando los datos son insertados en esta tabla,,, se me cambia el boton de insertar a editar eso tambien va bien... pero el problema viene que no se como editar de nuevo para que el usurio pueda modificarlo...

si lo hago en la tabla de datosusuario puedo editarlas facilmente. Pero si la hago en otra tabla no me sale por ningun lado. en la tabla datosbanner yo le paso la imagen... la url... y el autor....

sabe alguien como podría hacer esto?
Editado
0
Puntos
1392
Visitas
9
Resp
Por Mavericka3 hace 103 meses
Principiante
Respuesta #1
buenas! en el fichero editar-perfil-imagenes.php tienes que hacer una consulta a la tabla datosbanner donde el autor sea $_SESSION['MM_idusuario'] y cargar esos datos en un formulario:
<?php 

	$instruccion=sprintf("SELECT * FROM datosbanner WHERE autor=%s", 
		GetSQLValueString($_SESSION['MM_idusuario'], "int"));

	$consulta=mysql_query($instruccion);
	$datos=mysql_fetch_assoc($consulta);


?>
<form action="editar.php" method="post">
<input type="text" name="loquesea" value="<?php echo $datos['loquesea'] ?>">
</form>
<?php mysql_free_result($consulta); ?>
despues tienes que enviar esos datos a un fichero para que haga el UPDATE.

Salu2
1
Puntos
Por alber hace 103 meses
Administrador
Respuesta #2
no te olvides de ponerle la conexión:
require_once("../Connections/conexion.php");
1
Puntos
Por alber hace 103 meses
Administrador
Respuesta #3
hola Alber muchisimas gracias por responder.
El caso es que lo tengo como tu has dicho:
esta es la consulta:

//CONSULTA BASE DATOS
mysql_select_db($database_conexion, $conexion);
$query_DatosBanner = sprintf("SELECT * FROM datosbanner WHERE autor=%s ",$_SESSION['MM_idusuario'],"int");
$DatosBanner = mysql_query($query_DatosBanner, $conexion) or die(mysql_error());
$row_DatosBanner = mysql_fetch_assoc($DatosBanner);
$totalRows_DatosBanner = mysql_num_rows($DatosBanner);

y me sale la imagen por pantalla y todo...

pero cuando pincho en editar se va a editar-banner.php y tengo el siguiente código: (Se que me falta algo pero no se el qué... no le estoy diciendo el usuario que es creo...

<?php require_once("../Connections/conexion.php"); ?>
<?php

if ($_FILES['banner']['type']=='image/png' || $_FILES['banner']['type']=='image/jpeg' || $_FILES['banner']['type']=='image/gif'){
$nombre_archivo = $_FILES['banner']['name'];
move_uploaded_file($_FILES['banner']['tmp_name'], "banner/".$nombre_archivo);
}

$updateSQL = sprintf("UPDATE datosbanner SET banner=%s, urlbanner=% WHERE id=%s",
GetSQLValueString($nombre_archivo, "text"),
GetSQLValueString($_POST['urlbanner'], "text"));

mysql_select_db($database_conexion, $conexion);
$Result1 = mysql_query($updateSQL, $conexion) or die(mysql_error());

$updateGoTo = "editar-perfil-imagenes.php";
if (isset($_SERVER['QUERY_STRING'])) {
$updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
$updateGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $updateGoTo));
?>
0
Puntos
Por Mavericka3 hace 103 meses
Principiante
Respuesta #4
claro en la pagina editar-perfil-imagenes.php tienes que hacer el update a la tabla datosbanner de no ser asi no actualiza ninguno de esos datos

mi recomendación es que si ya tienes una pagina para editar los perfiles y te funciona ahora crear otros archivos iguales pero de manera independiente para editar los banner, en la teoría si lo haces igual tiene que funcionar

despues una vez que lo tengas todo intenta intercalar los archivos aunque no es necesario puedes tener 2 grupos por ejemplo:

grupo1: perfil.php y editar-perfil.php
grupo2: banner.php y editar-banner.php

no te compliques hazlo así pero cambiando las tablas a actualizar
0
Puntos
Por alber hace 103 meses
Administrador
Respuesta #5
vale ya eh visto donde tienes el error, te falta un parámetro por eso no te inserta nada de nada:
$updateSQL = sprintf("UPDATE datosbanner SET banner=%s, urlbanner=% WHERE autor=%s",
GetSQLValueString($nombre_archivo, "text"),
GetSQLValueString($_POST['urlbanner'], "text"),
GetSQLValueString($_SESSION['MM_idusuario'], "int")); //Agrega el autor
mira tu código veras como te falta agregar el autor ;)
0
Puntos
Por alber hace 103 meses
Administrador
Respuesta #6
hola alber... perdona por ser tan pesado pero esque por mucho que lo hago no me sale. Tal vez no me he explicado bien yo esque ya no lo sé.

mira este es el código con el que lo inserto:

$nombre_archivo = $_FILES['banner']['name'];

$partes=explode('.',$nombre_archivo);

$nombre=$partes['0'];
$extension=$partes['1'];

if ($_FILES['banner']['type']=='image/png' || $_FILES['banner']['type']=='image/jpeg' || $_FILES['banner']['type']=='image/gif'){

move_uploaded_file($_FILES['banner']['tmp_name'], "banner/".$_SESSION['MM_idusuario'].'.'.$extension);
}

$insertSQL = sprintf("INSERT INTO datosbanner (banner, urlbanner, autor) VALUES (%s, %s, %s)",
GetSQLValueString($_SESSION['MM_idusuario'].'.'.$extension, "text"),
GetSQLValueString($_POST['urlbanner'], "text"),
GetSQLValueString($_SESSION['MM_idusuario'], "int"));

mysql_select_db($database_conexion, $conexion);
$Result1 = mysql_query($insertSQL, $conexion) or die(mysql_error());

$insertGoTo = "editar-perfil-imagenes.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));

y funciona fantasticamente...
y este es con el que lo intento editar:

$nombre_archivo = $_FILES['banner']['name'];

$partes=explode('.',$nombre_archivo);

$nombre=$partes['0'];
$extension=$partes['1'];

move_uploaded_file($_FILES['banner']['tmp_name'], "banner/".$_SESSION['MM_idusuario'].'.'.$extension);

$updateSQL = sprintf("UPDATE datosusuario SET banner=%s, urlbanner=%s WHERE id=%s",
GetSQLValueString($_SESSION['MM_idusuario'].'.'.$extension, "text"),
GetSQLValueString($_POST['urlbanner'], "int"),
GetSQLValueString($_SESSION['MM_idusuario'], "int"));



mysql_select_db($database_conexion, $conexion);
$Result1 = mysql_query($updateSQL, $conexion) or die(mysql_error());

$updateGoTo = "editar-perfil-imagenes.php";
if (isset($_SERVER['QUERY_STRING'])) {
$updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
$updateGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $updateGoTo));

esta vez cuando hago click en guardar me sale Unknown column 'banner' in 'field list'

ESQUE YA NO SÉ LO QUE HACER ALBER JAJAJAJ ESTOY SUPER RAYADO...
0
Puntos
Por Mavericka3 hace 103 meses
Principiante
Respuesta #7
Muy sencillo Unknown column 'banner' in 'field list' (No encuentra la columna banner dentro de la tabla datosusuario), entra en tu phpmyadmin y entras a la tabla datosusuario para comprobar si existe esa columna llamada banner o revisa que este bien escrita y coincide ;)
1
Puntos
Por alber hace 103 meses
Administrador
Respuesta #8
jajajajaj lo siento alber no puedo... soy un patán...
da igual me lo dejare como pendiente... cuando acabe el proyecto contactaré con Zeus para tenerlo todo el día conmigo para corregir algunos errores ejejej o atí claro esta no se quien de los dos hace las tutorias... de todas formas muchisimas gracias siempre te lo dire alber!!!
1
Puntos
Por Mavericka3 hace 103 meses
Principiante
Respuesta #9
de nada jeje la verdad que tienes un lío montado bastante importante xd

saludos!
0
Puntos
Por alber hace 103 meses
Administrador
Compartir en facebook
Compartir en twitter
Compartir
Para comentar Inicia sesión o Registrate