ayuda para un primer esbozo

angel24
06 de Mayo del 2005
HOLA! SOY ESTUDIANTE de inf en francia y me piden hacer unas trabajo en php, del q no sabia nasa.yo hecho algunos tutoriales de php en internet pero hay determinadas cosas de las q no tengo ni idea de como usar

pues bien me piden agregar las siguiente funciones a otra llamada color q me dijo como se hacia un amigo del foro

alarmes_cn -> que da el valor (0,1,2,3) si une cn est pasado -> roje si resta 10% -> amarillo no le resta 10 por ciento -> verde
si error blanco

alarmes_visite -> si une visite est pasada roje
si queda 10% amarilla sino vert

alarme_equipement -> idem

y estos son los argimentos:
pot_cellule (en minutes), limite_potentiel(en minutes), potentiel_calendaire (en mois), date_application(date),
y sobre estos datos debo indicar el color de la seccion.


como ya comente en mensajes anteriores se trata de un programa de un taller de aeronautica, donde aparecen todas las aviones q pertenece
al taller, y asi se saben si estan en el aire, taller, o le queda poco para llegar
en un tabla se indica la celda de color correspondiente para dar la alarma

A mi solo se me pide lo q he comentado

hay q tener en cuenta el limite calendario y potencia

yo he intentado lo siguiente; pero no se si lo hago bien, os pido
q me indiqueis algunas de las cosas q pongo en comentarios, y me deis vuestra opinion
__________________________________________________ _____________

Ejercicio:
---------

// viendo tutoriales y demas con este codigo conecto

function conectar($servidor, $usuario, $password, $base_datos){
if (!($link=mysql_connect($servidor,$usuario,$passwor d))){
exit();
}
if(!(mysql_select_db($base_datos,$link))){
exit();
}
return $link;
}

$conexion = conectar("","usuariomysql","passmysql","basededatos");

// esta funcion nos devolvera el color


<?
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;
}
}
}

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

// y ahora vamos a lo q me piden / q es lo q tengo q hacer al igual q la funcion de la q partimos

comentadme viendo la bd q os envie si estais de acuerdo en si creeis q es esta forma de tomar los datos la correcta para obtener lo q se me pide

los calculos de estado lo dejo con comentarios; pq quiero estar seguro de si la forma de proceder es la correcta en php; recordad q nunca he programado en php; alguna sugerencias si quereis ponerla de como lo hariais estaria bien
pero antes es mejor ver lo otro

Función:
-------

function alarmes_cn($id, $Date_app){


// aqui hago una variable sql, pero la instruccion sql no esta bien; con lo q he puesto deduzo lo q quiero para q veais lo q quiero; si me podrias indicar hacer esta, y ver como se hace la toma la datos en este ejemplo; yo haria las demas.

$sql = mysql_query("select Id_cn, Date from Cn",$conexion);


// he visto tutoriales; pero la unica forma de obtener datos q es visto es asi. q es de leer fichero; pero no se si es correcta; si no es la correcta podrias indicarmela en este ejemplo, yo la haria para el resto de codigo.

while($row = mysql_fetch_array($sql)){
$Date = $row["Date"];
}

// calcular estado - una vez q tenga la date podria trabajar con el argumento q recibe la funcion para calcular el estado, estais de acuerdo en lo datos q obtengo de un lado y ortro me llavan a podr calcular el estado?

return color($estado);
}


LLamada:
-------

//aqui idem a lo anterior; selecciono bien; la instruccion sql si me la dais en el primer ejemplo

aqui la modificaria yo

$sql = mysql_query("select Date_Appl from Concerne",$conexion);

while($row = mysql_fetch_array($sql)){
$Id_cn=$row["Id_cn"];
$Date_application = $row["Date_App"];
}

alarmes_cn($Id_cn, $Date_application)

// estas de acuerdo en q son los parametros q debo pasar, para obtener la fecha, o deberian ser de otra tabla?

pues eso con estas funciones proximas seria lo mismo pero viendo como

queda esta en la q me podrias indicar lo q os pregunto. yo haria lo demas ya q es mi tarea.

en las siguientes funciones si me comentais igual q en las anteriores si estais de acuerdo o no con los datos de las tablas q cogo para calcular lo q se me pide, seria aun cablazo:

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

Función:
-------

function alarmes_visite($Id, $meses){

$sql = mysql_query("select Inmatriculation, DateV, DureeV, Cycle from Cdv",$conexion);

while($row = mysql_fetch_array($sql)){
$Inmatriculation=$row["Inmatriculation"];
$DureeV = $row["DureeV"];
$Cycle= $row["Cycle"];
}

//Con la DateV, DureeV, Cycle y la potentiel_calendaire en meses hallar estado

return color($estado);

}


LLamada:
-------

$sql = mysql_query("select Inmatriculation, Date from Passe",$conexion);

while($row = mysql_fetch_array($sql)){
$Inmatriculation=$row["Inmatriculation"];
$Date=$row["Date"];
}

$sql = mysql_query("select Id_TypeV, Cyclicite_Pot from TypeVisite",$conexion);

while($row = mysql_fetch_array($sql)){
$IdTypeV=$row["IdTypeV"];
$Cyclicite_Pot = $row["Cyclicite_Pot"];
}

// calcular el potentiel_calendaire (en meses) con la Date y la Cyclicite_pot

alarmes_visite($IdTypeV, $potentiel_calendaire);

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

Función:
-------

function alarmes_equipement($Id, $minutos){

$sql = mysql_query("select Inmatriculation, Potentiel from Passe",$conexion);

while($row = mysql_fetch_array($sql)){
$Inmatriculation=$row["Inmatriculation"];
$Potentiel = $row["Potentiel"];
}

// ¿Es necesario saber Potencia, o se suprime lo de arriba?yo creo q si para tener en cuenta el tope

//Con los minutos se halla el estado para el limite_potentiel y la pot_cellule

return color($estado);

}


LLamada:
-------

$sql = mysql_query("select Inmatriculation, Pot_Cal, Pot_Duree from Equipement",$conexion);

while($row = mysql_fetch_array($sql)){
$Pot_Cal=$row["Pot_Cal"];
$Pot_Duree = $row["Pot_Duree"];
}


//Con la Pot_Cal y Pot_Duree se hallan los minutos


alarmes_equipement($Id_Eq, $pot_cellule);
alarmes_equipement($Id_Eq, $limite_potentiel);


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

// aqui cierro bd


mysql_free_result($sql);
mysql_close($conexion);
?>

__________________________________________________ _______________________


Espero vuestras ideas, sugerencias, comentarioq. comentamed si estais de acuerdo con los procedimiento, y los datos escogidos

gracias, es la primera vez q programo en php, ytoda ayuda es mucha

la bd es

esta es la bd:
-- 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'
);