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:
(https://i.imgur.com/RkGMICz.png) (https://i.imgur.com/RkGMICz.png)
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:
<?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:
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.
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.
$req_fields = array('product-title','product-quantity','buying-price', 'saleing-price' );
Saludos
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:
(https://i.imgur.com/8JiYKMc.png)
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..
Averigua cual es el error. Te da la consulta pero no el error.. haz debug.
Saludos
Pero cómo puedo hacer el debug?