Membres


Pas encore membre ?
inscrivez-vous ici

Connexion :
Login
Code
Mot de passe perdu ?
Liste des membres

pb d'affichage

Pb d'affichage


Pb d'affichage     Posté le 29/12/2004 à 00:00
Lida
Membre
lida
18 posts
Inscrit le : 1/12/2004
Bonjour,
voila j'ai un compte d'enfant et bebe a afficher, mais bien sur, la manière que j'ai fait cela ne correspond pas
je devrais avoir pour un 1er agent 2enfants (j'ai 0 enfant et 1 bebe) et le 2eme agent 0 enfant et 2 bebe (j'ai aussi 0 enfant et 1 bebe)!!!!!!!!!!!
est-ce que je peux envoyer mon code?
merci de me répondre car cela fait un moment que je cherche.

 
Réponse à : Pb d'affichage     Posté le 29/12/2004 à 14:27
sky
Administrateur
Avatar
Site perso
4188 posts
Inscrit le : 13/08/2003
Oui, pas de problème.
Sans code, j'aurai du mal à comprendre smiley

_______________________
Graphiks : Cours PHP
Image
=> à quoi sert internet explorer ?
=> à télécharger firefox
 
Réponse à : Pb d'affichage     Posté le 29/12/2004 à 14:52
lida
Membre
Avatar
18 posts
Inscrit le : 1/12/2004
oh merci beaucoup
voici ma source
if ($destination && $vol)
{

$req = "SELECT DISTINCT * FROM AGENT A,ENFANT E,DOM D,AEROPORT_DEP AD WHERE A.date_dep_souh=E.date_dep_souh and A.num_agent=E.num_agent and A.dom_demande = D.num_dom and A.dom_demande ='$destination' and A.ae_depart = AD.num_aero and A.ae_depart = '$vol'" ;
$res = mysql_query($req,$db);
$row = mysql_fetch_array($res);

while ($row = mysql_fetch_array($res))
{

$enfant =0;
$enfant_2 = 0;
$adulte = 1;

if($row[28] == "CELIBATAIRE")
{

$adulte = 1;
}
else
{

$adulte = $adulte+1;

}
$date_dep_parent = $row[21];
$date_dep_parent=substr($date_dep_parent,8,2)."-".substr($date_dep_parent,5,3).substr($date_dep_parent,0,4) ;



$req1 = "SELECT * FROM ENFANT WHERE num_agent=$row[0]";
$resu = mysql_query($req1,$db);

$rang = mysql_fetch_row($resu);
{

$date_nais= $rang[4];
$date_dep= $rang[5];

//---------------------------Recuperation d'un ecart de 2 ans------------------------------------------------------------
$ecart2 = mktime(0,0,0,1,1,1972);

//-----------------Determination de la date de naissance au format PHP-----------------------------------------
list($aNAIS_temp,$mNAIS_temp,$jNAIS_temp) = explode("-",$date_nais);
list($aDEP_temp,$mDEP_temp,$jDEP_temp) = explode("-",$date_dep);

//------------------On enlève les zéros inutiles--------------------------------------------------------------------
$mNAIS = (int) $mNAIS_temp;
$jNAIS = (int) $jNAIS_temp;
$aNAIS = (int) $aNAIS_temp;
$mDEP = (int) $mDEP_temp;
$jDEP = (int) $jDEP_temp;
$aDEP = (int) $aDEP_temp;


//---------------------on calcule les nombre de secondes écoulées------------------------------------------------------
$NAIS = mktime(0,0,0,$mNAIS,$jNAIS,$aNAIS);
$DEP = mktime(0,0,0,$mDEP,$jDEP,$aDEP);

//ON TESTE SI L'ENFANT A MOINS DE DEUX ANS AU MOMENT DU DEPART
if($DEP - $NAIS < $ecart2)
{
$enfant_2 = $enfant_2+1;
}
else
{
$enfant = $enfant+1;
}
}

?>

<tr>

<td><?php print $date_dep_parent ?></td>
<td><?php print $adulte ?></td>
<td><?php print $enfant ?></td>
<td><?php print $enfant_2 ?></td>
<td>
<?php $total=$date_dep_parent+$adulte+$enfant+$enfant_2;?>
<?php print $total?>

_______________________
Aucun
 
Réponse à : Pb d'affichage     Posté le 29/12/2004 à 14:59
sky
Administrateur
Avatar
Site perso
4188 posts
Inscrit le : 13/08/2003
Ok, lol, pas facile à comprendre je trouve.

Pkoi tu remplacerai pas les $rang[N] par $rang[NomDuChamp] ? On y verrai plus claire.

Ensuite, au lieux de faire $var=var+1, tu devrai écrire $var++;

Si tu écrit ceci :
if($row[28] == "CELIBATAIRE")
{

$adulte = 1;
}
else
{

$adulte = $adulte+1;

}

Tu pourrai aussi mettre
if($row[28] == "CELIBATAIRE")
{

$adulte = 1;
}
else
{

$adulte = 2;

}

Ensuite, si tu fais un echo de $DEP et $NAIS, au milieu du code et à la fin, ça donne quoi?

Sky

_______________________
Graphiks : Cours PHP
Image
=> à quoi sert internet explorer ?
=> à télécharger firefox
 
Réponse à : Pb d'affichage     Posté le 29/12/2004 à 15:02
foluia
Membre
Avatar
Site perso
342 posts
Inscrit le : 18/12/2004
hum, je ne comprends pas tout ton code, et ceci n'est peut etre qu'une partie du code entier, ce qui explique pourquoi il manque } pour fermer le while et } pour fermer le if du début.

au début tu mets
" if ($destination && $vol)"
tu entends par là "si les variables $destination et $vol existent ?"
si c'est bien cela, j'aurais mis
if (isset($destination) $$ isset($vol))
smiley

_______________________
Je vous dois un grand merci pour tout ce que j ai apris et pour le temps que vous passez pour moi.
 
Réponse à : Pb d'affichage     Posté le 29/12/2004 à 15:19
lida
Membre
Avatar
18 posts
Inscrit le : 1/12/2004
sky,
pour le nb d'adultes ca ne change pas et ca marche
pour le $NAIS :
650412000
1041375600
1041375600
2 fois car pour le 2eme agent la ligne est double!!!!!!!
pour mieux comprendre voici le code en entier ceci apres avoir selectionné 3 menu déroulant campagne, destination et vol

<?
$requete="SELECT par_camp_ete,par_camp_hiver FROM PARAM ";
$result=mysql_query($requete,$db);
$line=mysql_fetch_array($result);


$dom="SELECT * FROM DOM D,AGENT A WHERE D.num_dom=A.dom_demande and A.dom_demande ='$destination'";
$res = mysql_query($dom,$db);
$row = mysql_fetch_row($res) ;
$dom_agent = $row[1];



$aero="SELECT * FROM AEROPORT_DEP AED,AGENT A WHERE AED.num_aero=A.ae_depart and AED.num_aero ='$vol'";
$res = mysql_query($aero,$db);
$row = mysql_fetch_row($res);
$aero_agent = $row[1];


?>
<h3><p align="center">
Liste des vols pour la campagne

<?

if ($campagne == "Campagne_ete")
{
print "d'été," ;
}
else
{
print "d'hiver," ;
}

?>
en destination de <? print $dom_agent ?><br>
concernant le vol <? print $aero_agent ?>

</p></h3>
<form method="post" name="F1" action="pv1.php" >
<input type="hidden" name="campagne" value="<?php print($campagne); ?>">
<input type="hidden" name="destination" value="<?php print($destination); ?>">
<input type="hidden" name="vol" value="<?php print($vol); ?>">

<table width="100%" border="1" cellpadding="2" bordercolor="#003366" align="center">
<tr>

<td class="celtab">
<div align="center">Date de départ souhaitée</div>
</td>
<td class="celtab">
<div align="center">Nb de places adultes</div>
</td>
<td class="celtab">
<div align="center">Nb de places enfants</div>
</td>
<td class="celtab">
<div align="center">Nb de places bébés</div>
</td>
<td class="celtab">
<div align="center">Nb de places total</div>
</td>
</tr>
<?
if ($destination && $vol)
{

/*$req = "SELECT DISTINCT * FROM AGENT A,ENFANT E,DOM D,AEROPORT_DEP AD WHERE A.date_dep_souh=E.date_dep_souh and A.num_agent=E.num_agent and A.dom_demande = D.num_dom and A.dom_demande ='$destination' and A.ae_depart = AD.num_aero and A.ae_depart = '$vol'" ;
$res = mysql_query($req,$db);
$row = mysql_fetch_array($res);*/


$req = "SELECT DISTINCT * FROM AGENT A,ENFANT E,DOM D,AEROPORT_DEP AD WHERE A.date_dep_souh=E.date_dep_souh and A.num_agent=E.num_agent and A.dom_demande = D.num_dom and A.dom_demande ='$destination' and A.ae_depart = AD.num_aero and A.ae_depart = '$vol'" ;
$res = mysql_query($req,$db);
$row = mysql_fetch_array($res);


while ($row = mysql_fetch_array($res))
{

$enfant =0;
$enfant_2 = 0;
$adulte = 1;

if($row[28] == "CELIBATAIRE")
{

$adulte = 1;
}
else
{

$adulte = 2;

}
$date_dep_parent = $row[21];
$date_dep_parent=substr($date_dep_parent,8,2)."-".substr($date_dep_parent,5,3).substr($date_dep_parent,0,4) ;



$req1 = "SELECT * FROM ENFANT WHERE num_agent=$row[0]";
$resu = mysql_query($req1,$db);

$rang = mysql_fetch_row($resu);
{

$date_nais= $rang[4];
$date_dep= $rang[5];

//---------------------------Recuperation d'un ecart de 2 ans------------------------------------------------------------
$ecart2 = mktime(0,0,0,1,1,1972);

//-----------------Determination de la date de naissance au format PHP-----------------------------------------
list($aNAIS_temp,$mNAIS_temp,$jNAIS_temp) = explode("-",$date_nais);
list($aDEP_temp,$mDEP_temp,$jDEP_temp) = explode("-",$date_dep);

//------------------On enlève les zéros inutiles--------------------------------------------------------------------
$mNAIS = (int) $mNAIS_temp;
$jNAIS = (int) $jNAIS_temp;
$aNAIS = (int) $aNAIS_temp;
$mDEP = (int) $mDEP_temp;
$jDEP = (int) $jDEP_temp;
$aDEP = (int) $aDEP_temp;


//---------------------on calcule les nombre de secondes écoulées------------------------------------------------------
$NAIS = mktime(0,0,0,$mNAIS,$jNAIS,$aNAIS);
$DEP = mktime(0,0,0,$mDEP,$jDEP,$aDEP);
print $NAIS;

//ON TESTE SI L'ENFANT A MOINS DE DEUX ANS AU MOMENT DU DEPART
if($DEP - $NAIS < $ecart2)
{
$enfant_2 = $enfant_2+1;
}
else
{
$enfant = $enfant+1;
}
}

?>

<tr>

<td><?php print $date_dep_parent ?></td>
<td><?php print $adulte ?></td>
<td><?php print $enfant ?></td>
<td><?php print $enfant_2 ?></td>
<td>
<?php $total=$date_dep_parent+$adulte+$enfant+$enfant_2;?>
<?php print $total?></td>
</tr>
<?

}
}
?>
</table>


_______________________
Aucun
 
Réponse à : Pb d'affichage     Posté le 29/12/2004 à 16:54
lida
Membre
Avatar
18 posts
Inscrit le : 1/12/2004
pour plus de facilités voici les 2 tables de traitement
je ne sais pas comment faire le code pour compter les bébés avec comme critères :
date_dep_souh(date de départ souhaité) - date_nais_enft(date de naissance de l'enfant) < 2 ans
merci de votre attention

_______________________
Aucun
 
Réponse à : Pb d'affichage     Posté le 29/12/2004 à 16:55
lida
Membre
Avatar
18 posts
Inscrit le : 1/12/2004
voici les 2 tables


# phpMyAdmin MySQL-Dump
# version 2.2.5
# http://phpwizard.net/phpMyAdmin/
# http://phpmyadmin.sourceforge.net/ (download page)
#
# Serveur: localhost
# Généré le : Mercredi 29 Décembre 2004 à 17:51
# Version du serveur: 3.22.32
# Version de PHP: 4.0.4
# Base de données: conbon
# --------------------------------------------------------

#
# Structure de la table AGENT
#

DROP TABLE IF EXISTS AGENT;
CREATE TABLE AGENT (
num_agent int(3) DEFAULT '0' NOT NULL auto_increment,
login varchar(10) NOT NULL,
passe varchar(12) NOT NULL,
nom_agent varchar(20),
prenom_agent varchar(20),
nom_jeune_fille varchar(20),
sexe_agent char(1),
date_nais date,
lieu_nais_agent varchar(40),
adr_agent varchar(50),
codepostal varchar(5),
ville_agent varchar(40),
tel_agent varchar(10),
dir_agent int(2),
bureau_agent varchar(50),
adr_pro_agent varchar(50),
tel_pro_agent varchar(10),
mail_agent varchar(40),
date_perm_nomin date,
date_dern_conge date,
rep_fct date,
date_dep_souh date,
date_ret_souh date,
dom_demande int(2),
ae_depart int(2),
ae_retour int(2),
campagne char(1),
nbEnfants int(2),
conjoint varchar(20),
ministere_agent int(1),
conge_parental enum('O','N') DEFAULT 'N',
disponibilite enum('O','N') DEFAULT 'N',
cg_longue_duree enum('O','N') DEFAULT 'N',
cg_form_init enum('O','N') DEFAULT 'N',
PRIMARY KEY (num_agent)
);

#
# Contenu de la table AGENT
#

INSERT INTO AGENT (num_agent, login, passe, nom_agent, prenom_agent, nom_jeune_fille, sexe_agent, date_nais, lieu_nais_agent, adr_agent, codepostal, ville_agent, tel_agent, dir_agent, bureau_agent, adr_pro_agent, tel_pro_agent, mail_agent, date_perm_nomin, date_dern_conge, rep_fct, date_dep_souh, date_ret_souh, dom_demande, ae_depart, ae_retour, campagne, nbEnfants, conjoint, ministere_agent, conge_parental, disponibilite, cg_longue_duree, cg_form_init) VALUES (1, 'martine', 'martine', 'HALLEY', 'MARTINE', 'verdier', 'F', '1954-03-06', 'paris', 'rue des roses', '91000', 'saclas', '0160896558', 10, 'da', '110 rue de grenelle 75007 paris', '53095', 'martine.halley@education.gouv.fr', '1983-03-09', '2000-02-01', '2000-04-01', '2005-07-01', '2005-09-03', 1, 1, 1, 'E', 2, 'MARIE', 5, 'N', 'N', 'N', 'N'),
(2, 'simone', 'simone', 'CALCAGNO', 'SIMONE', 'laplace', 'F', '1962-07-09', 'melun', 'rue des fleurs', '77000', 'melun', '0160895423', 9, 'DJ', 'rue du bac', '53096', 'simone.calcagno@educ.gouv.fr', '1980-03-02', '1999-02-02', '1999-04-02', '2004-11-01', '2005-01-01', 2, 2, 2, 'H', 2, 'MARIE', 5, 'N', 'N', 'N', 'N'),
(3, 'chantal', 'chantal', 'BOURNAT', 'CHANTAL', 'lisa', 'F', '1960-02-02', 'paris', 'rue des arbres', '75000', 'paris', '0156898754', 4, 'da n2', 'rue de grenelle', '53985', 'chantal@educ.gouv.fr', '1970-02-02', '1998-04-02', '1998-06-02', '2005-07-04', '2005-09-04', 4, 4, 4, 'E', 1, 'MARIE', 2, 'N', 'N', 'N', 'N'),
(4, 'franck', 'franck', 'RECOULES', 'FRANCK', '', 'M', '1960-03-01', 'paris', 'rue des marches', '75000', 'paris', '0160895425', 2, 'dpe5', 'rue du bac', '53098', 'f.recoules@ecuc.fr', '1983-04-03', '1990-07-04', '1990-09-04', '1994-12-07', '1995-02-07', 3, 3, 3, 'H', 0, 'CELIBATAIRE', 2, 'N', 'N', 'N', 'N'),
(5, 'jacqueline', 'jacqueline', 'BALTUS', 'ALINE', '', 'F', '1950-04-02', 'les iles', 'rue des roses', '75000', 'paris', '0155558987', 2, 'dpe', 'rue du bac', '53098', 'jacqueline.baltus@educ.fr', '1983-03-10', '2000-07-03', '2000-09-03', '2004-08-02', '2004-10-05', 1, 1, 1, 'E', 2, 'CELIBATAIRE', 2, 'N', 'N', 'N', 'N');
# --------------------------------------------------------

#
# Structure de la table ENFANT
#

DROP TABLE IF EXISTS ENFANT;
CREATE TABLE ENFANT (
num_agent int(3) DEFAULT '0' NOT NULL,
num_enfant int(2) DEFAULT '0' NOT NULL,
nom_enft varchar(20),
prenom_enft varchar(20),
date_nais_enft date,
date_dep_souh date,
date_ret_souh date,
PRIMARY KEY (num_agent, num_enfant)
);

#
# Contenu de la table ENFANT
#

INSERT INTO ENFANT (num_agent, num_enfant, nom_enft, prenom_enft, date_nais_enft, date_dep_souh, date_ret_souh) VALUES (1, 0, 'halley', 'vero', '1990-08-12', '2005-07-01', '2005-09-03'),
(1, 1, 'halley', 'franck', '1995-02-02', '2005-07-01', '2005-09-03'),
(2, 0, 'calcagno', 'adeline', '1986-01-01', '2004-11-01', '2005-01-01'),
(2, 1, 'calcagno', 'sacha', '1990-08-05', '2004-11-01', '2005-01-01'),
(3, 0, 'bournar', 'annie', '2000-05-02', '2005-07-04', '2005-09-04'),
(5, 0, 'baltus', 'jean', '2003-01-01', '2004-08-02', '2004-10-05'),
(5, 1, 'baltus', 'eric', '1999-03-02', '2004-08-02', '2004-10-05');



_______________________
Aucun
 
Réponse à : Pb d'affichage     Posté le 29/12/2004 à 19:54
Dayd
Moderateur
Avatar
Site perso
140 posts
Inscrit le : 21/08/2003
wow ca c'est du code :)

apparement ton calcul se fait la

      list($aNAIS_temp,$mNAIS_temp,$jNAIS_temp) = explode("-",$date_nais);
        list($aDEP_temp,$mDEP_temp,$jDEP_temp) = explode("-",$date_dep);

//------------------On enlève les zéros inutiles--------------------------------------------------------------------
        $mNAIS = (int) $mNAIS_temp;
        $jNAIS = (int) $jNAIS_temp;
        $aNAIS = (int) $aNAIS_temp;
        $mDEP = (int) $mDEP_temp;
        $jDEP = (int) $jDEP_temp;
        $aDEP = (int) $aDEP_temp;

   
//---------------------on calcule les nombre de secondes écoulées------------------------------------------------------
        $NAIS = mktime(0,0,0,$mNAIS,$jNAIS,$aNAIS);
        $DEP = mktime(0,0,0,$mDEP,$jDEP,$aDEP);
print $NAIS;

    //ON TESTE SI L'ENFANT A MOINS DE DEUX ANS AU MOMENT DU DEPART
        if($DEP - $NAIS < $ecart2) 


ca a l'air logique, je comprends pas trop l'histoire des 0 inutiles, t'es sur d'en a avoir besoin?
enfin je pense pas que ce soit le probleme, surtout que (int) normalemnt c'est pour enlever les chiffres apres la virgule smiley ...

Je continue de flancher...

ps: aucun rapport mais je voulais savoir si tu t'etais pas trompé dans l'ordre année-mois-jour mais apprement personne n'est né apres le 12 d'un quelquonque mois ou pars en vacance apres le 12 d'un quelquonque mois, hum je sais pas si je me fais comprendre smiley

_______________________
Alors moi c'est pas celle morte de rire.
 
Réponse à : Pb d'affichage     Posté le 30/12/2004 à 14:13
lida
Membre
Avatar
18 posts
Inscrit le : 1/12/2004
Bonjour,
bon j'ai repris le code derrière un stagiaire.
l'histoire des 0 inutiles j'en ai besoin si je les retire ca ne marche plus
je suis désolée mais rien ne fonctionne je suis dessus depuis tellement longtemps que je ne vois plus rien
quand je veux afficher un agent qui est célibataire et qui n'a pas d'enfant (c'est possible!!!!) rien ne s'affiche
a l'aide


_______________________
Aucun
 
Réponse à : Pb d'affichage     Posté le 31/12/2004 à 03:11
Dayd
Moderateur
Avatar
Site perso
140 posts
Inscrit le : 21/08/2003
Je voudrais bien t'aider mais alors il me faudrait les codes de ton site smiley

Peut etre qu'un code plus complé permettrai de tester en local...

Enfin en tout cas je fais remonter le post, sinon t'es pas sortie de l'auberge smiley

dis moi c'est toi qui as posté ca ou ton ancien stagiere? :)

*ttp://www.allhtml.com/forum/index.php?t=l&f=3&i=435776

Dayd


_______________________
Alors moi c'est pas celle morte de rire.
 
Réponse à : Pb d'affichage     Posté le 3/01/2005 à 11:07
lida
Membre
Avatar
18 posts
Inscrit le : 1/12/2004
bonjour,
je ne peux pas te donner l'adresse de mon site je suis sur une base de test je sais que je ne suis pas loin mais je ne trouve pas, mon résultat se dupplique 6 fois!!!!!!!!!!!

_______________________
Aucun
 
Vous n'est pas connecté en temps que membre, parceque j'en ai marre du spam, SEUL les membres peuvent poster des messages sur le forum.

Nous  -  Plan du site  -  Informations légale  -  Contact  -  © Graphiks.net