Como tener una categoría invisible donde se guarden los datos sin seleccionarla

Iniciado por Antoniio, 20 Septiembre 2018, 02:04 AM

0 Miembros y 1 Visitante están viendo este tema.

Antoniio

Hola, buenas. Quisiera ver cuál es la forma de tener una categoría oculta o que todos los servicios que cree se vayan a una categoría sin tener que seleccionarla.
El sistema me pide opción de "Descripción, Categoría y Precio" pero quité el de "Categoría" dejando solo el de "Descripción y Precio" pero cuando creo un servicio me arroja este error:



Osea, hay una condición en el código que me impide crear un servicio sin categoría, por eso quiero saber cómo hago para que no me mande esa condición. La parte del código que debo modificar es esta:

Código (php) [Seleccionar]
<?php
 
if(isset($_POST['add_product'])){
   
$req_fields = array('product-title','product-categorie','product-quantity','buying-price''saleing-price' );
   
validate_fields($req_fields);
   if(empty(
$errors)){
     
$p_name  remove_junk($db->escape($_POST['product-title']));
     
$p_cat   remove_junk($db->escape($_POST['product-categorie']));
     
$p_qty   remove_junk($db->escape($_POST['product-quantity']));
     
$p_buy   remove_junk($db->escape($_POST['buying-price']));
     
$p_sale  remove_junk($db->escape($_POST['saleing-price']));
     if (
is_null($_POST['product-photo']) || $_POST['product-photo'] === "") {
       
$media_id '0';
     } else {
       
$media_id remove_junk($db->escape($_POST['product-photo']));
     }
     
$date    make_date();
     
$query  "INSERT INTO products (";
     
$query .=" name,quantity,buy_price,sale_price,categorie_id,media_id,date";
     
$query .=") VALUES (";
     
$query .=" '{$p_name}', '{$p_qty}', '{$p_buy}', '{$p_sale}', '{$p_cat}', '{$media_id}', '{$date}'";
     
$query .=")";
     
$query .=" ON DUPLICATE KEY UPDATE name='{$p_name}'";
     if(
$db->query($query)){
       
$session->msg('s',"Producto agregado exitosamente. ");
       
redirect('add_product.php'false);
     } else {
       
$session->msg('d',' Lo siento, registro falló.');
       
redirect('product.php'false);
     }

   } else{
     
$session->msg("d"$errors);
     
redirect('add_product.php',false);
   }

 }

?>

<?php include_once('layouts/header.php'); ?>
<div class="row">
 <div class="col-md-12">
   <?php echo display_msg($msg); ?>
 </div>
</div>
 <div class="row">
 <div class="col-md-9">
     <div class="panel panel-default">
       <div class="panel-heading">
         <strong>
           <span class="glyphicon glyphicon-th"></span>
           <span>Agregar Servicio</span>
        </strong>
       </div>


Y este:

Código (php) [Seleccionar]
function validate_fields($var){
 global $errors;
 foreach ($var as $field) {
   $val = remove_junk($_POST[$field]);
   if(isset($val) && $val==''){
     $errors = $field ." No puede estar en blanco.";
     return $errors;
   }
 }
}



Me podrían ayudar a saber cómo quitar que sea obligatoria una categoría o cómo hacer que todos los servicios que se generen se vayan a 1 categoría que esté oculta??

Gracias de antemano, saludos !!!



Mod: Tamaño máximo de las imágenes -> 800x600px.

#!drvy

Yo más bien miraría como ocultar dicha categoría puesto que puede suponer un problema bastante gordo que ese campo no se rellene dependiendo de como este programado ese CMS.

Dicho esto, lo más fácil para evitar ese error, parece ser eliminar product-categorie del array $req_fields en la linea 3 de tu código.

Código (php) [Seleccionar]
$req_fields = array('product-title','product-quantity','buying-price', 'saleing-price' );


Saludos

Antoniio

Ya lo hice, de hecho saqué todo menos el de la descripción y precio, lo dejé así:
<?php
 
if(isset($_POST['add_product'])){
   
$req_fields = array('product-title''saleing-price' );
   
validate_fields($req_fields);
   if(empty(
$errors)){
     
$p_name  remove_junk($db->escape($_POST['product-title']));
     
$p_sale  remove_junk($db->escape($_POST['saleing-price']));
     
$date    make_date();
     
$query  "INSERT INTO products (";
     
$query .=" name,sale_price";
     
$query .=") VALUES (";
     
$query .=" '{$p_name}', '{$p_sale}'";
     
$query .=")";
     
$query .=" ON DUPLICATE KEY UPDATE name='{$p_name}'";
     if(
$db->query($query)){
       
$session->msg('s',"Producto agregado exitosamente. ");
       
redirect('add_product.php'false);
     } else {
       
$session->msg('d',' Lo siento, registro falló.');
       
redirect('product.php'false);
     }

   } else{
     
$session->msg("d"$errors);
     
redirect('add_product.php',false);
   }


Y me aparece esto:


incluso lo he puesto así:
$req_fields = array('product-title', 'saleing-price' ); 
$p_cat = "0"; //categoria por defecto 
$p_qty = "0";
$p_buy = "0";
   validate_fields($req_fields);
   if(empty($errors)){
     $p_name  = remove_junk($db->escape($_POST['product-title']));
     $p_sale  = remove_junk($db->escape($_POST['saleing-price']));


y me sigue mandando el mismo error..

#!drvy

Averigua cual es el error. Te da la consulta pero no el error.. haz debug.

Saludos