Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Controllo inserimenti

  1. #1
    Utente di HTML.it L'avatar di lupo92
    Registrato dal
    Feb 2004
    Messaggi
    254

    Controllo inserimenti

    Ciao a tutti,
    ho una tabella (dipendenti) così composta:

    Matr (campo numerico univoco) che va da 1 a 100
    Nome

    Cognome
    .....

    con questa query al momento dell'inserimento vedo quanti dipendenti sono già entrati:
    Codice PHP:
    $query "select COUNT(*) as tot from dipendenti;
    $result = mysql_query($query); 
    $row = mysql_fetch_array($result);
    echo "
    Risultano già presenti [b]$row[tot][/bdipendenti su 100"; 
    Quello che vorrei fare e sapere anche quali ancora mancano.

    Esempio:
    Mancano le Matricole 5 - 8 - 15 - 40 - 99.
    lupo

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    potresti fare un campo di nome per esempio "login" che assuma valore 0 per i dipendenti non entrati e 1 per quelli entrati....
    dopo di che fai il controllo
    una cosa del genere
    Codice PHP:
    $querymysql_query("SELECT Matr FROM dipendenti Where login=0");
    while(
    $contenitore=mysql_fetch_array($query)){
    $matricola$contenitore['Matr'];

    }
    $elencoimplode(" - "$matricola);
    echo 
    "Mancano: " $matricola
    ora nel tuo codice dovresti porre la condizione che i dipendenti entrati assumano 1 mentre quando escono il valore ritorna a 0 magari con un UPDATE...

  3. #3
    bhè i mancanti come li puoi verificare?
    la query descritta conta i record presenti nella tabella... quelli che tu definisci "dipendenti presenti"

    Dovrebbe esserci un altra tabella dove ci sono i dipendenti e le loro matricole (presenti e non presenti)...

    con quanto postato non ti si può rispondere.
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

  4. #4
    Utente di HTML.it L'avatar di lupo92
    Registrato dal
    Feb 2004
    Messaggi
    254
    In effetti io ho bisogno di sapere, ad esempio, alle 8 e 30 quali dipendenti non sono ancora entrati.
    Da tenere presente che la tabella viene popolata man mano che entrano, inizialmente la stessa a 0 record
    lupo

  5. #5
    Utente di HTML.it L'avatar di lupo92
    Registrato dal
    Feb 2004
    Messaggi
    254
    lupo

  6. #6
    Originariamente inviato da oly1982
    con quanto postato non ti si può rispondere.
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

  7. #7
    Utente di HTML.it L'avatar di lupo92
    Registrato dal
    Feb 2004
    Messaggi
    254
    Mi rendo conto di essermi spiegato male, ci riprovo.

    Ho una tabella dove dovrò inserire 100 record (num,cognome,nome)

    num è la matricola del dipendente che va da 1 a 100.

    La tabella viene popolata man mano che questi arrivano e chiaramente arrivano in ordine sparso, ad esempio prima il 20 poi il 5 poi il 30 ecc. se ad una certa ora voglio sapere quelli che mancano posto che so che le matricole vanno da 1 a 100.

    Grazie
    lupo

  8. #8
    Beh...ma a questo punto ha ragione oly...ti conviene tenere una tabella "dipendenti" con l'anagrafica di tutti i dipendenti e con la matricola come chiave primaria.
    poi ti crei un'altra tabella "entrati" che ha:

    un id chiave primaria
    un campo matricola che è una chiave esterna in relazione con la tabella delle anagrafiche
    un campo entrato che può essere vero o falso (1 o 0)

    e poi vai a fare una query su queste 2 tabelle filtrata sul campo entrato = 0 (falso)...ad esempio:
    Codice PHP:
    $query "SELECT * FROM entrati INNER JOIN dipendenti ON entrati.matricola=dipendenti.matricola WHERE entrati.entrato = 0";

    // e poi gestisci i risultati.... 

  9. #9
    alt...scusa mi era sfuggito il punto che la tabella delle entrate viene popolata dinamicamente...a questo punto ti conviene tirare fuori 2 array: il primo con tutte le matricole, il secondo con le matricole di chi è entrato...e provare la funzione arrray_diff($array1, $array2) (se nn ricordo male..)

    http://php.net/manual/en/function.array-diff.php

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.