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

Langage PHP Discussion :

peut-on coder de cette façon


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 9
    Par défaut peut-on coder de cette façon
    Salut à tous !
    Le forum m'aide beaucoup sur mes cours en php et une question me preoccupe depuis un moment.
    Peut-on se connecter à la base de donnés et terminer le code sans se deconnecter?
    comme l'exemple ci-dessous:
    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
    <?php
    mysql_connect("localhost", "root", "");
    mysql_select_db("coursphp");
     
    // Vérification 1 : est-ce qu'on veut poster une news ?
     
    if (isset($_POST['titre']) AND isset($_POST['contenu']))
    {
        $titre = addslashes($_POST['titre']);
        $contenu = addslashes($_POST['contenu']);
     
        if ($_POST['id_news'] == 0)
        {
     
            mysql_query("INSERT INTO news VALUES('', '" . $titre . "', '" . $contenu . "', '" . time() . "')");
        }
        else
        {
     
            $_POST['id_news'] = addslashes($_POST['id_news']);
     
            mysql_query("UPDATE news SET titre='" . $titre . "', contenu='" . $contenu . "' WHERE id='" . $_POST['id_news'] . "'");
        }
    }
     
     
    // Vérification 2 : est-ce qu'on veut supprimer une news ?
     
    if (isset($_GET['supprimer_news'])) // Si on demande de supprimer une news
    {
     
        $_GET['supprimer_news'] = addslashes($_GET['supprimer_news']);
        mysql_query('DELETE FROM news WHERE id=\'' . $_GET['supprimer_news'] . '\'');
    }
    ?>
    <table><tr>
    <th>Modifier</th>
    <th>Supprimer</th>
    <th>Titre</th>
    <th>Date</th>
    </tr>
    <?php
    $retour = mysql_query('SELECT * FROM news ORDER BY id DESC');
    while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les news
    {
    ?>
    <tr>
    <td><?php echo '<a href="rediger_news.php?modifier_news=' . $donnees['id'] . '">'; ?>Modifier</a></td>
    <td><?php echo '<a href="liste_news.php?supprimer_news=' . $donnees['id'] . '">'; ?>Supprimer</a></td>
    <td><?php echo stripslashes($donnees['titre']); ?></td>
    <td><?php echo date('d/m/Y', $donnees['timestamp']); ?></td>
    </tr>
    <?php
    } // Fin de la boucle qui liste les news
    ?>
    </table>
    </body>
    </html>

  2. #2
    Membre émérite Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Par défaut
    Salut,

    Tout a fait.

    L'arrêt du script php mettra fin à la connexion.

    Le seul cas où il faut faire attention à sa gestion des connexions bdd est le cas d'une connexion persistante.

    Dans mes développements, je me contente de libérer les jeux de résultats via un mysql_free_result().

  3. #3
    Membre éprouvé

    Femme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Décembre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Décembre 2007
    Messages : 67
    Billets dans le blog
    1
    Par défaut
    C'est dans l'esprit plus propre de se déconnecter systématiquement même si tu peux tout à fait t'en passer.

    En fait c'est pas l'arrêt de ton script php qui va te déconnecter ou non de la base mais plutôt un délai d'inactivité sur la connexion à la base de donnée qui va faire que le serveur va fermé la connexion.

    Par contre il n'y pas de risque de connexions multiples dans le cas d'appels successifs à ton script PHP car mysql_connect ouvre ou bien réutilise une connection existante.

    Donc pas d'inquiétude, tout va bien ;-)

  4. #4
    Membre émérite Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Par défaut
    Citation Envoyé par exterieur Voir le message
    En fait c'est pas l'arrêt de ton script php qui va te déconnecter ou non de la base mais plutôt un délai d'inactivité sur la connexion à la base de donnée qui va faire que le serveur va fermé la connexion.
    J'ai regardé dans la doc car tu m'avais mis le doute mais je réitère mes propos en concordance avec la documentation.

    mysql_connect()

  5. #5
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2007
    Messages : 121
    Par défaut
    Je plussoie la réponse de FCYPBA.
    Note: La connexion au serveur sera fermée aussitôt que l'exécution du script se termine, à moins qu'elle soit fermée avant en appelant explicitement mysql_close().
    De plus, des fonctions non officielles gérant les requetes SQL existent.
    Je le précise car encore beaucoups utilisent de manière récurentes mysql_connect et autres fonctions de gestion de MySQL qui sont très basiques et inutilemenr répétées

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

Discussions similaires

  1. Votre avis sur cette façon de coder un MVC
    Par yvon_huynh dans le forum Langage
    Réponses: 2
    Dernier message: 09/11/2014, 19h00
  2. Un chef de projet peut-il coder ?
    Par brice01 dans le forum Emploi
    Réponses: 93
    Dernier message: 19/11/2008, 17h09
  3. [XSL] Comment faire pour trier de cette façon ?
    Par shupa dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 30/06/2005, 17h39
  4. Réponses: 3
    Dernier message: 06/05/2002, 18h24

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