Visualizzazione dei risultati da 1 a 3 su 3

Discussione: beteween su 2 campi

  1. #1

    beteween su 2 campi

    Salve ho una funzione che calcola 2 numeri random e se questi corrispondono in un intervallo con quello dei campi deve rifare la funzione altrimenti la restituisce:

    Codice PHP:
    function cordXY(){
        
        
    $cord[]=(int)(rand(1,4988));
        
    $cord01=(int)($cord[0] - 1);
        
    $cord02=(int)($cord[0] + 13);

        
    $cord[]=(int)(rand(1,1011));
        
    $cord11=(int)($cord[1] - 1);
        
    $cord12=(int)($cord[1] + 13);
        
        
    $QueryXY=mysql_query("Select STARTOP from stars Where STARTOP BETWEEN $cord01 AND $cord02 AND STARLEFT BETWEEN $cord11 AND $cord12") or die (mysql_error()." errore controllo cordX");
        if(
    mysql_num_rows($QueryXY) > 0){
            
    cordXY();
        }else{
            return 
    $cord;
        }
        
    }

    $cord=cordXY();
    mysql_query("Insert Into stars (IDSTAR, STARTOP, STARLEFT) values ('$idstar','$cord[0]','$cord[1]')") or die (mysql_error()); 
    ma non capisco il perche molte volte sia $cord[0] che $cord[1] mi da 0 in entrambi mentre altre volte mi restituisco valori che comprendono nell'intervallo che non dovrebbe farlo visto che glie lo impostato nella query del BETWEEN.

    Sono alla frutta non so proprio come risorverlo sto rompicapo.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    26
    Prova a fare un dump della query ogni volta, in modo da capire se viene generata in maniera corretta ed eventualmente che risultati restituisce.
    Inoltre ti consiglio di non usare la ricorsione, in questo caso un semplice ciclo while è sufficiente.

  3. #3
    cioè mi fai un esempio con il ciclo while

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.