Ver Mensaje Individual
  #3 (permalink)  
Antiguo 04/05/2005, 02:12
eras77
 
Fecha de Ingreso: abril-2005
Mensajes: 14
Antigüedad: 19 años
Puntos: 0
funciones y argumentos

Hola a todo!

Estoy haciendo funciones que me han ido mandado pero me he quedado atascado aqui,
a ver si me podriais ayudar a resolverlo.

Para empezar me pidieron lo siguiente:

- Haz una funcion que reciba un entero entre 1 y 3
y muestre en la tabla el color
verde, amarillo ou rojo.
Si es 0 mostrata blanco.
(lo que permite hacer un codigo de color para las alarmas)

Codigo empleado:

<?
function color($valor) {
if(!is_int($valor)) return false;
else if($valor<=3) {
switch($valor) {
case 0: return "WHITE"; break;
case 1: return "GREEN"; break;
case 2: return "YELLOW"; break;
case 3: return "RED"; break;
}
}
}
echo "<table>";
for ($i=-1; $i<=4; $i++) {
echo "<tr><td>Valor: $i</td><td>Valor devuelto: ".color($i)."</td><td width=\"50\" bgcolor=\"".color($i)."\"></td></tr>";
}
echo "</table>";
?>

Pues bien, a partir de aqui me piden incluir las siguientes funciones para completarlo:

- alarmes_cn -> que devuelve el valor (0,1,2,3)

si un cn se ha pasado -> rojo
si le queda el 10% -> amarillo
si no le queda el 10% -> verde
si error -> blanco


- alarmes_visite ->
si una visita se ha pasado -> rojo
si le queda el 10% -> amarillo
sino verde



- alarme_equipement -> idem


Para esto tengo la siguiente bd, ya fijada:
(para el formato de los datos)

-- --------------------------------------------------------

--

-- Structure de la table `avion`
--

CREATE TABLE `avion` (
`Immatriculation` varchar(6) NOT NULL default '',
`Potentiel` int(7) NOT NULL default '0',
`IdType` int(5) NOT NULL default '0',
PRIMARY KEY (`Immatriculation`)
) ;

-- --------------------------------------------------------

--
-- Structure de la table `cdv`
--

CREATE TABLE `cdv` (
`DateV` date NOT NULL default '0000-00-00',
`DureeV` int(6) NOT NULL default '0',
`Cycles` int(2) NOT NULL default '0',
`Descriptif` varchar(100) NOT NULL default '',
`Immatriculation` varchar(6) NOT NULL default '',
PRIMARY KEY (`DateV`,`Immatriculation`)
);

-- --------------------------------------------------------

--
-- Structure de la table `cn`
--

CREATE TABLE `cn` (
`IdCn` int(5) NOT NULL default '0',
`Pays` varchar(15) NOT NULL default '',
`NSerie` varchar(30) NOT NULL default '',
`Texte` varchar(200) NOT NULL default '',
`Date` date NOT NULL default '0000-00-00',
`Revision` int(3) NOT NULL default '0',
`Type_Cn` varchar(15) NOT NULL default '',
PRIMARY KEY (`IdCn`)
) ;

-- --------------------------------------------------------

--
-- Structure de la table `concerne`
--

CREATE TABLE `concerne` (
`Date_App` date NOT NULL default '0000-00-00',
`Cycle_App` int(6) NOT NULL default '0',
`Heure_App` int(6) NOT NULL default '0',
`Mois_Inter` int(6) NOT NULL default '0',
`IdCn` int(5) NOT NULL default '0',
`Immatriculation` varchar(6) NOT NULL default ''
) ;

-- --------------------------------------------------------

--
-- Structure de la table `equipement`
--

CREATE TABLE `equipement` (
`IdEq` int(5) NOT NULL default '0',
`Desi` varchar(30) NOT NULL default '',
`Marque` varchar(30) NOT NULL default '',
`Type` varchar(10) NOT NULL default '',
`P/N` varchar(20) NOT NULL default '',
`S/N` varchar(20) NOT NULL default '',
`Pot_Cal` int(6) NOT NULL default '0',
`Pot_Duree` int(6) NOT NULL default '0',
`Immatriculation` varchar(6) NOT NULL default '',
PRIMARY KEY (`IdEq`)
) ;

-- --------------------------------------------------------

--
-- Structure de la table `passe`
--

CREATE TABLE `passe` (
`Date` date NOT NULL default '0000-00-00',
`Potentiel` int(6) NOT NULL default '0',
`Atelier` varchar(30) NOT NULL default '',
`Immatriculation` varchar(6) NOT NULL default '',
`IdTypeV` int(5) NOT NULL default '0'
) ;

-- --------------------------------------------------------

--
-- Structure de la table `possede`
--

CREATE TABLE `possede` (
`IdProp` int(5) NOT NULL default '0',
`Immatriculation` varchar(6) NOT NULL default ''
) ;

-- --------------------------------------------------------

--
-- Structure de la table `progentr`
--

CREATE TABLE `progentr` (
`IdTypeA` int(5) NOT NULL default '0',
`IdTypeV` int(5) NOT NULL default '0'
) ;

-- --------------------------------------------------------

--
-- Structure de la table `proprietaire`
--

CREATE TABLE `proprietaire` (
`IdProp` int(5) NOT NULL default '0',
`Nom` varchar(30) NOT NULL default '',
`Prenom` varchar(30) NOT NULL default '',
`AdrP` varchar(50) NOT NULL default '',
`AdrE` varchar(30) NOT NULL default '',
`Telephone` varchar(15) NOT NULL default '',
PRIMARY KEY (`IdProp`)
) ;

-- --------------------------------------------------------

--
-- Structure de la table `revise`
--

CREATE TABLE `revise` (
`IdEq` int(5) NOT NULL default '0',
`IdTypeV` int(5) NOT NULL default '0'
);

-- --------------------------------------------------------

--
-- Structure de la table `typeavion`
--

CREATE TABLE `typeavion` (
`IdTypeA` int(5) NOT NULL default '0',
`Marque` varchar(30) NOT NULL default '',
`Modele` varchar(30) NOT NULL default '',
PRIMARY KEY (`IdTypeA`)
) ;

-- --------------------------------------------------------

--
-- Structure de la table `typevisite`
--

CREATE TABLE `typevisite` (
`IdTypeV` int(5) NOT NULL default '0',
`Cyclicite_pot` int(10) NOT NULL default '0',
`Nom` varchar(10) NOT NULL default '',
`Description` varchar(100) NOT NULL default '',
PRIMARY KEY (`IdTypeV`)
) ;

-- --------------------------------------------------------

--
-- Structure de la table `user`
--

CREATE TABLE `user` (
`login` varchar(10) NOT NULL default '',
`password` varchar(10) NOT NULL default '',
`IdProp` int(5) NOT NULL default '0'
);


Y me dan estos argumentos:


- pot_cellule (en minutes)


- limite_potentiel(en minutes)


- potentiel_calendaire (en mois)


- date_application(date)


Para que sobre estos datos, indique el codigo del color de la seccion
(teniendo en cuenta el tope del calendario y de la potencia)



Para que lo entiendais, mas o menos, se trata de un programa de gestion de un taller
de aeronautica. En el hay un listado de todos sus aviones, y en una tabla
se indica todas las caracteristicas de estas. En ella se indica con colores
en su respectiva celdas en rojo, amarillo, verde o blanco el estado
en q se encuentra cada avion, para que el taller sepa cuando van a venir, y cuales
estan en el aire o en taller.


He intentado ver como poder hacerlo, pero no encuentro una forma, pq desconozco
aun muchas cosas del lenguage y como usar sus argumentos. Y como poder realizar las
funciones q aun tengo q añadir.

Por eso si me podrias ayudar a hacerlo, indicandomelo correctamente, me ayudarias a poder
ver como
se realizan algunas cosas.