Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di MM88
    Registrato dal
    Jun 2003
    Messaggi
    567

    [PHP] Routine per visualizzazione dati

    Ciao ragazzi, avrei bisogno bisogno di creare una routine per visualizzare l'organico di alcuni uffici in questa maniera:

    Se, per esempio, ci sono 9 impiegati nell'ufficio X, quando un utente clicca il nome dell'ufficio in questione, ho bisogno di una routine che richiami i dati dal db e li visualizzi così:

    - Nome
    - creazione
    - indirizzo + provincia
    - descrizione
    - foto richiamata nel campo link
    - eventuale seconda foto richiamata nel campo link
    - eventuale terza foto richiamata nel campo link
    - creazione di una <TABLE> tabella dinamica (in base al numero degli impiegati) lunga tre celle e alta N celle in base al numero degli impiegati. Nella cella più alta centrale deve apparire la foto del più alto in grado e tutti gli altri a seguire (sempre in base al grado).


    Penso che abbiate già molte delle routine che mi servono, quindi, vi chiedo solo un pò di aiuto per realizzare questa cosa.

    Grazie mille a chiunque possa postare i codici.

  2. #2
    Per prima cosa postaci la struttura del db (in questo modo vediamo meglio la situazione!).
    Poi io non ho capito che vuol dire nome, creazione, indirizzo + provincia, foto?
    Sono dati dell'ufficio?

    Cmq partiamo dal db. Lo ottimizziamo e poi vediamo di fare quello che serve a te. OK? Ciao!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  3. #3
    Utente di HTML.it L'avatar di MM88
    Registrato dal
    Jun 2003
    Messaggi
    567
    Originariamente inviato da mircov
    Per prima cosa postaci la struttura del db (in questo modo vediamo meglio la situazione!).

    grazie per avermi risposto e - hai ragione - dovrei spiegarmi meglio. La struttura della tab è questa:

    1 - Id Uffici
    2 - Nome ufficio
    3 - indirizzo
    4 - provincia
    5 - descrizione
    6 - link a foto 1
    7 - link a foto 2
    8 - link foto 3

    Il problema è che con una JOINT dovrei legare alla visualizzazione dell'ufficio, quella dell'organico.
    La tab dell'organico è questa:

    1) ID impiegati
    2) Grado dell'impiegato nell'organico totale
    3) Nome Impiegato
    4) descrizione competenza
    5) ufficio di appartenenza (ID UFFICI per la JOINT)
    6) link foto impiegato
    7) link foto 2
    8) link alla pagina della scheda dell'impiegato
    9) Grado dell'impiegato nell'organico dell'ufficio di riferimento


    Quindi devo visualizzare i dati della prima tabella come precedentemente descritto, MA - in più - dove compaia l'ID dell'ufficio selezionato in un record della tab mpiegati, la routine deve prendere i dati di questi impiegati e inserire le foto nella <table> avendo come ORDER TO il 9) Grado dell'impiegato nell'organico dell'ufficio di riferimento.


    Quindi, è questo il mio problema: se un utente clicca sul link della 'ufficio X, devo avere una visualizzazione che utilizzi sia i dati della prima sia della seconda tabella.

    In caso non fosse chiaro, posso aggiungere altri particolari. Non penso sia molto difficile ma non so usare le JOINT
    Grazie.

  4. #4
    Innanzi tutto si chiama JOIN e non JOINT!
    Poi non si chiama routine ma query. Chiarito il lessico passiamo alla pratica.

    La query, come giustamente dicevi, deve essere costruita usando join.
    Dovrebbe essere qualcosa del genere

    codice:
    $query = "SELECT `uffici.id` AS uffID ,
                     `uffici.nome` AS uffNome ,
                     `uffici.indirizzo` AS indirizzo ,
                     `uffici.provincia` AS prov ,
                     `uffici.descrizione` AS desc ,
                     `uffici.foto1` AS foto1 ,
                     `impiegati.id` AS impID ,
                     `impiegati.ufficio` AS ufficio
                FROM `uffici`
           LEFT JOIN `impiegati` ON impiegati.ufficio = uffici.id
               WHERE uffici.id = '$id_passato_da_variabile'";
    Dovrebbe essere più o meno così.
    Devi adattarla ai nomi dei tuoi campi e selezionare anche gli altri dati.
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  5. #5
    Utente di HTML.it L'avatar di MM88
    Registrato dal
    Jun 2003
    Messaggi
    567

    codice:
    $query = "SELECT `uffici.id` AS uffID ,
                     `uffici.nome` AS uffNome ,
                     `uffici.indirizzo` AS indirizzo ,
                     `uffici.provincia` AS prov ,
                     `uffici.descrizione` AS desc ,
                     `uffici.foto1` AS foto1 ,
                     `impiegati.id` AS impID ,
                     `impiegati.ufficio` AS ufficio
                FROM `uffici`
           LEFT JOIN `impiegati` ON impiegati.ufficio = uffici.id
               WHERE uffici.id = '$id_passato_da_variabile'";
    Dovrebbe essere più o meno così.
    Devi adattarla ai nomi dei tuoi campi e selezionare anche gli altri dati.

    grazie mille! proverò questa query.
    Rimane fuori solo la parte della visualizzazione dei risultati. Dovrei forse fare un CICLO FOR che distribuisca l'organico dell'ufficio selezionato così:

    - Nome
    - creazione
    - indirizzo + provincia
    - descrizione
    - foto richiamata nel campo link
    - eventuale seconda foto richiamata nel campo link
    - eventuale terza foto richiamata nel campo link
    - creazione di una <TABLE> tabella dinamica (in base al numero degli impiegati) lunga tre celle e alta N celle in base al numero degli impiegati e ordinata ORDER TO in base al campo 9) Grado dell'impiegato nell'organico dell'ufficio di riferimento.
    In ogni cella ci sarà la foto di un impiegato, nome, ecc.
    Nella cella più alta centrale deve apparire la foto del più alto in grado e tutti gli altri a seguire (sempre in base al grado).


    GRAZIE ANCORA!

  6. #6
    Aspetta! Vai piano! Comincia a vedere se la query funziona!
    Esegui il normale while e stampati tutti i risultati per controllare che la query restituisca effettivamente ciò che ti spetti!

    Dopo vediamo come dobbiamo formattare i dati!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  7. #7
    Utente di HTML.it L'avatar di MM88
    Registrato dal
    Jun 2003
    Messaggi
    567
    Originariamente inviato da mircov
    Comincia a vedere se la query funziona!
    La query funziona e mi sembra che tutto i contenuti ci siano tutti! grazie!

    Ora ho questo problema di come organizzare il CICLO FOR per costruire questa <TABLE> in base ai contenuti presenti, ma con quella struttura definita e in base all ORDER TO del posizionamento in ufficio. In particolare tieni conto che il più alto ha un valore 10 (su 10), poi 9 e così via. Ma ci potrebbero essere più persone col livello 4 ad esempio e quelle non mi interessa in che ordine appariranno.

    grazie ancora!!

  8. #8
    Bhe, dovrei capire un po' meglio che struttura vuoi creare!
    Magari se prepari la struttura con l'html mi rendo meglio conto! Anche perchè poi bisognerà partire da quella per poter costruire il ciclo for!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  9. #9
    Utente di HTML.it L'avatar di MM88
    Registrato dal
    Jun 2003
    Messaggi
    567
    Originariamente inviato da mircov
    Bhe, dovrei capire un po' meglio che struttura vuoi creare!
    Magari se prepari la struttura con l'html mi rendo meglio conto! Anche perchè poi bisognerà partire da quella per poter costruire il ciclo for!
    Guarda, la parte più difficile non penso necessiti di una grafica per essere compresa, l'ho descritta così:

    - Nome
    - creazione
    - indirizzo + provincia
    - descrizione
    - foto richiamata nel campo link
    - eventuale seconda foto richiamata nel campo link
    - eventuale terza foto richiamata nel campo link
    - creazione di una <TABLE> tabella dinamica (in base al numero degli impiegati) lunga tre celle e alta N celle in base al numero degli impiegati e ordinata ORDER TO in base al campo 9) Grado dell'impiegato nell'organico dell'ufficio di riferimento.
    In ogni cella ci sarà la foto di un impiegato, nome, ecc.
    Nella cella più alta centrale deve apparire la foto del più alto in grado e tutti gli altri a seguire (sempre in base al grado).




    Quindi è una visualizzazione con tanti <div></div> per ognuno degli elementi e poi arriva quella <TABLE></TABLE> che è la parte più complicata, perché deve essere sempre lunga 3 <TD>, ma ha le <TR> dipendente dal numero degli impiegati.
    Nella TD centrale della prima TR ci va un'unica foto (quella del responsabile con il campo (9) pià alto, poi tutte le altre iordinate in base al campo (9) decrescente.


    spero sia chiaro.


    grazie e scusa nuovamente per il disturbo

  10. #10
    Utente di HTML.it L'avatar di MM88
    Registrato dal
    Jun 2003
    Messaggi
    567
    UP

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.