Visualizzazione risultati 1 fino 7 di 7

Discussione: Calcolare tempo di una ricerca

  1. #1
    Guest

    Predefinito Calcolare tempo di una ricerca

    Salve!

    Vorrei sapere come posso calcolare il tempo di una ricerca. I risultati totali già gli ho calcolati, ma mi manca il tempo. (es: 0. 26 secondi), per intederci, come google.
    Purtroppo il mio codice è quasi tutto js e abbiate pazienza, se il codice che mi darete è PHP, dovrò integrarlo nel js.
    Ho provato così:
    Codice PHP:
    $("#page").html('Pagina <b>'+page+'</b>');
    $("#news_total").html("Risultati Totali:<b>"+response.SearchResponse.Web.Total+"</b> <?php
    /**
    * Simple function to replicate PHP 5 behaviour
    */
    function microtime_float()
    {
    list(
    $usec, $sec) = explode(" ", microtime());
    return ((float)
    $usec + (float)$sec);
    }

    $time_start = microtime_float();

    // Sleep for a while
    usleep(100);

    $time_end = microtime_float();
    $time = $time_end - $time_start;

    echo
    "Tempo: $time seconds\n";
    ?>");
    ma non va...
    Grazie a chi mi risponderà!
    Ultima modifica di alemoppo : 07-04-2012 alle ore 19.20.21 Motivo: [code] -> [php]

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,672

    Predefinito

    Hai capito cosa fa quello script (dopo il commento)?

    Ciao!

  3. #3
    Guest

    Predefinito

    Sinceramente no :(

    EDIT:
    Vorrei capire il perchè mi da errore, naturalmente capendo lo script...

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,672

    Predefinito

    Leggiti (e impara) queste cose:

    list()
    explode()
    cast
    return
    microtime()

    Quello che non capisci, chiedi.
    Ovviamente, se una di quelle sopra la conosci già, puoi saltare la lettura (anche se non farebbe male a nessuno {nemmeno a me} una rinfrescata).

    Ciao!

    EDIT:

    Per l'errore, vedi il sorgente generato da PHP

    Ciao!
    Ultima modifica di alemoppo : 07-04-2012 alle ore 19.21.08

  5. #5
    Guest

    Predefinito

    Ho letto... soprattutto microtime()
    Quindi questa funzione genererebbe il tempo per caricare la pagina o cosa simile?
    Per l'errore, ho visto il sorgente della pagina, ma appare "Parse error: syntax error, unexpected '(', expecting T_VARIABLE or '$' in /membri/talkpluginorange/search.php on line 542"

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,672

    Predefinito

    Prova a vedere cosa ritorna la microtime(), stampando il risultato. Poi cerca di capire perché fanno l'esplode con il ' '...

    Riguardo l'errore, ho provato quel codice e non mi ritorna l'errore PHP che dici... A livello PHP il codice è corretto. L'errore, molto probabilmente è altrove, e non in quel pezzo.

    Ma prima di immettere codice nella pagina del sito, cerca di capire come funzionano queste nuove funzioni in file a parte, facendo prove, modificando....

    Ciao!

  7. #7
    Guest

    Predefinito

    Mi sono studiato un pò quelle stringhe... Comunque continua a dar errore.
    Ti riporto parte del codice, magari ci dai un'occhiata, sono esausto! Ho provato in tutti i modi!:
    Codice:
    $("#result1, #result2, #result3, #result4, #result5, #result6, #result7, #result8, #result9, #result10").html('');
    $("#news_total").html("");
    $("#page_navigation").html("");
    $("#page").html(""); 
    
    
    if(response.SearchResponse.Web.Results.length>0)
    
    {
    
    $("#page").html('Pagina <b>'+page+'</b>');
    $("#news_total").html("Risultati Totali <b>"+response.SearchResponse.Web.Total+"</b><?php
    /**
    * Simple function to replicate PHP 5 behaviour
    */
    function microtime_float()
    {
    list($usec, $sec) = explode(" ", microtime());
    return ((float)$usec + (float)$sec);
    }
    
    $time_start = microtime_float();
    
    // Sleep for a while
    usleep(100);
    
    $time_end = microtime_float();
    $time = $time_end - $time_start;
    
    echo "Tempo: $time seconds\n";
    ?>");
    
    	//how much items per page to show
    	var show_per_page = perPage; 
    	var show_per_page_image = perPageImage;
    	var show_per_page_news = perPageNews;
    	var show_per_page_video = perPageVideo;
    	
    	//getting the amount of elements inside content div
    	//var number_of_items = $('#content').children().size();
    	var number_of_items = parseInt(response.SearchResponse.Web.Total);
    	if (number_of_items>100000) number_of_items=100000;
    	//calculate the number of pages we are going to have
    	var number_of_pages = Math.ceil(number_of_items/show_per_page);
    	
    	//set the value of our hidden input fields
    	$('#current_page').val(page);
    	$('#show_per_page').val(show_per_page);
    	$('#show_per_page_image').val(show_per_page_image);
    	$('#show_per_page_news').val(show_per_page_news);
    	$('#show_per_page_video').val(show_per_page_video);
    	
    	//now when we got all we need for the navigation let's make it '
    	
    	/* 
    	what are we going to have in the navigation?
    		- link to previous page
    		- links to specific pages
    		- link to next page
    	*/
    	//var navigation_html = '<a class="previous_link" href="javascript:previous();">Prev</a>';	
    	var navigation_html ='';
    	
    	var num_dec='"'+(page/show_per_page)+'"';	
    	
    	if (num_dec.indexOf(".") == (-1)){
    		//registro il cookie
    		createCookie('numPage',page,0);		
    	}

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •