Foros del Web » Programando para Internet » PHP »

Categorias, subcategorias y productos

Estas en el tema de Categorias, subcategorias y productos en el foro de PHP en Foros del Web. Hola comunidad, les consulto si me pueden guiar con el sgte. código: Lo que estoy tratando de plasmar es que al agregar un nuevo producto ...
  #1 (permalink)  
Antiguo 02/08/2012, 13:56
Avatar de elsolodigno  
Fecha de Ingreso: agosto-2009
Mensajes: 225
Antigüedad: 14 años, 8 meses
Puntos: 2
Pregunta Categorias, subcategorias y productos

Hola comunidad, les consulto si me pueden guiar con el sgte. código:

Lo que estoy tratando de plasmar es que al agregar un nuevo producto tenga la opción de elegir la categoría y subcategoría para el producto. Luego solo agregar el id de la subcategoria en la tabla producto.

Al principio funciona pero luego al ver la base me agrega cualquier cosa y registros duplicados..., podrán guiarme dónde tengo el error?.

Muchas gracias de antemano!.

Código PHP:
require_once('conexion.php');

if (isset(
$_POST['codigo']) &&
    isset(
$_POST['nombre']) &&
    isset(
$_POST['id_subcategoria']) && 
    isset(
$_POST['descripcion']) &&
    isset(
$_POST['marca']) &&
    isset(
$_POST['imagen']) &&   
    isset(
$_POST['destacado']))
{
$sql="INSERT INTO productos
(id_producto, codigo_producto, nombre_producto, id_subcategoria, descripcion_producto, marca_producto, imagen_producto, destacado_producto) 
VALUES 
(null,'"
.$_POST['codigo']."','".$_POST['nombre']."','".$_POST['id_subcategoria']."','".$_POST['descripcion']."','".$_POST['marca']."','".$_POST['imagen']."','".$_POST['destacado']."')";

$result mysql_query($sql) or die('No pude ejecutar la consulta');

Código HTML:
<h3>Agregar Productos</h3>
<form action="agregar.php" method="POST">
Código:
<input type="text" name="codigo" maxlength="50" size="20"><br>
Nombre:
<input type="text" name="nombre" maxlength="50" size="20"><br> 
Código PHP:
 $id_categoria=isset($_POST['id_categoria']) ? $_POST['id_categoria'] : null;

   echo 
"<select name=\"id_categoria\" onChange=\"this.form.submit()\">\n";
   echo 
"<option value=\"\"> Seleccione una Categoría </option>\n";
 
   
$consulta_categoria mysql_query("SELECT * FROM categorias");
 
  while(
$registro_categoria=mysql_fetch_assoc($consulta_categoria)){
      
      if (
$id_categoria == $registro_categoria['id_categoria']){
         echo 
"<option value=\"".$registro_categoria['id_categoria']."\" selected>".$registro_categoria['nombre_categoria']."</option>\n";
      } else {
         echo 
"<option value=\"".$registro_categoria['id_categoria']."\">".$registro_categoria['nombre_categoria']."</option>\n";
      }
    }
   echo 
"</select>\n\n";
 
   
mysql_free_result($consulta_categoria);
 
      echo 
"<select name=\"id_subcategoria\">\n";
 
   if (!empty(
$id_categoria)){
 
       
$consulta_subcategoria mysql_query("SELECT * FROM subcategorias WHERE id_categoria='$id_categoria'");
       
       if (
mysql_num_rows($consulta_subcategoria) != 0){
          while   (
$registro_subcategoria=mysql_fetch_assoc($consulta_subcategoria)){
            echo 
"<option value=\"".$registro_subcategoria['id_subcategoria']."\">".$registro_subcategoria['nombre_subcategoria']."</option>\n";
          }
        } else {
            echo 
"<option value=\"\"> No hay registros para esta Categoría </option>";
        }
    } else {
        echo 
"<option value=\"\"> <-- Seleccione una Subcategoría  </option>";
    }
 
    
mysql_free_result($consulta_subcategoria);
 
    echo 
"</select>\n\n"
Código HTML:
<br>
Descripción:
<input type="text" name="descripcion" maxlength="50" size="5"><br>
Marca:
<input type="text" name="marca" maxlength="50" size="30"><br>
Imagen:
<input type="text" name="imagen" maxlength="50" size="20"><br>
Destacado:
<input type="text" name="destacado" size="9"><br>
<INPUT type="submit" name="enviado" value="Agregar">
</form>
<a href="admin.php">Volver</a> 
  #2 (permalink)  
Antiguo 02/08/2012, 15:26
Avatar de Heiroon  
Fecha de Ingreso: junio-2010
Ubicación: Caracas, Venezuela - Por ahora...
Mensajes: 495
Antigüedad: 13 años, 10 meses
Puntos: 63
Pregunta Respuesta: Categorias, subcategorias y productos

¿Por qué cuando insertas el registro, pones id_producto como NULL? ¿Qué tipo de dato es id_producto?
__________________
Gmail : [email protected]
Twitter: @heiroon

I'm back!
  #3 (permalink)  
Antiguo 02/08/2012, 15:34
Avatar de elsolodigno  
Fecha de Ingreso: agosto-2009
Mensajes: 225
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: Categorias, subcategorias y productos

Hola Heiroon, es un campo autoincrementable. El problema radica que cuando seleciono la categoria y luego la subcategoria y le doy al botón agregar me duplica los registros, pero en el primero me deja muchos campos en blanco y en el segundo registro me agrega todo menos el nombre del producto.

Gracias por tu tiempo!.
  #4 (permalink)  
Antiguo 02/08/2012, 15:38
Avatar de Heiroon  
Fecha de Ingreso: junio-2010
Ubicación: Caracas, Venezuela - Por ahora...
Mensajes: 495
Antigüedad: 13 años, 10 meses
Puntos: 63
Respuesta: Categorias, subcategorias y productos

¿Sería mucho pedir si me facilitaras una impresión del query INSERT y la estructura de la tabla productos?

Creo que conociendo esas dos cosas puedo ayudarte más objetivamente.
__________________
Gmail : [email protected]
Twitter: @heiroon

I'm back!
  #5 (permalink)  
Antiguo 02/08/2012, 18:16
Avatar de elsolodigno  
Fecha de Ingreso: agosto-2009
Mensajes: 225
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: Categorias, subcategorias y productos

Hola de nuevo despues de varias pruebas el probelma radica en:

onChange=\"this.form.submit();\">\n";

antes de que le agregue los select funcionaba perfecto, ahora me duplica una fila porque cuando carga onChange=\"this.form.submit();\">\n"; me envía los datos.

Cómo debo hacer para evitar esto?.

Muchas gracias!
  #6 (permalink)  
Antiguo 02/08/2012, 18:58
 
Fecha de Ingreso: agosto-2011
Ubicación: Santo Domingo
Mensajes: 487
Antigüedad: 12 años, 8 meses
Puntos: 31
Respuesta: Categorias, subcategorias y productos

porque tienes un onchange en el select?.. no deberia estar me imagino
__________________
El talento se educa en la KARMA y el carácter en la tempestad.
Gabriel De Los Santos
  #7 (permalink)  
Antiguo 02/08/2012, 19:23
Avatar de elsolodigno  
Fecha de Ingreso: agosto-2009
Mensajes: 225
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: Categorias, subcategorias y productos

Hola, el combo dependiente lo copié del las faqs de forosdelweb, y anda bien. La verdad estoy desorientado, quitando onChange=\"this.form.submit();\">\n"; funciona pero no me muestra las subcategorias así que ahí tengo el problema.

Muchas gracias por su ayuda.
  #8 (permalink)  
Antiguo 02/08/2012, 19:40
 
Fecha de Ingreso: agosto-2011
Ubicación: Santo Domingo
Mensajes: 487
Antigüedad: 12 años, 8 meses
Puntos: 31
Respuesta: Categorias, subcategorias y productos

puedes utilizar onchange pero no para hacer submit, porque eso es lo k hace k se envie el formulario..
__________________
El talento se educa en la KARMA y el carácter en la tempestad.
Gabriel De Los Santos

Etiquetas: categorias, mysql, productos, registro, sql, subcategorias, tabla
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 05:50.