new string[256]; new Szam = random(8999) + 1000; new mysql_line[256]; format(string, sizeof(string), \"SELECT Telefon FROM Jatekosok\"); mysql_query(string); mysql_store_result(); while(mysql_fetch_row(mysql_line)) { if(Szam == strval(mysql_line)) { new i,Joszam; for(i = 0; Joszam != 1; i++) { Szam = random(8999) + 1000; if(Szam != strval(mysql_line)) { Joszam = 1; } } } } mysql_free_result(); format(string, sizeof(string), \"UPDATE Jatekosok SET Telefon = \'%d\' WHERE Nev=\'%s\'\", Szam, nev); mysql_query(string); JatekosInfo[playerid][Telefon]= Szam;[/code;
SELECT Nev,Telefonszam FROM Felhasznalok WHERE Telefonszam = 123
new string[256]; new JoSzam; new Szam = random(8999) + 1000; format(string, sizeof(string), \"SELECT * FROM Jatekosok WHERE Telefon=\'%d\'\",Szam); mysql_query(string); mysql_store_result(); new value = mysql_num_rows(); mysql_free_result(); if(value == 1) { for(new x=0;JoSzam!=1;x++) { Szam = random(8999) + 1000; format(string, sizeof(string), \"SELECT * FROM Jatekosok WHERE Telefon=\'%d\'\",Szam); mysql_query(string); mysql_store_result(); value = mysql_num_rows(); mysql_free_result(); if(value == 0) { JoSzam=1; break; } } }
$Szam1 = rand(1, 4);$Szam2 = rand(1, 4);if($Szam1 == $Szam2){ for($i= 0; $Joszam != 1; $i++) { $Szam2 = rand(1, 4); if($Szam2 != $Szam1) { $Joszam = 1; } } $Joszam = 0; echo \'Amennyiben ezt az üzenetet látod, eleinte ugyanaz a két szám lett legenerálva.<br> Ezek után persze nem lenne szabad a szöveg alatt ugyanazt a két számot látnod.<br><br>\';}echo $Szam1;echo \'<br>\';echo $Szam2;
new mysql_string[64]; // A lekérdezést ebben a string típusú változóban tároljuknew bool:Joszam = false; // Mondjuk azt a programnak, hogy a szám megfelelõnew bool:MegfeleltEMar = false; // Ez arra fog kelleni, hogy megtudjuk, az új számot is ellenõriznünk kell enew bool:EloszorKerdezunkE = true; // Ha az elsõ generált szám megfelelõ, ne fusson le ismét a ciklusmagnew Szam = random(8999) + 1000; // Generálunk egy random számotwhile(Joszam == false) // Elindul ez a while ciklus. Addig ismétlõdik, ameddig a Joszam értéke true nem lesz{ format(mysql_string, sizeof(mysql_string), \"SELECT Teloszam FROM Jatekosok WHERE Teloszam = \'%d\'\", Szam); // Lekérdezés formázása, melyben a feltétel a generált szám lesz mysql_query(mysql_string); // Lekérdezés mysql_store_result(); // Eltároljuk az eredményt new Sorok = mysql_num_rows(); // Megnézzük, hogy hány sor felelt meg a feltételnek if(Sorok != 0) // Ha van találat, tehát a szám már szerepel az adatbázisban, akkor... { Szam = random(8999) + 1000; // ...generálunk egy másik random számot. MegfeleltEMar = false; // Ha esetleg az elõzõ próbálkozásnál már generáltunk volna a létezõ szám helyett egy újat, de az is létezne, visszaállítjuk az értéket falsera, amely azt jelzi, hogy a most generált számot is ellenõrznünk kell if(EloszorKerdezunkE == true) // Ez az elágazás nem lényegre törõ, viszont megakadályozza, hogy az EloszorKerdezunkE változó értéke feleslegesen falsera állítódgatjon minden nem megfelelõ szám esetében. Ugyanis ha az elsõ szám rossz volt - már pedig rossz volt, ha ez az elágazás lefut -, akkor... { EloszorKerdezunkE = false; // ...beállítjuk, hogy nem elõször kérdezünk rá, hogy a szám megfelelõ e - elvégre rossz volt a szám, ami miatt ismét generálni fogunk egy random számot. } } else if(MegfeleltEMar == false) // De ha nem szerepel, viszont most generálunk elõször új számot a leutóbbi létezõ szám helyére, akkor még nem állítjuk megfelelõre a számot, de közeledünk ennek megtételéhez. { if(EloszorKerdezunkE == true) // Ha elõször generáltunk számot, akkor kiléphetünk a ciklusból, elvégre biztosan megfelelõ a szám { Joszam = true; // A szám megfelelõvé tétele } else // Különben az újonnan generált számot is meg kell néznünk az adatbázisban, hogy szerepel e már { MegfeleltEMar = true; // Beállítjuk, hogy ha az újonnan generált szám is megfelelõ, a ciklusból kilépjünk. } } else if(MegfeleltEMar == true)) // Ha az újonnan generált szám is megfelelõ volt, akkor... { Joszam = ture; // ...kiléphetünk a ciklusból, mert a számot megfelelõvé tesszük. }}mysql_free_result(); // Felszabadítod az erõforrást// Itt már a Szam értékbe biztosan nem fog megegyezni más telefonszámok értékével. Ha egyszerre több játékos használja a dolgot, érdemes rá tenni egy playerid-s tömböt.// Frissíted az adatbázist, vagy amit akarsz csinálni, például:format(mysql_string, sizeof(mysql_string), \"UPDATE Jatekosok SET Teloszam = \'%d\' WHERE Nev = \'%s\'\", Szam, Nev(playerid));mysql_query(mysql_string);
JatekosInfo[playerid][Telefon] = random(8999) + 1000; new kveri[256];format(kveri, sizeof(kveri), \"SELECT Telefon FROM Jatekosok WHERE Telefon = \'%d\'\", JatekosInfo[playerid][Telefon]);mysql_query(kveri);mysql_store_result();while(0 < mysql_num_rows()) { //Amíg van ilyen telefonszám, generálunk újat, és megint lekérjük, hogy megint megnézhesse.mysql_free_result();JatekosInfo[playerid][Telefon] = random(8999) + 1000;format(kveri, sizeof(kveri), \"SELECT Telefon FROM Jatekosok WHERE Telefon = \'%d\'\", JatekosInfo[playerid][Telefon]);mysql_query(kveri);mysql_store_result();}format(kveri, sizeof(kveri), \"UPDATE Jatekosok SET Telefon = \'%d\' WHERE Nev = \'%s\'\", JatekosInfo[playerid][Telefon], nev);mysql_query(kveri);