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 :

envoyer ses données Mysql de façon propre


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Etudiant en alternance
    Inscrit en
    Février 2011
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant en alternance

    Informations forums :
    Inscription : Février 2011
    Messages : 75
    Par défaut envoyer ses données Mysql de façon propre
    Bonjour à tous

    je me permet de vous solliciter afin de trouver la meilleure solution.

    Mon soucis :

    J'ai une page HTML permettant à l'utilisateur de faire une recherche, les données du formulaire sont envoyées dans ma page de traitement.php qui ressort les données de ma base donc après est ce que la meilleure solus serait de faire des sessions et d'envoyer ces données dans une autre pages pour avoir une belle présentation de ce que l'utilisateur recherche ?

    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
     
    <?php
    include("inc_connexion.php");
    connexion();
    $maconnexion=connexion();
     
     
    $condition=" ";
     
     
    if(($_POST['datedeb'])!="")
    {
    	if(($_POST['datefin'])!="")
    	{
    		$condition= $condition."date between '".$_POST['datedeb']."'";
    	}
    	else
    	{
    		$condition= $condition."date = '".$_POST['datedeb']."'";
    	}
    }
     
     
    if(($_POST['datefin'])!="")
    {
    	if(($_POST['datedeb'])!="")
    	{
    		$condition= $condition."and '".$_POST['datefin']."'";
    	}
    	else
    	{
    		$condition= $condition."date = '".$_POST['datefin']."'";
    	}
    }
     
     
    if(($_POST['application'])!="")
    {
    	if((($_POST['datedeb'])=="") && (($_POST['datefin'])==""))
    	{
    		$condition= $condition."application = '".$_POST['application']."'";
    	}
    	else
    	{
    		$condition= $condition."and application = '".$_POST['application']."'";
    	}
    }
     
     
    if(($_POST['motsclefs'])!="")
    {
    	if((($_POST['datedeb'])=="") && (($_POST['datefin'])=="") && (($_POST['application'])==""))
    	{
    		$condition= $condition."motsclefs = '".$_POST['motsclefs']."'";
    	}
    	else
    	{
    	$condition= $condition."and motsclefs = '".$_POST['motsclefs']."'";
    	}
    }
     
     
    echo $sql="select* from compte_rendu where $condition";
    $resultat=mysql_query($sql, $maconnexion);
     
    $sql2="select count(*) as nbresultat from compte_rendu where $condition";
    $resultat2=mysql_query($sql2, $maconnexion);
    $ligne2=mysql_fetch_array($resultat2);
     
    echo $ligne2['nbresultat'];
     
    while ($ligne=mysql_fetch_array($resultat))
    {
    echo "<a href='".$ligne['piecejointe']."' onclick='window.open(this.href); return false;' >Ouvrir la pièce jointe</a>";
    echo $ligne['date'];
    echo $ligne['application'];
    echo $ligne['motsclefs'];
     
    }
     
    header("Location:resultat.php");//redirection sur la page web
    ?>

  2. #2
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Stocker les critères de recherche sur session pour faire un genre d'historique, pourquoi pas. Mais pourquoi mettre sur session les résultats de recherche ? Affiche les tout simplement !

    En fait, ton pb vient du fait que tu effectue une redirection. Mais je ne vois pas dans quel but... ton script pourrait tout aussi bien afficher directement les résultats tu ne crois pas ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Etudiant en alternance
    Inscrit en
    Février 2011
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant en alternance

    Informations forums :
    Inscription : Février 2011
    Messages : 75
    Par défaut
    merci de ta réponse Benjamin Delespierre.
    Bah enfaite je voudrais séparer le php et html au maximum c'est pour cela que je fais une redirection sur une autre page, mais si la meilleure solus est de rester sur la page de traitement.

  4. #4
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Ce n'est pas vraiment ça qu'on entends par séparer le PHP du HTML.

    Voici comment on sépare correctement les traitements de la présentation:
    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
    <?php
     
    // partie traitement
     
    $valeurs = array('a','b','c');
     
    ?>
    <!DOCTYPE HTML>
    <html lang="en-US">
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <!-- partie affichage -->
        <?php foreach ($valeurs as $valeur): ?>
        <span><?php echo $valeur ?></span>
        <?php endforeach ?>
    </body>
    </html>
    A noter que j'ai utilisé la syntaxe alternative, je t'enjoins à faire de même

    Après, si ce que tu veux c'est avoir une page de traitements et une page de présentation séparés (à des fins de réutilisation du code que je soutiens totalement), tu peux tout simplement gêrer ça avec des includes.
    Pour aller plus loin, tu peux aussi te renseigner sur le pattern MVC qui prône un découpage complet de l'application.

    D'une manière générale voici quelques articles sur la question:
    - http://tahe.developpez.com/web/php/mvc/
    - http://en.wikipedia.org/wiki/Model%E...0%93controller
    - http://en.wikipedia.org/wiki/Multitier_architecture

  5. #5
    Membre confirmé
    Homme Profil pro
    Etudiant en alternance
    Inscrit en
    Février 2011
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant en alternance

    Informations forums :
    Inscription : Février 2011
    Messages : 75
    Par défaut
    Quels sont les avantages d'un développement avec un syntaxe alternative?

  6. #6
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Eviter de polluer l'indentation HTML et surtout ça permet d'éviter de semer des { et } un peu partout, quand ça devient légèrement complexe, on ne sait vite plus ou les blocs commencent et se terminent. Avec la syntaxe alternative, plus de problème, ça devient presque aussi naturel que des noeuds habituels, un peu comme si tu faisait <foreach></foreach> sauf que c'est <?php foreach: ?> <?php endforeach ?>

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

Discussions similaires

  1. [MySQL] Envoyer e-mail avec traitement données MySQL
    Par Little_flower dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 02/10/2007, 10h30
  2. [MySQL] Envoyer les données d'un CSV dans une BDD Mysql
    Par guyfoot dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 24/09/2007, 07h13
  3. Réponses: 4
    Dernier message: 30/01/2007, 14h42
  4. Réponses: 3
    Dernier message: 19/09/2006, 15h36
  5. Envoyer des données mysql vers Excel
    Par thierry198 dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 09/11/2005, 19h59

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