Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di val
    Registrato dal
    Aug 2002
    Messaggi
    179

    visualizzare numero di articoli affianco a ciascuna categoria

    Salve ragazzi,
    vi scrivo per chiedere un consiglio. Devo realizzare un sito interfacciato con un database e all'interno della tabella ho una moltitudine di articoli appartenenti a categorie differenti. Nella home page del sito devo visualizzare tutte queste categorie con affianco il numero di articoli presenti per ciascuna categoria. Vedi esempio nell'immagine allegata.
    chiedo a voi appunto quale metodo migliore per evitare di "stressare" il database e quale metodo migliore per ottenere il risultato desiderato.
    grazie.
    The world is a vampire

  2. #2
    Utente di HTML.it L'avatar di val
    Registrato dal
    Aug 2002
    Messaggi
    179
    ...
    Immagini allegate Immagini allegate
    The world is a vampire

  3. #3
    Se non ho capito male è una cosa che si risolve con una semplice select...

    Tipo:

    codice:
    SELECT [NomeArticolo], COUNT([NomeArticolo] FROM [NomeTabella] WHERE [Condizioni] GROUP BY [NomeArticolo]
    Quando poi vai a creare la lista metti il primo valore da un lato ed il secondo tra parentesi, come nell'immagine d'esempio.

    Sono fermamente convinto che sia possibile fare ogni cosa. Tutto sta a capire come.

  4. #4
    Utente di HTML.it L'avatar di val
    Registrato dal
    Aug 2002
    Messaggi
    179
    grazie, provo come mi hai suggerito
    The world is a vampire

  5. #5
    Dentro il ciclo Do While del recordset principale fai un SELECT COUNT:

    Codice PHP:
    Set rsContaProdotti Server.CreateObject("ADODB.recordset")
    SQLContaProdotti "SELECT COUNT (ID) FROM TABELLA WHERE SOTTOCATID =" rsSottoCategoria("ID")
    rsContaProdotti.Open SQLContaProdotticonn 
    Poi accanto alla visualizzazione del prodotto metti

    Codice PHP:
    (<% =response.write(rsContaProdotti(0))%>) 
    Ovviamente la SELECT COUNT la devi impostare a seconda di come hai strutturato il tuo DB.

  6. #6
    Uhmm forse è meglio l'altra la mia richiede una SELECT normale eppoi una SELECT COUNT...

  7. #7
    Originariamente inviato da fabiodm75
    Dentro il ciclo Do While del recordset principale fai un SELECT COUNT:

    Codice PHP:
    Set rsContaProdotti Server.CreateObject("ADODB.recordset")
    SQLContaProdotti "SELECT COUNT (ID) FROM TABELLA WHERE SOTTOCATID =" rsSottoCategoria("ID")
    rsContaProdotti.Open SQLContaProdotticonn 
    Poi accanto alla visualizzazione del prodotto metti

    Codice PHP:
    (<% =response.write(rsContaProdotti(0))%>) 
    Ovviamente la SELECT COUNT la devi impostare a seconda di come hai strutturato il tuo DB.
    Scusa, perchè fare due query quando può farne solo una?

    EDIT: Abbiamo postato in contemporanea
    Sono fermamente convinto che sia possibile fare ogni cosa. Tutto sta a capire come.

  8. #8
    Eh si in contemporanea
    ma la tua SELECT com va applicata?
    SELECT *, COUNT(ID) FROM TABELLA....
    mi dà errore di sintassi :master:

  9. #9
    Originariamente inviato da fabiodm75
    Eh si in contemporanea
    ma la tua SELECT com va applicata?
    SELECT *, COUNT(ID) FROM TABELLA....
    mi dà errore di sintassi :master:
    No, non devi fare una select *

    Devi selezionare i campi che vuoi, fare il count() del campo che vuoi contare (un count per ogni campo che vuoi contare) e poi raggruppare.
    Non puoi fare una GROUP BY *.

    Dimmi com'è la query che hai provato, vediamo cosa non va.
    Sono fermamente convinto che sia possibile fare ogni cosa. Tutto sta a capire come.

  10. #10
    Eh no ora ricordo perchè ho utilizzato questa doppia SELECT perchè dovendo interrogare più (4) tabelle era più semplice così, con un'unica SELECT poi si creava troppa confusione...



    Grazie comunque per la disponibilità

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.