IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

[MySQL] problème de temps [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 29
    Points : 11
    Points
    11
    Par défaut [MySQL] problème de temps
    Bonjour, après avoir lancer ma page et toute les requêtes qu'il s'y trouve voilà le message d'erreur que je reçois...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: Maximum execution time of 60 seconds exceeded in /var/web/s072367/public_html/works/bd_modifier_membre.php on line 56
    voilà ma page de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    <html>
    <head><title>Base de Donnée Royal HEC Football Club</title></head>
    <body link=blue vlink=red>
    <center><h1>Formulaire de modification d'un membre</h1> </center>
     
    <h3> Affichage d'information du membre et choix des modifications que l'on veut apporter </h3>
    </br></br>
     
    <?php
     
    #Introduction des variables encodés ds la page "modifier_membre.php"
    $name=$_POST['nom'];
    $surname=$_POST['prenom'];
    $borndatum=$_POST['datenaissance'];
    $borndatumMySQL = date('y-m-d',$borndatum); /* on met le format de la date entrer au format du language sql date (auquel il est encodé dans la base de donnée) */
     
    #Connexion au server
    $db_user = $_SERVER['DB_USER'];
    $db="eheins_$db_user";
    $db_pass = $_SERVER['DB_PASS'];
    $db_host = 'localhost';
    $link= mysql_connect($db_host, $db_user, $db_pass);
     
    #Message d'erreur si connexion impossible
    if (! $link)
    die("Couldn't connect to MySQL");
     
    #Connexion à la base de donnée et Message d'erreur si impossible de se connecter à la base de données
    mysql_select_db($db , $link) or die("Select Error: ".mysql_error());
     
    #Requête SQL ou afficher erreur
    $sql="SELECT nom, prenom, telephone, datenaissance, maillot, disponibilite, nationpersonne.nationalite, rue, numero, code_postal, ville, nationdomicile.pays, libellefonction, libellefamille
    FROM personnes as p
    LEFT JOIN personnedomicile as pd ON p.idpersonne=pd.idpersonne
    LEFT JOIN domiciles as d ON d.iddomicile=pd.iddomicile
    LEFT JOIN nations as nationdomicile ON d.idnation=nationdomicile.idnation
    LEFT JOIN nations as nationpersonne ON p.idnation=nationpersonne.idnation
    LEFT JOIN personnefonction as pf ON p.idpersonne=pf.idpersonne
    LEFT JOIN fonctions as f ON f.codefonction=pf.codefonction
    LEFT JOIN famillesfonctions as ff ON f.codefonction=ff.codefonction
    WHERE nom='$name' and prenom='$surname' and datenaissance='$borndatum'
    ";
     
    #requête envoyé
    $result=mysql_query($sql)
    or die ("requete invalide : ".mysql_error());
     
    $num=mysql_num_rows($result);
     
    #déclaration des variables obtenu par la selection (la requete "result")
    $i=o;
     
    while ($i<$num)
    {
    $nom=mysql_result($result,$i,"nom");
    $prenom=mysql_result($result,$i,"prenom");
    $telephone=mysql_result($result,$i,"telephone");
    $datenaissance=mysql_result($result,$i,"datenaissance");
    $maillot=mysql_result($result,$i,"maillot");
    $disponibilite=mysql_result($result,$i,"disponibilite");
    $nationalite=mysql_result($result,$i,"nationalite");
    $rue=mysql_result($result,$i,"rue");
    $numero=mysql_result($result,$i,"numero");
    $code_postal=mysql_result($result,$i,"code_postal");
    $ville=mysql_result($result,$i,"ville");
    $pays=mysql_result($result,$i,"pays");
    $fonction=mysql_result($result,$i,"libellefonction");
    $famille=mysql_result($result,$i,"libellefamille");
    }
     
    #appel de la clé primaire
    $id=msql_insert_id($result);
     
    print "<table width=1000 align=center cellpadding=20 cellspacing=2 Border=5 bgcolor=white>";
    print "<tr align=center valign=top><center><h3> Information du membre en question </h3></center></tr>";
     
    print "<tr align=center valign=top><td>Nom</td><td>$nom</td></tr>";
     
    print "<tr align=center valign=top><td>Prenom</td><td>$prenom</td></tr>";
     
    print "<tr align=center valign=top><td>Telephone</td><td>$telephone</td></tr>";
     
    print "<tr align=center valign=top><td>Date de naissance</td><td>$datenaissance</td></tr>";
     
    print "<tr align=center valign=top><td>Maillot</td><td>$maillo</td></tr>";
     
    print "<tr align=center valign=top><td>Disponibilite</td><td>$disponibilite</td></tr>";
     
    print "<tr align=center valign=top><td>Nationalite</td><td>$nationalite</td></tr>";
     
    print "<tr align=center valign=top><td>Adresse</td><td>$rue</td></tr>";
     
    print "<tr align=center valign=top><td>Numero</td><td>$numero</td></tr>";
     
    print "<tr align=center valign=top><td>Code postal</td><td>$code_postal</td></tr>";
     
    print "<tr align=center valign=top><td>ville</td><td>$ville</td></tr>";
     
    print "<tr align=center valign=top><td>Pays</td><td>$Pays</td></tr>";
     
    print "<tr align=center valign=top><td>Type de membre</td><td>$famille</td></tr>";
     
    for($i=0; $i<$num;$i++)
    {
    print "<tr align=center valign=top><td>fonction</td><td>$fonction</td></tr>";
    }
     
    print "</table> /n <br>";
     
    #Fermeture de la connexion au server
    mysql_close($link);
    ?>
     
    <form method="POST" action="modifier_informations.php">
    <input type="submit" value="Modifier les informations du membre">
    </br>
    <form method="POST" action="modifier_fonctions.php">
    <input type="submit" value="Modifier les fonctions du membre">
    </br>
    <form method="POST" action="modifier_domicile.php">
    <input type="submit" value="Modifier le domicile du membre">
    </br>
    <form method="POST" action="modifier_informations_domicile.php">
    <input type="submit" value="Modifier les informations du membre et son domicile">
     
    </br>
    </br>
     
    <form method="POST" action="modifier_membre.php">
    <input type="submit" value="Modifier">
    </br>
    <form method="POST" action="membres.php">
    <input type="submit" value="Retour a la page des membres">
    </br>
    <form method="POST" action="interface.php">
    <input type="submit" value="Interface">
    </form>
    </body>
    </html>
    c'est du costaud, je m'en doute, mais obligé d'utiliser uniquement les fonctions vu avec le prof,

    Merci de votre soutient, et de votre aide...

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 104
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 104
    Points : 8 222
    Points
    8 222
    Billets dans le blog
    17
    Par défaut
    Dans ton while( ) $i n'incrément jamais et est donc toujours inférieur à 0 (et non "o", attention).
    Bouh je m'emmêle les pinceaux, je reprends :

    Dans ton while( ) $i n'incrémente jamais et est donc toujours inférieur à $num, ce qui donne une boucle sans fin.
    Attention, tu initialises $i avec o et non 0.

    Le PS tient toujorus
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 29
    Points : 11
    Points
    11
    Par défaut
    Merci beaucoup,

    Dis pour la même page toujours de programmation,

    J'ai mis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for($i=0; $i<$num;$i++)
    pour un $num

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $num=mysql_num_rows($result);
    mon intention était en faite, que pour un même nom, il affiche plusieurs lignes (d'ou mon "select") avec les différentes fonctions du joueur

    Bref exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Nicolas        Datenaissance   003     Liège     non      Attaquant   
    Nicolas        Datenaissance   003     Liège     non      Milieu complémentaire
    Tu comprends?

    Et finalement, j'espérais que avec le for je n'afficherais plus que dans la table

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Nom      Nicolas
    Date     datenaissance
    num      003
    Ville      Liège
    Disp      non
    Fction   attaq
    Fction    Milieu complémentaire
    comprends tu ce que je veux faire? j'ai fortement schématiser...

    Merci de ton aide encore

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 104
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 104
    Points : 8 222
    Points
    8 222
    Billets dans le blog
    17
    Par défaut
    Ok, donc en pseudo-code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    numPrécédent = NULL
    PourChaque enregistrement de ta requête
        Si numPrécédent != enregistrement.num Alors
            Afficher infos générales
            Afficher fonction
            numPrécédent = enregistrement.num
        Sinon
            Afficher fonction
        FinSi    
    FinPourChaque
    ... je n'affiche que la fonction si le joueur courant a déjà été affiché précédemment, sinon j'affiche l'ensemble.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 29
    Points : 11
    Points
    11
    Par défaut
    Dis je ne comprend pas bien :s désolé,

    Tu sais me le mettre en language php?

    Pour que je comprenne mieux, si ça ne te dérange pas bien sûr (car je ne suis pas un informaticien, je n'ai qu'un petit cours, et je galère là lol).

    Merci beaucoup

  6. #6
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 104
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 104
    Points : 8 222
    Points
    8 222
    Billets dans le blog
    17
    Par défaut
    Ne comprenant pas ton script je ne pourrais pas adapter le pseudo-code à ton cas, par contre je suis tout dispo à te corriger en cas de difficultés.
    En ce qui concerne la compréhension du pseudo-code n'hésite pas à prendre un crayon, une feuille et à le faire "tourner", ça devrait t'éclaircir.
    Bon dév
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 29
    Points : 11
    Points
    11
    Par défaut
    Ok, merci bien, j'y réfléchis...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/09/2009, 08h30
  2. [connexion Mysql] problème de connexion avec l'odbc
    Par DarkAngelus dans le forum Administration
    Réponses: 2
    Dernier message: 13/10/2005, 11h24
  3. [requete] Mysql problème de clause where
    Par Raideman dans le forum Langage SQL
    Réponses: 4
    Dernier message: 20/07/2005, 18h00
  4. Réponses: 5
    Dernier message: 09/05/2005, 12h24
  5. [EJB2.1 Entity] [CMP] [MySQL] Problème avec clé primaire en auto increment
    Par tery dans le forum Java EE
    Réponses: 6
    Dernier message: 16/07/2004, 11h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo