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 :

Optimisation de mon code


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Février 2022
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Février 2022
    Messages : 58
    Points : 37
    Points
    37
    Par défaut Optimisation de mon code
    bonjour a tous
    je vous montre ma page web je suis pas pro mai j'ai pu faire ce que je peux :

    Code php : 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
    <?php
    global $WCMp, $wpdb;
    if (is_user_logged_in() && is_user_wcmp_vendor(get_current_user_id())) {
    $vendor = get_wcmp_vendor(get_current_vendor_id());
    $enable_ordering = apply_filters('wcmp_vendor_dashboard_product_list_table_orderable_columns', array('name', 'date'));
    $df_post_status = apply_filters('wcmp_vendor_dashboard_default_product_list_statues', array('publish', 'pending', 'draft'), $vendor);
    $args = apply_filters( 'wcmp_get_vendor_product_list_query_args', array(
                    'posts_per_page' => -1,
                    'offset' => 0,
                    'category' => '',
                    'category_name' => '',
                    'orderby' => 'date',
                    'order' => 'DESC',
                    'include' => '',
                    'exclude' => '',
                    'meta_key' => '',
                    'meta_value' => '',
                    'post_type' => 'product',
                    'post_mime_type' => '',
                    'post_parent' => '',
                    'author' => get_current_vendor_id(),
                    'post_status' => $df_post_status,
                    'suppress_filters' => true
                ), $vendor );
                $tax_query = array();
    $requestData = ( $_REQUEST ) ? wp_unslash( $_REQUEST ) : array();
            $date_start = isset( $_POST['start_date'] ) ? wc_clean( $_POST['start_date'] ) : '';
            $date_end = isset( $_POST['end_date'] ) ? wc_clean( $_POST['end_date'] ) : '';
            $start_date = date('Y-m-d G:i:s', $date_start); //erreur Warning : date() expects parameter 2 to be int, string given in
            $end_date = date('Y-m-d G:i:s', $date_end); // erreur Warning : date() expects parameter 2 to be int, string given in
     
            $args = array(
                'author' => $vendor->id,
                'post_status' => 'any',
                'date_query' => array(
                    array(
                        'after'     => $start_date,
                        'before'    => $end_date,
                        'inclusive' => true,
                    ),
                )
            );
    $vendor_all_orders = apply_filters('wcmp_datatable_get_vendor_all_orders', wcmp_get_orders($args), $requestData, $_POST);
    $vendor_orders = array_slice($vendor_all_orders, $requestData['start'], $requestData['length']); //xxxxxxxxxxx 2 erreur (Notice: Undefined index: in )
     
     $args = array();
     $vendor_subscriptions = WCMp_AFM_Subscription_Integration::get_vendor_subscription_array( $args );
     
     
    ?>
    <div class="col-md-12 all-products-wrapper">
         <?php               
    $products_array = $vendor->get_products($args);
                if (!empty($products_array)) {
                foreach ($products_array as $product_single) {  
    $product = wc_get_product($product_single->ID);
    $edit_product_link = esc_url(wcmp_get_vendor_dashboard_endpoint_url(get_wcmp_vendor_settings('wcmp_edit_product_endpoint', 'vendor', 'general', 'edit-product'), $product->get_id()));
                            if ( function_exists('icl_object_id') ) { // WPML activated
                            $correct_product_id = apply_filters( 'wpml_object_id',$product_single->ID , 'product', false, ICL_LANGUAGE_CODE );
                            if( $correct_product_id != $product_single->ID ){
                                continue; // skip the current loop and go to the next product
                            }
                        }
     
                        if ((current_vendor_can('edit_published_products') && get_wcmp_vendor_settings('is_edit_delete_published_product', 'capabilities', 'product') == 'Enable') || in_array($product->get_status(), apply_filters('wcmp_enable_edit_product_options_for_statuses', array('draft', 'pending')))) {
                            $edit_product_link = esc_url(wcmp_get_vendor_dashboard_endpoint_url(get_wcmp_vendor_settings('wcmp_edit_product_endpoint', 'vendor', 'general', 'edit-product'), $product->get_id()));
                        }
                        if(!current_vendor_can('edit_product') && in_array($product->get_status(), apply_filters('wcmp_enable_edit_product_options_for_statuses', array('draft', 'pending')))) $edit_product_link = '';
                        $edit_product_link = apply_filters('wcmp_vendor_product_list_product_edit_link', $edit_product_link, $product);
                        // Get actions
                        $onclick = "return confirm('" . __('Are you sure want to delete this product?', 'dc-woocommerce-multi-vendor') . "')";
                        $view_title = __('View', 'dc-woocommerce-multi-vendor');
                        if (in_array($product->get_status(), array('draft', 'pending'))) {
                            $view_title = __('Preview', 'dc-woocommerce-multi-vendor');
                        }
    $date = '&ndash;';
                        if ($product->get_status() == 'publish') {
                            $status = __('Published', 'dc-woocommerce-multi-vendor');
                            $date = wcmp_date($product->get_date_created('edit'));
                        } elseif ($product->get_status() == 'pending') {
                            $status = __('Pending', 'dc-woocommerce-multi-vendor');
                        } elseif ($product->get_status() == 'draft') {
                            $status = __('Draft', 'dc-woocommerce-multi-vendor');
                        } elseif ($product->get_status() == 'private') {
                            $status = __('Private', 'dc-woocommerce-multi-vendor');
                        } elseif ($product->get_status() == 'trash') {
                            $status = __('Trash', 'dc-woocommerce-multi-vendor');
                        } else {
                            $status = ucfirst($product->get_status());
                        }  
     
     
     
     ?>
    le code fonctionne parfaitement par contre j'ai 4 erreur qui s'affichent
    1 erreur qui se répète 2 fois (Notice: Undefined index: in ) sur la ligne 43
    $vendor_orders = array_slice($vendor_all_orders, $requestData['start'], $requestData['length']);,

    et 2 erreur (Warning: date() expects parameter 2 to be int, string given in ) sur deux lignes
    $start_date = date('Y-m-d G:i:s', $date_start); ligne 28
    $end_date = date('Y-m-d G:i:s', $date_end); ligne 29

    j'ai fait plusieurs recherche et j'ai pas pu trouver une solution
    je suis pas non plus un professionnel donc si vous pouvez me dire comment je peux optimiser mon code ou si j'ai fait quelque bêtise je vous serai reconnaissant de me les corriger
    au final je vous remercie beaucoup pour vos aides

  2. #2
    Membre habitué Avatar de ane-mais
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2022
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2022
    Messages : 37
    Points : 162
    Points
    162
    Par défaut
    Citation Envoyé par TH3ROOT Voir le message
    le code fonctionne parfaitement par contre j'ai 4 erreur qui s'affichent
    1 erreur qui se répète 2 fois (Notice: Undefined index: in ) sur la ligne
    $vendor_orders = array_slice($vendor_all_orders, $requestData['start'], $requestData['length']);

    et 2 erreur (Warning: date() expects parameter 2 to be int, string given in ) sur les deux lignes
    $start_date = date('Y-m-d G:i:s', $date_start);
    $end_date = date('Y-m-d G:i:s', $date_end);
    Bonjour,
    Un code qui renvoit des erreurs n'est pas un code qui fonctionne parfaitement !
    1. En décomposant la formule sur plusieurs lignes, vous saurez où est l'erreur, il vous suffira ensuite de déterminer pourquoi l'index est indéfini.
    2. la fonction date() attend un nombre et vous lui donnez du texte.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Février 2022
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Février 2022
    Messages : 58
    Points : 37
    Points
    37
    Par défaut
    merci pour votre repense mai si je modifie une seul ligne le code fonctionnera plus pouvez vous me dire commet corriger ces erreurs svp ?

  4. #4
    Membre habitué Avatar de ane-mais
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2022
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2022
    Messages : 37
    Points : 162
    Points
    162
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $vendor_orders = array_slice($vendor_all_orders, $requestData['start'], $requestData['length']);
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $vendor_orders = 
    array_slice(
    $vendor_all_orders, 
    $requestData['start'], 
    $requestData['length']);
    n'est ce pas la même chose ?

    Si oui, l'erreur indiquera LA mauvaise ligne.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Février 2022
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Février 2022
    Messages : 58
    Points : 37
    Points
    37
    Par défaut
    merci pour votre repense les deux erreurs sont sur ces deux variables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $requestData['start'], 
    $requestData['length']);
    le problème c'est que le code est déjà prêt c'est pas moi qui la fait et il fonctionne sur l'autre page sur celle si aussi l'affichage voulu fonctionne parfaitement mai el supprimant ces deux valeurs sa ne fonctionne plus(Warning
    : array_slice() expects at least 2 parameters, 1 given in
    ) j'aimerai que vous me dites comment l'adapter avec le reste si c'est possible svp

  6. #6
    Membre habitué Avatar de ane-mais
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2022
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2022
    Messages : 37
    Points : 162
    Points
    162
    Par défaut
    Citation Envoyé par TH3ROOT Voir le message
    ... le problème c'est que le code est déjà prêt c'est pas moi qui la fait et il fonctionne sur l'autre page ...
    Le contraire m'aurait étonnée !

    Avant de pomper le travail des autres, il est indispensable de savoir ce que l'on fait, et le cas échéant, s'instruire et chercher dans la documentation du langage comme :


    Bonne continuation

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Février 2022
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Février 2022
    Messages : 58
    Points : 37
    Points
    37
    Par défaut
    je travaille rarement en PHP et je connais un peux les bases.
    le code fait tout a fait bien l'affaire et les erreurs ne s'affichent que en mode debug et d'après mes recherche se sont pas des erreurs critique.
    si j'ai posté le code final ici c'est pour avoir votre avis d'expert qui peuvent m'aider grâce aux long années dans le domaine qui peuvent me faire gagner un temp fous pour lire tout ces liens que vous venez de m'envoyer
    au final je vous remercie pour vos repense et je vous souhaite une bonne continuation

Discussions similaires

  1. Optimisation de mon code
    Par Souriane dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/07/2020, 12h35
  2. [MySQL] Optimisation de mon code utilisant simple xml
    Par heretik25 dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 05/08/2011, 20h13
  3. Optimisation de mon code
    Par ordner dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 06/03/2009, 16h19
  4. Optimisation de mon code ActionScript
    Par amnesias dans le forum Flash
    Réponses: 9
    Dernier message: 01/04/2007, 22h04
  5. Optimiser mon code ASP/HTML
    Par ahage4x4 dans le forum ASP
    Réponses: 7
    Dernier message: 30/05/2005, 10h29

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