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 :

Optimisation de php [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Sans
    Inscrit en
    Juillet 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Juillet 2019
    Messages : 10
    Par défaut Optimisation de php
    Bonjour,

    le code ci après est fonctionnel, il s'agit d'un moteur de recherche(php) de films par années (pour le moment maquette avec seulement 2 années). Je cherche a optimiser ce code et pourquoi pas voir pour n'effectuer la sélection des réponses à afficher qu'avec 1 condition si possible, c'est à dire que la façon dont j'ai réalisé mon code m'oblige a réécrire (en français) si le résultat est = à 1972 j'affiche les films de 1972 etc.... Mathématiquement parlant j'aimerais plus un truc du genre une équation qui prendrais directement la valeur et ne testerais pas tout avant d'afficher le résultat. Cependant je souhaite conserver ma boucle foreach et non une boucle for.

    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
    <!DOCTYPE>
    <?php
     
    	$filmsList = array(
    		'1972' => '<center><h2> 1 / Les évadés</h2></center> Two imprisoned men bond over a number of years, finding solace and eventual redemption through acts of common decency.
    				<h2> 2 / Les évadés</h2> Two imprisoned men bond over a number of years, finding solace and eventual redemption through acts of common decency.',
    		'1973' => '<h2> Les évadés 2 </h2> Two imprisoned men bond over a number of years, finding solace and eventual redemption through acts of common decency.');
     
    	if (isset ($_GET['Rechercher']))
    	{
    		if (empty ($_GET['annee']))
    		{
    			echo '<h3>Veuillez selectionner au minimum une année pour débuter votre recherche.</h3>';
    		}
    		else
    		{
    			foreach($filmsList as $valeur)
    			{
    			if ($_GET['annee']=='1972')
    				{
    				echo $filmsList[1972];
    				}
    			if ($_GET['annee']=='1973')
    				{
    				echo $filmsList[1973];
    				}
    				break;
    			}
    		}
    	}
    ?>
    <html lang="fr">
    	<head>
    		<meta charset="UTF-8">
    		<title>Catalogue du film</title>
    	</head>
    	<body>
    		<center>
    		<form method="get">
    		<p>Bienvenue, notre site référence les films les plus célèbres de 1970 à 2018.</p>
    				<p>Insérez une année pour consulter les films liés.</p>
    					<TEXTAREA name="annee" rows=1 cols=5 placeholder="Année" maxlength="4" required></TEXTAREA>
    				<p>
    					<input name="Rechercher" type="submit" value="Rechercher">
    				</p>
    		</form>
    		</center>
    	</body>
    </html>

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 514
    Par défaut
    pourquoi tu utilises foreach alors que tu peux accéder directement au tableau $filmsList avec la valeur de l'année ?
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if (empty ($_GET['annee'])){
    	echo '<h3>Veuillez selectionner au minimum une année pour débuter votre recherche.</h3>';
    }
    else{
            echo $filmsList[$_GET["annee"]];
    }

  3. #3
    Membre habitué
    Homme Profil pro
    Sans
    Inscrit en
    Juillet 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Juillet 2019
    Messages : 10
    Par défaut
    Effectivment c'est clairement beaucoup plus rapide...... Cependant il faut que je passe par une foreach

  4. #4
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 514
    Par défaut
    Citation Envoyé par N51500 Voir le message
    Cependant il faut que je passe par une foreach
    Pourquoi ? est-ce que la structure de ton tableau est différente de celle que tu as mis dans le premier post ?

    Sinon si tu as besoin de foreach, tu peux tester ce code
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    foreach($filmsList as $key=>$valeur){
           if ($key==$_GET['annee']){
                echo $valeur;
           }
    }

  5. #5
    Membre habitué
    Homme Profil pro
    Sans
    Inscrit en
    Juillet 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Juillet 2019
    Messages : 10
    Par défaut
    Le tableau est bien celui de mon post même si il n'est pas opti je le garderais je pense. Pour la foreach c'est une condition imposée tout comme rester en GET et non en POST.

    Merci pour le code je vais de se pas le tester cependant une question me tarode : en reprenant ton code pourquoi ne pourrais-t-on pas passer directement par $value (ou $valeur peu importe) plutot que de rajouter $key?


    édit: alors a ma grande surprise le code ne fonctionne qu'en partie c'est à dire qu'il affiche la recherche pour 1972 mais pas 1973 :/

  6. #6
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 514
    Par défaut
    Citation Envoyé par N51500 Voir le message
    pourquoi ne pourrais-t-on pas passer directement par $value (ou $valeur peu importe) plutot que de rajouter $key?
    si on a un tableau comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $tab=array("1972"=>"valeur 1972","1973"=>"valeur 1973");
    Les $key de $tab sont : "1972" et "1973" et les valeurs sont "valeur 1972" et "valeur 1973", alors on doit comparer le $_GET["annee"] avec $key et pas avec $valeur.

    Puis le code est fonctionnel, je l'ai testé avant de le poster... vérifies ce que tu as écrit comme code...

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

Discussions similaires

  1. [SQL-Server] Optimisation Script PHP
    Par JmL40 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 06/05/2014, 18h40
  2. Configuration optimisée de PHP-FPM
    Par Natsirt dans le forum Administration système
    Réponses: 0
    Dernier message: 08/11/2013, 20h43
  3. [MySQL] Optimisation script PHP et Mysql
    Par Invité dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 25/06/2013, 09h39
  4. [PHP 5.4] Optimisation script php
    Par Mardewin dans le forum Langage
    Réponses: 6
    Dernier message: 10/05/2013, 11h35
  5. Réponses: 3
    Dernier message: 28/10/2008, 09h46

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