Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    funzione, restituzione più risultati

    Salve a tutti è possibile in una funzione restituire 2 risultati???

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Si, per esempio puoi metterli in un array e ritornare l'array.

  3. #3
    si infatti lo avevo già fatto.

    Volevo chiedere un'ultima cosa.

    Se in una funzione inserisco una query che verifica un determinato campo e se questo campo corrisponda deve rifare la funzione finche il campo non corrisponda in questo modo:

    Codice PHP:
    function prova(){

    $campo=rand(0,100);

    $Query=mysql_query("Select Campo fromt abella Where Campo='$campo'");
    if(
    mysql_num_rows($Query) > 0prova(); 
    può funzionare così????

  4. #4
    si tratta di una funzione ricorsiva la tua...
    L'unico problema di queste funzioni è il loro potenziale richiamarsi all'infinito...

    Assicurati che la funzione random restituisca almeno una volta un intero che non è presente nei campi altrimenti il tuo sito resituirà l'errore associato al max_execution_time

  5. #5
    be fatto strano e che io ho 2 campi tipo "X" e "Y".

    e nella query devo verificare se entrambi non si verificano in un intervallo o provato così:
    l'intervallo deve essere di 14 cioè se cordX=15 allora in campo X non deve corrispondere ad un intervallo che vada da 15 fino a 29

    Codice PHP:
    function cord(){

    $cordX=rand(0,1000);
    $cordY=rand(0,1000);
    $Query=mysql_query("Select * from tabella Where X BETWEEN $cordX AND ($cordX + 14) AND 
    Y BETWEEN 
    $cordY AND ($cordY + 14)")

    if(
    mysql_num_rows($Query) > 0cord(); 

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    non vedo nessun return, anzichè utilizzare la ricorsione, incontrollata, o almeno così pare potresti fare un do while:

    Codice PHP:
    function myfunc(){
       do{
            
    $cordX=rand(0,1000); 
            
    $cordY=rand(0,1000);
            
    $Query=mysql_query("Select * from tabella Where X BETWEEN $cordX AND ($cordX + 14) AND 
    Y BETWEEN 
    $cordY AND ($cordY + 14)");
       }while(
    mysql_num_rows($Query) < 1);    

       
    $cords = array($cordX$cordY);
       return 
    $cords;


    Tuttavia penso che sia più salutare anzichè fare tante query, se ci può essere un alto tasso di insuccesso(mysql_num_rows($Query) = 0), fare un sola query e lavorare sull'array ritornato.

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.