Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Qury in Php

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    9

    Query e Php

    Buongiorno a tutti!
    Premetto che non sono un esperto in php e mysql ma sto facendo una piccola applicazione.
    Ci sono tot. reparti, ogni reparto può essere chiuso in un determinato periodo, quindi ho creato una pagina di inserimento dati dove registro nel db la data di chiusura del reparto (dal - al).
    Il mio problema è che, avendo creato una tabella, lista_reparti, registro in un'altra tabella chiusura i dati di chiusura del reparto più il numero id del reparto.

    Tabella 1: lista_reparti : id_reparto, nome_reparto
    Tabella 2: chiusura: id_chiusura, reparto, data_inizio_chiusura, data_fine_chiusura

    Vorrei stamapre su una pagina php i risultati della Tabella 2 mostrando il nome reparto che è sulla tabella 1.

    Devo fare una Inner Join?

    Grazie per l'aiuto

  2. #2
    Se ho capito bene quello che stai chiedendo e se nella Tabella 2 il campo reparto e l'ID che combacia con la Tabella 1 allora e semplice. Fai un join di questo genere:

    codice:
    SELECT id_chiusura, nome_reparto, data_inizio_chiusura, data_fine_chiusura
    FROM lista_reparti, chiusura
    WHERE chiusura.reparto=lista_reparti.id_reparto
    Teoricamente la WHERE puoi scrivere anche cosi:
    codice:
    WHERE reparto=id_reparto
    se i nomi dei campi delle 2 tabelle sono diversi.

  3. #3
    Dimenticavo, e' query e non qury. Comunque fai prima una prova, non e' per niente difficile.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    9
    Perfetto! Grazie!

    Finalmente riesco ad estrarre i dati che voglio.
    Praticamente dalla lista dei reparti riesco ad estrarre i reparti chiusi tra due determinate date.
    La query che ho eseguito è la seguente:

    codice:
    $query="SELECT lista_reparti.id_reparto, lista_reparti.nome_reparto,
    chiusura.id_chiusura, chiusura.data_inizio_chiusura, chiusura.data_fine_chiusura
    FROM `lista_reparti`,chiusura WHERE lista_reparti.id_reparto=chiusura.reparto 
    AND data_inizio_chiusura <= current_date() 
    AND data_fine_chiusura >= current_date()";
    Fino a qui ci siamo.

    Ora vorrei che lui mi stampasse tutti i risultati che trova nella tabella indicando Aperto o Chiuso, a seconda della query.
    Ho provato con una If ma non sono sicuro funzioni.

    codice:
    <?
    $id_chiusura = mysql_result($result,$i,"id_chiusura");
    $reparto = mysql_result($result,$i,"reparto"); 
    $data_inizio_chiusura = mysql_result($result,$i,"data_inizio_chiusura");
    $data_fine_chiusura = mysql_result($result,$i,"data_fine_chiusura");
    $today = new DateTime("now");
    $f_today=$today->format('Y-m-d');
    
     if ($data_inizio_chiusura >= $f_today and $data_fine_chiusura <= $f_today)
     {
       echo "-->APERTO";
     } else {
        echo "-->CHIUSO";
     }  ?>
    Il problema è che potrei registrare più volte lo stesso nome reparto (es. reparto chiuso dal 01-03-12 fino al 07-03-12 e poi in futuro potrei registrare che il reparto sia chiuso dal 07-05-12 fino al 12-05-12) e vorrei uscisse solo una riga con il corretto stato Aperto o chiuso.

    Spero di essere stato chiaro e grazie per l'aiuto.


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.