| | |
| Stránka: 1 z 1
| [ Príspevkov: 3 ] | |
Autor | Správa |
---|
Registrovaný: 01.05.07 Prihlásený: 23.07.19 Príspevky: 420 Témy: 151 |
Zdravím,
pripravujem si teraz jeden skript, ktorého účelom má byť to, že vyhodí náhodné číslo, ktoré potom funkcia kontrola overí - ak už v databáze takéto číslo je, tak k nemu pripočíta číslo 1, a toto nové číslo overí. Ak také číslo v databáze nie je, tak ho priradí novej premennej. moj kod vyzerá takto:
Kód: $varsymbol= mt_rand(100000, 99999999);
function kontrola ($varsymbol){
$check = "select id from $table where varsymbol = '".$varsymbol."';"; $qry = mysql_query($check) or die ("Selhalo připojení k databázi kvůli
".mysql_error()." Kontaktujte nás prosím."); $num_rows = mysql_num_rows($qry);
if ($num_rows != 0) {
kontrola ($varsymbol+1);
} else {
$konecnysymbol=$varsymbol;
} }
ide o to, že v premennej $konecnysymbol nemam nikdy ziadnu hodnotu. tou rekurziou som sa inšpiroval na php.net. Budem vďačný za rady.
|
|
Registrovaný: 29.01.11 Prihlásený: 12.02.11 Príspevky: 38 Témy: 2 | Napísal The: 31.01.2011 0:33 | |
|
1. chyby? error_reporting(E_ALL);
2. SQL: escapuj! tvoje SQL je ako omeleta, Boh vie čo je čo... (a navyše s chybami)
Narážam na toto: Kód: "select '`d` from `$table` where `varsymbol`='$varsymbol'"
3. to nemyslíš vážne, že je tak rozdelený skript (to mysql_query() or die ...
...skús najprv opraviť tieto chyby
|
|
Registrovaný: 01.05.07 Prihlásený: 23.07.19 Príspevky: 420 Témy: 151 |
dakujem, postupoval som krok za krokom a funguje to. mal som v error reporting vypnuté oznámenia takže som zistil, že problém bol v tom, že som nemal definovanú premennú konecnysymbol. inak viem, že by sa dalo obíst aj bez tej premennej konecnysymbol, ale kedže s nou dalej pracujem, nechce sa mi to menit kod vyzerá takto a funguje. dakujem ešte raz
Kód: $varsymbol= mt_rand(100000, 99999999); $konecnysymbol=$varsymbol;
function kontrola ($varsymbol, $konecnysymbol){
$check = "SELECT id FROM $table WHERE varsymbol = '".$varsymbol."';"; $qry = mysql_query($check);
if (!$qry) {
die ("Selhalo připojení k databázi kvůli ".mysql_error()." Kontaktujte nás
prosím na e-mailu info@vyukatsp.cz");
}
$num_rows = mysql_num_rows($qry);
if ($num_rows != 0) {
kontrola ($varsymbol+1);
} else {
$konecnysymbol=$varsymbol;
} }
|
|
| Stránka: 1 z 1
| [ Príspevkov: 3 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| Funkcia return vysledok; v Assembler, C, C++, Pascal, Java | 2 | 345 | 25.10.2014 10:37 dany2281995 | | Cron nic nerobi v Operačné systémy Unix a Linux | 10 | 681 | 05.05.2011 12:37 Devil_SK | | HDD svieti, nič nerobí. v Pevné disky a radiče | 4 | 545 | 04.12.2011 1:20 buriquery | | Vysledok 3Dmarku06 v Benchmarky a diagnostické programy | 9 | 929 | 25.02.2008 0:07 gadgetsk | | Čakanie na výsledok v JavaScript, VBScript, Ajax | 9 | 634 | 28.12.2010 17:05 coldak | | vysledok google vyhladavania, vysvetlenie v Internetový marketing, SEO, reklama | 3 | 696 | 23.03.2010 17:15 citizen | | HD Tune výsledok - Otázka v Ostatné programy | 8 | 570 | 20.06.2017 20:21 michalesku | | vysledok gettype stale string v PHP, ASP | 6 | 465 | 14.12.2010 17:05 Feko | | Data z formularu + vysledok v PHP, ASP | 12 | 554 | 23.08.2008 0:11 Blackshadow | | Preco takyto GOOGLE vysledok? v Internetový marketing, SEO, reklama | 4 | 1680 | 15.01.2009 0:59 mylan | | ako som dostal výsledok? v Assembler, C, C++, Pascal, Java | 4 | 595 | 12.01.2009 16:38 tlacitko Enter | | Zlý výsledok pri násobení PHP v PHP, ASP | 6 | 645 | 01.02.2015 19:38 mariachi | | GOOGLE: ako na takyto vysledok vyhladavania? v Internetový marketing, SEO, reklama | 17 | 2244 | 05.11.2009 23:36 lac | | Test HD6870 - nepozdava sa mi vysledok v ATI/AMD grafické karty | 9 | 907 | 16.03.2011 16:10 škodovkar | | Vysledok po pretaktovani GF NX6800 TD256E v nVidia grafické karty | 0 | 367 | 23.08.2007 21:03 Triplespace | | S.M.A.R.T. výsledok v Pevné disky a radiče | 6 | 924 | 04.02.2008 19:20 marzo |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|