Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. select con where
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • P
      prinzart User Attivo • ultima modifica di

      select con where

      ciao a tutti,
      avrei bisogno di selezionare i record in questo modo:

      (cioè selezionare gli articoli Beauty degli ultimi 10 giorni + gli articoli Solari degli ultimi 10 giorni + gli articoli Soin degli ultimi 10 giorni)

      articolo1 - sottocategoria Beauty - 03-09-2015
      articolo2 - sottocategoria Beauty - 03-09-2015

      articolo7 - sottocategoria Solari - 01-09-2015
      articolo12 - sottocategoria Solari - 01-09-2015
      articolo15 - sottocategoria Solari - 25-08-2015

      articolo34 - sottocategoria Soin - 24-08-2015
      articolo42 - sottocategoria Soin - 25-08-2015

      (invece quello che fa la mia query è quella di selezionare gli ultimi articoli in generale degli ultimi 10 giorni)

      articolo1 - sottocategoria Beauty - 03-09-2015
      articolo2 - sottocategoria Beauty - 03-09-2015

      articolo3 - sottocategoria Beauty - 03-09-2015
      articolo4 - sottocategoria Beauty - 02-09-2015
      articolo5 - sottocategoria Beauty - 02-09-2015

      articolo6 - sottocategoria Beauty - 01-09-2015
      articolo7 - sottocategoria Solari - 01-09-2015

      come posso fare?
      Thanks

      Questa è la query:

      $data_attuale = date("Y-m-d");
      $ora_attuale = date("H:i:s");

      $query_articolo="SELECT c_art_sottocategoria., c_art_articolo.,
      DATE_FORMAT(c_art_articolo.data_evento, '%d-%m-%Y') AS data_evento2

      FROM c_art_articolo

      INNER JOIN c_art_sottocategoria
      ON c_art_articolo.id_art_sottocategoria = c_art_sottocategoria.id_art_sottocategoria

      WHERE c_art_articolo.id_art_categoria = '$idcategoria'

      AND c_art_articolo.photogallery = 'no'
      AND c_art_articolo.id_art_posizione_home != '1'
      AND c_art_articolo.id_art_posizione_sottohome != '1'

      AND c_art_articolo.articolo_lingua_it = 'si'

      AND ((c_art_articolo.data_evento < '$data_attuale')
      OR (c_art_articolo.data_evento = '$data_attuale'
      AND c_art_articolo.ora_pubblicazione <= '$ora_attuale'))

      AND c_art_articolo.data_evento > (NOW() - INTERVAL 10 DAY)

      ORDER BY c_art_articolo.data_evento DESC";

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • M
        masterblank User • ultima modifica di

        puoi postare la struttura della tabella dalla quale vuoi estrarre i dati?

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • P
          prinzart User Attivo • ultima modifica di

          certo, grazie:

          id_art_articolo
          data_evento
          ora_pubblicazione
          articolo_lingua_it
          id_art_categoria
          id_art_sottocategoria
          id_art_posizione_home
          id_art_posizione_sottohome
          photogallery

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • M
            masterblank User • ultima modifica di

            a primo impatto proverei:

            $query_articolo="SELECT * from 'NOME_TABELLA' WHERE data_evento >= ( CURDATE() - INTERVAL 10 DAY ) AND (id_art_sottocategoria = 'beauty' OR id_art_sottocategoria = 'Solari' OR id_art_sottocategoria = 'Soin'";

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • P
              prinzart User Attivo • ultima modifica di

              grazie ma non è quello che vorrei fare io

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • P
                prinzart User Attivo • ultima modifica di

                tu hai solo fatto una una semplice selezione delle sottocategorie

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • shad
                  shad Moderatore • ultima modifica di

                  Ciao,
                  non mi vengono soluzioni più performanti, quindi non posso far altro che suggerirti di fare un ciclo su un array contenente i nomi di tutte le categorie che vuoi ricercare ed eseguire una query con LIMIT 10 per ognuna di esse.

                  In alternativa se usi una versione abbastanza aggiornata di MySql potresti fare un stored procedure che esegue tutto il ciclo. Sarebbe di sicuro più ottimizzato.

                  Se mi vengono in mente altre soluzioni ti faccio sapere.

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • P
                    prinzart User Attivo • ultima modifica di

                    Grazie Shad, pensavo che non ci fosse soluzione, per me andrebbe bene anche un array, basta che funziona.

                    In pratica come dovrei fare? Mi potresti fare un esempio perfavore?

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • shad
                      shad Moderatore • ultima modifica di

                      Scriverti tutto il codice sarebbe troppo articolato per me. Ti dico i passi essenziali:

                      1. prepari un array del tipo: array('Beauty', 'Solari', ecc.)
                      2. Ci fai un ciclo foreach sopra
                      3. per ognuno esegui la query usando LIMIT 10 per farti dare solo i primi 10 risultati

                      Poi dipende da quello che devi fare ma il succo è questo.

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • P
                        prinzart User Attivo • ultima modifica di

                        C'è qualcun altro che mi vuole dare altri consigli?

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • P
                          prinzart User Attivo • ultima modifica di

                          up

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • P
                            prinzart User Attivo • ultima modifica di

                            Ho risolto, senza array.

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • shad
                              shad Moderatore • ultima modifica di

                              Ciao,
                              mi fa piacere che tu abbia risolto.

                              Che ne dici di postare la tua soluzione qualora un domani potesse servire ad altri?

                              Saluti

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • P
                                prinzart User Attivo • ultima modifica di

                                Certo, ho messo una query nidificata dentro un'altra query.

                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                Caricamento altri post
                                Rispondi
                                • Topic risposta
                                Effettua l'accesso per rispondere
                                • Da Vecchi a Nuovi
                                • Da Nuovi a Vecchi
                                • Più Voti