• Home
  • Forum
  • Fare Web
  • PHP

problema con do while

  • Creatore Discussione Creatore Discussione Valshy
  • Data di inizio Data di inizio 4 Set 2011
V

Valshy

Nuovo Utente
14 Mag 2011
23
0
0
  • 4 Set 2011
  • #1
Ciao a tutti, vi scrivo per chiedervi aiuto perchè c'è uno script che mi sta facendo impazzire...


Ho una tabella che si chiama codice_utente che è formata da: id ( chiave primaria), utente e codice.
Ho una pagina che dovrebbe generare un codice utente che deve essere diverso da tutti gli altri codici già presenti in tabella.
Ho strutturato lo script in questo modo

$azzeccato=0;

do
{
$numero=(rand(0,9) . rand(0,9) . rand(0,9) . rand(0,9) . rand(0,9))

dopo aver generato il numero casuale controllo la tabella

select count (id) as trovati from codice_utente where codice = $numero

if ($trovati == 0) {$azzeccato = 1} elseif ($trovati > 0) {$azzeccato = 0}

} while ($azzeccato == 1);

In sostanza il codice genera una stringa di numeri casuali finchè non ne trova una non presente nel database... il problema è che quando tento di eseguire lo script mi dice che si è bloccato xke ci ha impiegato troppo x eseguire lo script..qualcuno mi sa suggerire un modo per farlo funzionare?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 4 Set 2011
  • #2
ciao
se vuoi aumentare il tempo di vita dello script metti la seguente istruzione

set_time_limit(tempo_in_secondi);
es.
set_time_limit(240);

poi guarda se puoi modificare lo script per renderlo piu rapido
 
V

Valshy

Nuovo Utente
14 Mag 2011
23
0
0
  • 4 Set 2011
  • #3
Il problema è che questa tabella è completamente vuota al momento, quindi teoricamente lo script dovrebbe ripetersi una volta sola. Non vorrei che vada in loop per un problema che non riesco a capire...Non è che c0'è un altro modo x fare la stessa cosa?
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
27
Roma
alessandro1997.netsons.org
  • 4 Set 2011
  • #4
Io userei una funzione ricorsiva:
PHP:
function getId()
{
    $id = rand(0, 9999);

    $sql = 'SELECT * FROM tabella WHERE id = ' . $id;
    $query = mysql_query($sql) or die(mysql_error());

    if (mysql_num_rows($sql) == 0) {
        return $id;
    }

    return getId();
}
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 4 Set 2011
  • #5
ciao
oltre a quello che ha postato alex
per provare ad accelerare prova a sostituire la sequenza di rand e modificare il do while in questo modo

PHP:
<?php
//..........
do{
	$numero=(string)rand(100000,999999);
	$numero= substr($numero, 1, 5);// toglie la prima cifra riducendo la stringa a 5 caratteri che possono iniziare anche con 0
	$trovati=mysql_num_rows(mysql_query("SELECT id FROM codice_utente WHERE codice='$numero'"));
	//eventualmente questo
	if($trovati==0){break;}
}while($trovati > 0)
echo $numero; //per vedere se funzia
//...........
?>
 
Devi accedere o registrarti per poter rispondere.

Discussioni simili

M
Problema con ciclo for e while
  • Mary Azzurro
  • 8 Feb 2013
  • PHP
Risposte
2
Visite
1K
PHP 9 Feb 2013
Mary Azzurro
M
M
Problema ciclo while con mysql_fetch_assoc
  • Mirko3
  • 22 Dic 2011
  • PHP
Risposte
6
Visite
2K
PHP 27 Dic 2011
borgo italia
D
Problema con while
  • dkiller92
  • 5 Mar 2010
  • PHP
Risposte
0
Visite
1K
PHP 5 Mar 2010
dkiller92
D
D
problema con il ciclo while
  • DewolfCH
  • 28 Ago 2008
  • PHP
Risposte
2
Visite
2K
PHP 28 Ago 2008
Eliox
M
Problema con join e ciclo while
  • mycamo80
  • 23 Mag 2007
  • PHP
Risposte
0
Visite
1K
PHP 23 Mag 2007
mycamo80
M
M
Problema con "do while"
  • microsostanza
  • 20 Ago 2006
  • Classic ASP
Risposte
10
Visite
2K
Classic ASP 26 Ago 2006
Kiras
K
Problema in Shopify con Pixel Facebook
  • voldemort
  • 27 Mag 2024
  • E-Commerce
Risposte
1
Visite
2K
E-Commerce 27 Mag 2024
m.pittini
M
O
problema con dvr dahua xvr5116
  • oky74
  • 11 Mar 2023
  • IP Cam e Videosorveglianza
Risposte
0
Visite
2K
IP Cam e Videosorveglianza 11 Mar 2023
oky74
O
G
Problema con Xampp
  • GreatOtaku
  • 5 Mar 2023
  • Web Server
Risposte
1
Visite
1K
Web Server 6 Mar 2023
GreatOtaku
G
Problema con miniature comandi
  • andrea barletta
  • 27 Feb 2023
  • Photoshop
Risposte
0
Visite
1K
Photoshop 27 Feb 2023
andrea barletta
I
problema con alice
  • ilprincipiante
  • 10 Feb 2023
  • Posta Elettronica
Risposte
0
Visite
1K
Posta Elettronica 10 Feb 2023
ilprincipiante
I
N
Problema con position absolute e overflow
  • Nocciolina
  • 23 Gen 2023
  • HTML e CSS
Risposte
4
Visite
1K
HTML e CSS 31 Gen 2023
Nocciolina
N
L
Problema con inner join
  • lupentino
  • 23 Nov 2022
  • PHP
Risposte
11
Visite
2K
PHP 27 Nov 2022
marino51
K
[php] Problema con inner join
  • Kiko74b
  • 22 Nov 2022
  • PHP
Risposte
4
Visite
2K
PHP 23 Nov 2022
Kiko74b
K
K
[PHP] Problema con variabili concatenate.
  • Kiko74b
  • 17 Ott 2022
  • PHP
Risposte
1
Visite
1K
PHP 30 Ott 2022
thanatos
T
O
  • Bloccata
problema con query
  • Odino7009
  • 23 Mag 2022
  • PHP
Risposte
4
Visite
2K
PHP 24 Mag 2022
Odino7009
O
I
problema con 2 account
  • ilprincipiante
  • 11 Mar 2022
  • Posta Elettronica
Risposte
1
Visite
2K
Posta Elettronica 11 Mar 2022
WmbertSea
L
problema collegamento file css con html
  • leonardo20
  • 2 Mar 2022
  • HTML e CSS
Risposte
1
Visite
2K
HTML e CSS 3 Ott 2023
WEBLEADERS
W
E
Problema accesso a file con app sviluppata con MIT APP INVENTOR 2
  • emanuelespinelli
  • 22 Dic 2021
  • Sviluppo app per Android
Risposte
0
Visite
3K
Sviluppo app per Android 22 Dic 2021
emanuelespinelli
E
M
Problema con Try Catch
  • migo80
  • 10 Ott 2021
  • PHP
Risposte
0
Visite
2K
PHP 10 Ott 2021
migo80
M
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?