Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 16 su 16
  1. #11
    e come posso integrarlo???
    Gestionale Strutture Ricettive...http://www.celexdesign.it

  2. #12
    Codice PHP:
    $array = array();
    for (
    $i=$dal$i<=$al$i+=86400) {
      
    $giorno "$i";

      
    $table_tutor "nome_tabella_tutor";
      
    $table_impegnati "nome_tabella_tutor_impegnati";
      
    $query "SELECT DISTINCT(tg.id_tutor) AS tid, tg.id_name AS tname FROM $table_tutor AS tg WHERE tg.id_tutor NOT IN(SELECT id_tutor FROM $table_impegnati WHERE dal<='$giorno' AND al>='$giorno')";
      
    $querymysql_query($query);
      
    $tot=mysql_num_rows($query);

      while (
    $a_row mysql_fetch_array($query)) {
        
    $tid $a_row['tid'];
        
    $tname $a_row['tname'];
        if(!
    in_array($tname$array)) $array[$tid] = $tname;
      }
    }
    foreach(
    $array as $key=>$value) {
      echo 
    "id:".$key." - nome:".$value."
    "
    ;

    Occhio alla punteggiatura, ho scritto in fretta.. Ciao
    =======================
    http://www.abidibo.net

  3. #13
    niente non vā!!!

    l'array funziona ma mi dā valori sbagliati....

    (es. se cerco dal 11 al 14 mi dā che sn tutti liberi)


    forse si dovrebbre fare un counter per ogni tutor, che si incrementa per ogni giorno libero

    poi alla fine comparando il (tot dei giorni dell'intervallo == tot giorni liberi)
    mi scriva quelli OK.....


    che ne pensi???
    Gestionale Strutture Ricettive...http://www.celexdesign.it

  4. #14
    Si č vero, č logicamente sbagliato, se uno č occupato dall'11 al 13 ma libero il 14, quel codice te lo ritorna come disponibile. Ma perchč non sbarazzarsi del ciclo for?? ->(altrimenti bisogna mettere nell'array quelli liberi e poi contare quelli che sono stati scritti un numero di volte cuguale al numero di giorni dell'intervallo, una specie di contatore come dicevi tu).

    Codice PHP:
    $da "data_di_inizio_ricerca";
    $a "data_di_fine_riecerca";
    $table_tutor "nome_tabella_tutor";
    $table_impegnati "nome_tabella_tutor_impegnati";
    $query "SELECT DISTINCT(tg.id_tutor) AS tid, tg.id_name AS tname FROM $table_tutor AS tg WHERE tg.id_tutor NOT IN(SELECT id_tutor FROM $table_impegnati WHERE (dal>='$da' AND dal<='$a') OR (al>='$da' AND al<='$a') OR (dal<='$da' AND al>='$a')";
    $querymysql_query($query);
    $tot=mysql_num_rows($query);

    while (
    $a_row mysql_fetch_array($query)) {
        
    $tid $a_row['tid'];
        
    $tname $a_row['tname'];
        if(!
    in_array($tname$array)) $array[$tid] = $tname;

    La clausola where si compone di tre parti:
    1 - becco tutti quelli impegnati a cavallo della data $da
    2 - becco tutti quelli impegnati a cavallo della data $a
    3 - becco quelli impegnati in mezzo all'intervallo

    Come prima ocio agli errori di punteggiatura.
    Nota: le clausole le ho scritte in fretta, forse si possono ottimizzare, ma sai... sto lavorando...
    =======================
    http://www.abidibo.net

  5. #15
    OK funziona alla perfettamente.....

    abidibo sei stato 1 GRANDE....

    Grazie....
    Gestionale Strutture Ricettive...http://www.celexdesign.it

  6. #16
    De nada
    =======================
    http://www.abidibo.net

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.