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

    cerco aiuto su ciclo con randomize

    ho un problema con un ciclo

    1. allora io genero un numero casuale,
    2. poi vado a controllare se questo numero è gia contenuto nella tabella
    3. e se è gia presente vado rigenerare un nuovo numero casuale

    ovvimanete il ciclo andrà avanti finchè non verrà generato un numero non esistente nel db...

    come posso fare?

    (non vorrei usare un response.redirect altrimenti perdo dei dati che dovrei modificare in session...ma mi incasino un po' tutto)
    http://igr4mbo.altervista.org (piano piano)

    "Abbiamo costruito un sistema che ci persuade a spendere il denaro che non abbiamo in cose che non necessitiamo per creare impressioni che non dureranno su persone che non ci interessano" cit.

  2. #2
    1. la logica è ok
    2. cosa c'entra la redirect?
    3. dov'è che ti perdi?

  3. #3
    devi fare una function:
    codice:
    function creaId(nome_tabella)
    
    dim id
    randomize
    
    ..creo numero random
    
    ..controllo che non ci sia nel database con
    select id from tabella where id= & mionumerorandom
    
    if rs.eof then
    creaId(tabella)
    end if
    
    ...
    
    end function
    in linea di massima se fai un random di un numero molto grosso te lo trova al primo colpo, altrimenti si farà qualche giretto...oppure potresti prendere in un array tutti gli id che hai nel database e usi l'array invece di chiedere sempre al database nell'iterazione

    boh cmq divertiti

  4. #4
    1. la logica è ok
    2. cosa c'entra la redirect?
    3. dov'è che ti perdi?
    mi perdo nell'ultimo punto...
    cioè se il codice è gia esistente devo crearne un altro..e non so come fare il ciclo

    le redirect lasciale stare è un indea chje mi era venuta ma mi incasina
    http://igr4mbo.altervista.org (piano piano)

    "Abbiamo costruito un sistema che ci persuade a spendere il denaro che non abbiamo in cose che non necessitiamo per creare impressioni che non dureranno su persone che non ci interessano" cit.

  5. #5
    devi fare una function:
    per forza?



    non può essere deve esserci un altro modo
    http://igr4mbo.altervista.org (piano piano)

    "Abbiamo costruito un sistema che ci persuade a spendere il denaro che non abbiamo in cose che non necessitiamo per creare impressioni che non dureranno su persone che non ci interessano" cit.

  6. #6
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    o fai una funzione ricorsiva o fai un ciclo do while
    codice:
    NumeroRando=""
    do while NumeroRando=""
      NumeroRandom = Int(10000*rnd)
      '..controllo che non ci sia nel database con
      'select id from tabella where id= & mionumerorandom
      if not rs.EOF then NumeroRandom=""
    loop
    santino83 ti ha indicato una via per la unzione ricorsiva... con qualche imprecisione che mi permetto di correggere
    codice:
    function creaId(nome_tabella)
      dim id
      randomize
      mionumerorandom = Int(10000*rnd) '..creo numero random
      '..controllo che non ci sia nel database con
      'select id from tabella where id= & mionumerorandom
      if not rs.eof then
        creaId(tabella)
      else
        creaId = mionumerorandom
      end if
    end function
    attento però che in entrambi i casi se i numeri casuali si trovano tutti nella tabella (tabella da 10000 record e numeri casuali calcolati da 1 a 10000) andrai in loop infinito

  7. #7
    Originariamente inviato da Grambo
    per forza?



    non può essere deve esserci un altro modo
    perché odi così tanto le funzioni?

  8. #8
    effettivamente voi la vedete in modo contrario rispetto a come la vedo io

    posso creare il codice e eseguire un loop confrontandolo con tutti i codici che ho nella tabella

    io invece ragionavo in un altro modo che ora non riesco più a capire lol
    http://igr4mbo.altervista.org (piano piano)

    "Abbiamo costruito un sistema che ci persuade a spendere il denaro che non abbiamo in cose che non necessitiamo per creare impressioni che non dureranno su persone che non ci interessano" cit.

  9. #9
    attento però che in entrambi i casi se i numeri casuali si trovano tutti nella tabella (tabella da 10000 record e numeri casuali calcolati da 1 a 10000) andrai in loop infinito
    hehe 10000 iscritti è ben al di sopra delle mie aspettative
    http://igr4mbo.altervista.org (piano piano)

    "Abbiamo costruito un sistema che ci persuade a spendere il denaro che non abbiamo in cose che non necessitiamo per creare impressioni che non dureranno su persone che non ci interessano" cit.

  10. #10
    scusate una domanda...
    io non ho capito cosa sia questo:

    select id from tabella where id= & mionumerorandom

    in pratica il = & cosa significa?
    http://igr4mbo.altervista.org (piano piano)

    "Abbiamo costruito un sistema che ci persuade a spendere il denaro che non abbiamo in cose che non necessitiamo per creare impressioni che non dureranno su persone che non ci interessano" cit.

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.