Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    Fermare l'esecuzione di una funzione

    Ciao

    In un programma PHP ho una funzione chiamata LoadStaff cui viene passato un valore e che legge alcuni dati di tabella generando un array. In pratica è del tipo:

    codice:
    function LoadStaff($staffid){
    
    	if($staffid == ''){ return false; }
    
    	$str_sql = "SELECT
    			SYS_STAFFID,
    			SYS_STAFFNAME,
    			SYS_STAFFEMAIL,
    			SYS_STAFFPASSWORD,
    			SYS_ADMINFLAG,
    			SYS_LANGUAGE,
    			SYS_SIGNATURE
    		    FROM
    			SYSECLIPSE.SYS_STAFF
    		    WHERE
    			SYS_STAFFEMAIL = '$staffid'";
    
    	sc_lookup(dataset,$str_sql); // viene chiamata una funzione che inizializza dataset
    	
    	if(empty({dataset}[0][0])){ return false; }
    	
    	$arr_staff = array();
    	$arr_staff['SYS_STAFFID']      = (!empty({dataset}[0][0]))?{dataset}[0][0]:'';
    	$arr_staff['SYS_STAFFNAME']    = (!empty({dataset}[0][1]))?{dataset}[0][1]:'';
    	$arr_staff['SYS_STAFFEMAIL']   = (!empty({dataset}[0][2]))?{dataset}[0][2]:'';
    	$arr_staff['SYS_STAFFPASSWORD']= (!empty({dataset}[0][3]))?{dataset}[0][3]:'';
    	$arr_staff['SYS_ADMINFLAG']    = (!empty({dataset}[0][4]))?{dataset}[0][4]:'';
    	$arr_staff['SYS_LANGUAGE']     = (!empty({dataset}[0][5]))?{dataset}[0][5]:'';
    	$arr_staff['SYS_SIGNATURE']    = (!empty({dataset}[0][6]))?{dataset}[0][6]:'-------------------
    '.$arr_staff['StaffName'];
    
    ************************************************
    Altro codice vario e fine
    Posso, a titolo di test, inserire dopo le dichiarazioni dell'array del codice che mi visualizzi qualche valore e soprattutto mettere subito dopo una pausa all'esecuzione della funzione stessa ?

    Se sì in che modo ?

    Grazie per laiuto
    Gaetano
    Gaetano

  2. #2
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    765
    basta inserire un
    Codice PHP:
    echo $arr_staff['SYS_SIGNATURE']; 
    per quanto riguarda la pausa.. dipende se vuoi fermare o appunto mettere in pausa lo script..

    Codice PHP:
    //per metterlo in pausa
    sleep(10);//pausa per 10 secondi
    //per fermarlo
    exit(); 
    eXvision

  3. #3
    Grazie di cuore.
    Gaetano

  4. #4
    Originariamente inviato da brodik
    basta inserire un
    Codice PHP:
    echo $arr_staff['SYS_SIGNATURE'];
    //per metterlo in pausa
    sleep(10);//pausa per 10 secondi
    //per fermarlo
    exit(); 
    Ciao,

    Una curiosità! Perchè esegue prima lo sleep e poi visualizza l'echo ?
    Gaetano

  5. #5
    Perche l'echo finisce nell'output buffer. Metti una chiamata a flush() dopo l'echo e prima dello sleep.

  6. #6
    Utente di HTML.it L'avatar di skjobax
    Registrato dal
    Jan 2010
    Messaggi
    569
    Scusate la mia interlocuzione, ma la funzione sleep, conta in secondi o in millisecondi?
    Anche a me serviva qualcosa per mettere in pausa una funzione...

  7. #7
    Sleep conta in secondi. In alternativa c'e' usleep che conta in microsecondi.
    Comunque guardare il manuale non e' che faccia male agli occhi, eh

  8. #8
    Utente di HTML.it L'avatar di skjobax
    Registrato dal
    Jan 2010
    Messaggi
    569
    Grazie lo stesso

  9. #9
    in realtà esegue le operazioni nel modo corretto, ovvero prima l'echo e poi lo sleep, solo che devi forzare php a fare l'invio al browser perché lui tenta di raccogliere più roba prima di inviare i dati cosi da ridurre il lavoro che deve fare

    inoltre invece di usare
    echo $variabile['chiave1']
    echo $variabile['chiave2']
    echo $variabile['chiave3']
    echo $variabile['chiave4']
    echo $variabile['chiave5']
    echo $variabile['chiave6']
    echo $variabile['chiave7']

    puoi fare
    echo '<pre>';
    var_dump($variabile);
    echo '</pre>';

    per farti stampare tutto l'array

  10. #10
    Utente di HTML.it L'avatar di skjobax
    Registrato dal
    Jan 2010
    Messaggi
    569
    Non sarebbe meglio fare una foreach?

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.