Foros del Web » Programando para Internet » PHP »

cambiar una id por un nombre

Estas en el tema de cambiar una id por un nombre en el foro de PHP en Foros del Web. Hola haver si podeis ayudarme, resulta que estoy hasiendo una tienda online, y en la base de datos e echo una tabla de pedidos. Lo ...

  #1 (permalink)  
Antiguo 12/11/2011, 05:36
(Desactivado)
 
Fecha de Ingreso: noviembre-2003
Mensajes: 59
Antigüedad: 20 años, 5 meses
Puntos: 0
cambiar una id por un nombre

Hola haver si podeis ayudarme, resulta que estoy hasiendo una tienda online, y en la base de datos e echo una tabla de pedidos.
Lo que quiero hacer es que cuando el cliente pida un producto lo muestre en su panel de usuario los pedidos que haga, en la tabla de pedidos tengo puesto las siguientes tablas:

Pedidoid
usuarioid
cantidad
fecha

luego en el dreamweaver he echo una consulta filtrado por usuarioid, para que me aparezca los productos que ha pedido ese usuario
pero al pedir el producto me aparece la id no el nombre de producto.
Como hago para que en vez de la id aparezca el nombre?

Gracias de antemano.
  #2 (permalink)  
Antiguo 12/11/2011, 09:49
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: cambiar una id por un nombre

en la tabla de pedidos añade usuario y al realizar la consulta muestras al usuario sus pedidos en la consulta a la base de datos debe ser de esta manera mas o menos:

$sql = "SELECT * FROM pedidos WHERE usuario= '$_SESSION['usuario']'";
$mysql_query = mysql_query($sql) or die ();


haces un while para mostrar los datos y se mostraran solo los pedidos que esten en la base de datos con el nombre de usuario igual a la session que se creo (login)

creo que es eso lo que quieres pero si tienes problemas comentalo y te ayudare a resolverlo
  #3 (permalink)  
Antiguo 12/11/2011, 10:38
(Desactivado)
 
Fecha de Ingreso: noviembre-2003
Mensajes: 59
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: cambiar una id por un nombre

compañero me salta este error
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\wamp\www\tienda2\acceso.php on line 86


que es esta
$query_pedido_usuario = "SELECT * FROM pedidos WHERE usuario = '$_SESSION['usuario']'";

esta es la consulta que he hecho

mysql_select_db($database_tienda, $tienda);
$query_pedido_usuario = "SELECT * FROM pedidos WHERE usuario = '$_SESSION['usuario']'";
$pedido_usuario = mysql_query($query_pedido_usuario, $tienda) or die(mysql_error());
$row_pedido_usuario = mysql_fetch_assoc($pedido_usuario);
$totalRows_pedido_usuario = mysql_num_rows($pedido_usuario);

Última edición por loro25; 12/11/2011 a las 10:47
  #4 (permalink)  
Antiguo 12/11/2011, 10:52
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: cambiar una id por un nombre

haber te explico el error viene causado por $_SESSION['usuario'] que no tiene ningun valor y da error a toda la consulta

1- tienes login supongo en la tienda
2- cuando logeas daras una session al usuario o como tratas la session de cada usuario identificado
3- en la consulta donde dice WHERE usuario = $_SESSION['usuario'] debes introducir tus parametro que yo no los se por eso te da error yo te lo puse de ejemplo donde usuario pon el nombre de la columna de tu tabla de usuario(creo que es usuarioid) y donde $_SESSION['usuario'] debes añadir la variable de session que creas al loguear , no se si me explico , la consulta es sencilla pero la historia es que no se como trata las sessiones para identificar al usuario o como haces el login explicate un poco o sube el codigo
  #5 (permalink)  
Antiguo 12/11/2011, 10:55
(Desactivado)
 
Fecha de Ingreso: noviembre-2003
Mensajes: 59
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: cambiar una id por un nombre

para loguearse tiene que poner el correo y la contrseña
  #6 (permalink)  
Antiguo 12/11/2011, 11:02
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: cambiar una id por un nombre

prueba esto y haber si funciona y luego arreglamos el codigo

pon una columna en pedidos nueva llamada ip

crea un pedido de ejemplo con todos los datos

Pedidoid=da lo mismo
usuarioid= da lo mismo de momento
cantidad= da lo mismo
fecha= da lo mismo
ip= 127.0.0.1

y cambias esto en tu codigo anterior

codigo anterior
mysql_select_db($database_tienda, $tienda);
$query_pedido_usuario = "SELECT * FROM pedidos WHERE usuario = '$_SESSION['usuario']'";
$pedido_usuario = mysql_query($query_pedido_usuario, $tienda) or die(mysql_error());
$row_pedido_usuario = mysql_fetch_assoc($pedido_usuario);
$totalRows_pedido_usuario = mysql_num_rows($pedido_usuario);

nuevo
$ip= $_SERVER['REMOTE_ADDR'];
mysql_select_db($database_tienda, $tienda);
$query_pedido_usuario = "SELECT * FROM pedidos WHERE ip = '$ip' ";
$pedido_usuario = mysql_query($query_pedido_usuario, $tienda) or die(mysql_error());
$row_pedido_usuario = mysql_fetch_assoc($pedido_usuario);
$totalRows_pedido_usuario = mysql_num_rows($pedido_usuario);

y asi te deberia de salir solo los pedidos de dicha ip mira aber si te sale y luego seguimos
  #7 (permalink)  
Antiguo 12/11/2011, 11:16
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: cambiar una id por un nombre

vale me he dado cuenta que tienes 2 tablas vinculadas que no me di cuenta la de usuarios y pedidos , muestrame el codigo que te da dreamweaver y te muestra los resultados y te muestra los pedidos por id no por nombre vamos lo que tenias al principio
  #8 (permalink)  
Antiguo 12/11/2011, 11:26
(Desactivado)
 
Fecha de Ingreso: noviembre-2003
Mensajes: 59
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: cambiar una id por un nombre

No me sale, me puedes dar tu msn y me ayudas? me lo das por privi?
  #9 (permalink)  
Antiguo 12/11/2011, 11:32
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: cambiar una id por un nombre

mira es mucho mas facil si pones el codigo de la consulta entera y como la muestras

y es simplemente cambiar una variable por otra creo que es por eso , aunque si solo es para mostrar a cada usuario sus pedidos y solo los pueda ver el no se para que enseñar el usuario seria mejor enseñar un numero de pedido o algo asi no , lo siento no tengo msn
  #10 (permalink)  
Antiguo 12/11/2011, 11:38
(Desactivado)
 
Fecha de Ingreso: noviembre-2003
Mensajes: 59
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: cambiar una id por un nombre

este es el codigo sin tocar que me da dreamweaver al haser la consulta filtrada por usuarioid

$colname_pedido_usuario = "-1";
if (isset($_GET['usuarioid'])) {
$colname_pedido_usuario = (get_magic_quotes_gpc()) ? $_GET['usuarioid'] : addslashes($_GET['usuarioid']);
}
mysql_select_db($database_tienda, $tienda);
$query_pedido_usuario = sprintf("SELECT * FROM pedidos WHERE usuarioid = %s", $colname_pedido_usuario);
$pedido_usuario = mysql_query($query_pedido_usuario, $tienda) or die(mysql_error());
$row_pedido_usuario = mysql_fetch_assoc($pedido_usuario);
$totalRows_pedido_usuario = mysql_num_rows($pedido_usuario);
  #11 (permalink)  
Antiguo 12/11/2011, 11:45
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: cambiar una id por un nombre

vale perfecto manejas la session por GET es decir se muestra el usuario por la url verdad

falta que muestres el codigo que muestra los datos de la consulta es decir lo que se ve, la consulta esta bien para poder mostrar el usuario , ay que cambiar una variable en el resto de codigo na mas debera estar debajo de el codigo que has puesto si no me equivoco
  #12 (permalink)  
Antiguo 12/11/2011, 12:04
(Desactivado)
 
Fecha de Ingreso: noviembre-2003
Mensajes: 59
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: cambiar una id por un nombre

Me parece que te has confundido jejeje
yo lo que quiero que muestre es el nombre del producto que como lo tengo en la consulta asi me muestra el id del producto y quiero el nombre

Lo que tu dices el nombre del usuario si me sale
  #13 (permalink)  
Antiguo 12/11/2011, 12:13
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: cambiar una id por un nombre

jajaja pues si pero vamos es practicamente lo mismo

añade

<?php echo $row_pedido_usuario['nombre_producto'];?>

crea en la tabla pedidos una columna nombre_producto asi deberia salir en cualquier parte despues de hacer la consulta y antes de cerrar la conexion
  #14 (permalink)  
Antiguo 12/11/2011, 12:22
(Desactivado)
 
Fecha de Ingreso: noviembre-2003
Mensajes: 59
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: cambiar una id por un nombre

aver yo tengo una tabla que se llama productos otra que se llama usuario y otra que se llama pedidos
yo lo que quiero hacer es que los que se han registrao en mi tienda y hagan un pedido les muestre en su panel de usuario el pedido que han echo en dicha fecha para asi saber el ususa rio que pedidos a realizado.

Lo que me estas diciendo es que haga otra consulta con lo de la tabla producto y poner el nombre o que ?

que dificil es esto me he encasquillao hay jejeje
  #15 (permalink)  
Antiguo 12/11/2011, 12:35
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: cambiar una id por un nombre

esque yo no se como has estructurado las tablas ni como haces las consultas para mostrar los datos entonces es como ir a ciegas no se si me comprendes te e diho que crees el nombre del producto por que no sabia que tenias otra tabla con los productos de hay mi confusion .

los datos que as puesto al principio no pone nada de nombre de producto solo

tabla pedidos

Pedidoid
usuarioid
cantidad
fecha

entonces si esta tabla es la que quieres mostrar donde esta el nombre del producto
  #16 (permalink)  
Antiguo 12/11/2011, 12:48
(Desactivado)
 
Fecha de Ingreso: noviembre-2003
Mensajes: 59
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: cambiar una id por un nombre

te digo haver yo tengo en la base de datos las tablas

pedidos
productos
usuarios
categoria

en la tabla pedidos esta

pedidosid
usuarioid
cantidad
fecha

en el de productos tengo

productosid
nombre_producto
categoriaid
descripcion
imagen
stock
activo

en la tabla usuario

usuariosid
nombre
apellidos
direccion
localidad
provincia
codigo_postal
correo
contraseña
nivel

y en el de categoria

categoriaid
nombre_categoria

yo lo que quiero que muestre al usuario es los pedidos que ha realizado de ese mes en su panel de usuario.

haver si lo consigo haser con tu ayuda u otros jejeje
  #17 (permalink)  
Antiguo 12/11/2011, 13:11
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: cambiar una id por un nombre

esto es lo que se me ocurre

tu creas la tabla de pedidos y muestras los pedidos que tiene

pedidoid 743785 usuarioid yo mismo cantidad 70€ fecha 22/10/2011

y kieres el nombre de los productos en esos datos ,cada producto su linea con su precio fecha etc

crea un campo en pedidos llamado por ejemplo producto y le das el nombre del mismo producto que tienes en la tabla productos

yo creo que asi es como deberia de ser , haces la consulta como hasta ahora y entonces te mostrara esto

id usuario precio fecha producto

en producto añades un link dentro de la tabla para que vaya al producto x ejemplo

entonces al comprar un usuario se añade en la tabla pedidos ya con su nombre fecha y todo
  #18 (permalink)  
Antiguo 12/11/2011, 14:01
(Desactivado)
 
Fecha de Ingreso: noviembre-2003
Mensajes: 59
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: cambiar una id por un nombre

nada no me sale jope xD
  #19 (permalink)  
Antiguo 12/11/2011, 14:03
(Desactivado)
 
Fecha de Ingreso: noviembre-2003
Mensajes: 59
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: cambiar una id por un nombre

lo que dices es que lo haga todo a mano?
  #20 (permalink)  
Antiguo 12/11/2011, 14:07
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: cambiar una id por un nombre

yo personalmente prefiero a mano pero no te digo eso simplemente que añadas una columna en pedidos llamada producto(por ejemplo es para identificar lo que has comprado) y muestres toda la tabla pedidos con los pedidos del usuario

igual que lo haces ahora pero añade producto , logicamente al hacer el pedido debes de incluir el nombre del producto a esta tabla al igual que la fecha precio etc..
  #21 (permalink)  
Antiguo 12/11/2011, 14:15
(Desactivado)
 
Fecha de Ingreso: noviembre-2003
Mensajes: 59
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: cambiar una id por un nombre

pero digo si al hacer el pedido el usuario, lo pondra automaticamente el pedido que realice el usuario en la base de datos?

es que veras soy muy novato en esto y la web no va a ser para mi es para un colega que tiene una tienda y quiere que los usuarios lleven sus cuentas de los pedidos que han echo desde la web.
  #22 (permalink)  
Antiguo 12/11/2011, 14:18
(Desactivado)
 
Fecha de Ingreso: noviembre-2003
Mensajes: 59
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: cambiar una id por un nombre

mira la web es esta www.superchollosenmitienda.com/tienda2/
  #23 (permalink)  
Antiguo 12/11/2011, 14:24
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: cambiar una id por un nombre

cuando haces un pedido debes introducir los datos ,en la tabla pedidos se deben introducir los datos , debes hacerlo tu el codigo y luego se aplica a todos los usuarios por igual , es nada mas que un INSERT y verificaciones que este todo bien enviado y guardado ,

es decir voy a un articulo pulso en comprar y me manda a un archivo en el cual introduces los datos del pedido y vuelves a mandarlo a la tienda no se si lo entiendes , yo te explico lo que sea que para eso estamos para ayudarnos
  #24 (permalink)  
Antiguo 12/11/2011, 14:30
(Desactivado)
 
Fecha de Ingreso: noviembre-2003
Mensajes: 59
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: cambiar una id por un nombre

esto es un ejemplo no es mio
pero dices un insert como asi?


mysql_query("INSERT INTO pedidos(modelo, precio, cantidad, total,fecha)
VALUES ('$modelo','$precio','$cantidad','$total','$fecha' )",$link);
?>
  #25 (permalink)  
Antiguo 12/11/2011, 14:34
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: cambiar una id por un nombre

en modelo supongo que sera el nombre del producto no? si haces un insert como ese despues del ultimo paso para cerrar el pedido

si vas hacer una tienda y no tienes muchos conocimientos echa un vistazo a esto por la seguridad de la tienda es recomendable

sql-injection
xss cross site scripting
mysql_real_escape_string
htmlentities
  #26 (permalink)  
Antiguo 12/11/2011, 14:38
 
Fecha de Ingreso: agosto-2008
Mensajes: 606
Antigüedad: 15 años, 9 meses
Puntos: 11
Respuesta: cambiar una id por un nombre

Hola, igual no es lo que yo digo pero me parece que a la tabla pedidos le falta la presencia del producto que tendria que manifestarse como productosid es decir así:



tabla pedidos:

productosid
pedidosid
usuarioid
cantidad
fecha

Mira eso haber.
  #27 (permalink)  
Antiguo 12/11/2011, 14:39
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: cambiar una id por un nombre

eso se lo he dicho yo anteriormente


tu creas la tabla de pedidos y muestras los pedidos que tiene

pedidoid 743785 usuarioid yo mismo cantidad 70€ fecha 22/10/2011

y kieres el nombre de los productos en esos datos ,cada producto su linea con su precio fecha etc

crea un campo en pedidos llamado por ejemplo producto y le das el nombre del mismo producto que tienes en la tabla productos

yo creo que asi es como deberia de ser , haces la consulta como hasta ahora y entonces te mostrara esto

id usuario precio fecha producto

en producto añades un link dentro de la tabla para que vaya al producto x ejemplo

entonces al comprar un usuario se añade en la tabla pedidos ya con su nombre fecha y todo



pero hasta que hemos dado con ello nos ha costado jajajaja
  #28 (permalink)  
Antiguo 12/11/2011, 14:41
(Desactivado)
 
Fecha de Ingreso: noviembre-2003
Mensajes: 59
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: cambiar una id por un nombre

mira es que lo e encontrado en otro post mas antiguo pero en otro foro lo que dijo el tio que es lo que quiero hacer yo es esto


hola que tal perdon por la molestia pero tengo un pequeño problema, bueno lo que quiero hacer es que la informacion de un carrito de compras se guarde en una base de datos mysql pero no c como hacerlo ya que he leido que para eso se guarda la session .
te dejo el codigo ok
<?php
session_start();
if(isset($_SESSION['carrito'])){
$carrito_mio=$_SESSION['carrito'];
$pedido="Pedido de Equipos - nombre empresa. <br><br>";
$total=0;
for($i=0;$i<=count($carrito_mio)-1;$i ++){
if($carrito_mio[$i] !=NULL){
$pedido .= $carrito_mio[$i]['modelo'] . "****************" . $carrito_mio[$i]['precio'] . "x" . $carrito_mio[$i]['cantidad'] . "Total : " . $carrito_mio[$i]['precio'] * $carrito_mio[$i]['cantidad'] . " Pesos <br>";

$total= $total + $carrito_mio[$i]['precio'] * $carrito_mio[$i]['cantidad'];
}
}
$pedido.= "<br><br> Total: " . $total;
$nombre=$_POST['nombre'];
$email=$_POST['correo'];
$pedido.= "<br><br>De: ". $nombre;
$asunto="nombre empresa-pedido";
$empresa="nombre empresa.com";
$correo_empresa="correo-empresa";
mail($email,$asunto,$pedido,"NINE-Version:1.0\nContent-type:text/html;charset=UTF-8\nFrom:$empresa<$correo_empresa>");
$asunto .= " Copia ";
mail($correo_empresa,$asunto,$pedido,"NINE-Version:1.0\nContent-type:text/html;charset=UTF-8\nFrom:$empresa<$correo_empresa>");
}
?>
el codigo de arriba esta bien,
lo que quiero guardar es el pedido en la base de datos
en este codigo trato de guardarlo pero se guarda siempre y cuando solo sea un producto.
pero cuando son mas productos pedidos solo se guarda el ultimo producto seleccionado con el total de todo el pedido, como puedo arreglar esto para que lo envie a la base de datos y despues lo pueda recuperar, bueno espero me pueda ayudar????
gracias...

<?php
$link = mysql_connect("localhost","root","");
mysql_select_db("productos",$link);
if(isset($_SESSION['carrito'])){
$carrito_mio=$_SESSION['carrito'];
$modelo;
$precio;
$cantidad;
$total=0;
$fecha=date('y,m,d');
for($i=0;$i<=count($carrito_mio)-1;$i ++){
if($carrito_mio[$i] !=NULL){
$modelo = $carrito_mio[$i]['modelo'];
$precio = $carrito_mio[$i]['precio'];
$cantidad = $carrito_mio[$i]['cantidad'];
$total= $total + $carrito_mio[$i]['precio'] * $carrito_mio[$i]['cantidad'];
}
}
}
// Con esta sentencia SQL insertaremos los datos en la base de datos
mysql_query("INSERT INTO pedidos(modelo, precio, cantidad, total,fecha)
VALUES ('$modelo','$precio','$cantidad','$total','$fecha' )",$link);
?>
  #29 (permalink)  
Antiguo 12/11/2011, 14:43
 
Fecha de Ingreso: agosto-2008
Mensajes: 606
Antigüedad: 15 años, 9 meses
Puntos: 11
Respuesta: cambiar una id por un nombre

Es cierto, lo primero para que todo funcione es un buén diseño de la base de datos:


Cita:
pero hasta que hemos dado con ello nos ha costado jajajaja
:)
  #30 (permalink)  
Antiguo 12/11/2011, 14:46
(Desactivado)
 
Fecha de Ingreso: noviembre-2003
Mensajes: 59
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: cambiar una id por un nombre

Cita:
Iniciado por trevol Ver Mensaje
Hola, igual no es lo que yo digo pero me parece que a la tabla pedidos le falta la presencia del producto que tendria que manifestarse como productosid es decir así:



tabla pedidos:

productosid
pedidosid
usuarioid
cantidad
fecha

Mira eso haber.
es lo que yo taba pensando, pero luego al hacer la consulta que lo tengo que filtrar por usuario id o por productos id ?
para que me muestre el pedido del usuario en contreto a su panel de control no quiero que se lo muestre a todos el pedido que ha echo otro usuario

Etiquetas: nombre, tabla, usuarios
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 00:39.