ClaveAudio_Web/admin/_incl/catop.class.php

123 lines
3.5 KiB
PHP
Raw Normal View History

<?php
// ####################################################
// catop.class.php
// una clase para crear y gestionar un interface din<69>mico
// <20> ff 2005
/*
CREATE TABLE $this->tablaDefiniciones (
catop_id int(11) NOT NULL auto_increment,
catop_categoria varchar(5) NOT NULL,
catop_tipo varchar(5) NOT NULL,
catop_label varchar(32) NOT NULL,
catop_values text,
catop_orden tinyint(4),
PRIMARY KEY (catop_id)
) TYPE=MyISAM;
CREATE TABLE $this->tablaDefiniciones (
procat_prod_id int(11) NOT NULL default 0,
procat_catop_id int(11) NOT NULL default 0,
procat_valor text NOT NULL
) TYPE=MyISAM;
*/
require_once('mysql.class.php');
class catop{
var $miConexion;
var $miDBUser;
var $miDBPwd;
var $miDB;
var $categoria;
var $tablaDefiniciones;
var $tablaDatos;
var $numOfCatops;
var $curCatop;
var $misDatos;
// en que casos no paso categoria:
// - cuando voy a grabar el resultado del interfaz
// - cuando estoy de paso por la zona, vi luz...
function catop($categoria = '') {
include('catop.config.php');
$this->miDBUser = $gConfig['dbuser'];
$this->miDBPwd = $gConfig['dbpass'];
$this->miDB = $gConfig['usuarios'];
$this->tablaDefiniciones = $gConfig['definicion'];
$this->tablaDatos = $gConfig['datos'];
$this->categoria = (strlen($categoria) ? $categoria : '');
$this->miConexion = new datosClass($this->miDBUser, $this->miDBPwd, $this->miDB);
$this->numOfCatops = -69;
$this->curCatop = -69;
$this->$misDatos = false;
}
function readCatops($categoria = '', $producto = ''){
$this->categoria = (strlen($categoria) ? $categoria : this->categoria);
if($this->miConexion) {
// si me pasan un producto es que estoy mostrando algo previamente grabado
// relleno un array con los datos grabados para este producto
if(strlen($producto)){
if($this->miConexion->query('SELECT procat_catop, procat_valor
FROM ' . $this->$tablaDatos . '
' WHERE procat_producto=' . $prod_id))
{
$this->misDatos = array();
while($miRow = $this->miConexion->getNext()) {
// relleno una matriz con los valores que tengo grabados para este producto
$dato_tipo = $miRow['procat_catop'];
$dato_valor = $miRow['procat_valor'];
$this->misDatos[$dato_tipo] = $dato_valor;
}
}
}
if($this->miConexion->query('SELECT catop_id as "id", catop_tipo as "tipo", catop_label as "label", catop_values as "values"
FROM ' . $this->tablaDefiniciones . '
WHERE catop_categoria="' . $this->categoria . '"
ORDER BY catop_orden')) {
$this->numOfCatops = $this->miConexion->getNumOfRows();
}
}
// si -1 algo va mal, si 0 algo va bien pero no hay resultados.
return $this->numOfCatops;
}
// devuelve el array en bruto
// notese que los nombres de los campos de la matriz son
// id, tipo, label, values, [data]
// data solo existe si se ha pasado un codigo de producto en readCatops
// y si hay un dato grabado para el producto y la caracteristica correspondiente.
function getNextCatop() {
$miRow = false;
if($this->miConexion) {
$miRow = $this->miConexion->getNext();
if($miRow && $this->misDatos) {
$miRow['data'] = (is_set($this->misDatos[$miRow['id']]) ? $this->misDatos[$miRow['id']] : '');
}
}
return $miRow;
}
// esta funcion depende de las globales $_REQUEST
function insertCatops($key) {
}
}
?>