|
|
PHP a mySql
|
18.5.2009 16:29
Michal Kerndl
|
čau jsem začátečník v PHP, napsal sem si tuhle funkci na upravu mySQL databaze ale nefunguje mi, může mi někdo poradit?
function inccash ($uzivatel, $link)
{
$link=mysql_connect(SQL_HOST, SQL_USERNAME, SQL_PASSWORD);
mysql_select_db(SQL_DBNAME);
$konec=false;
$vysledek1=mysql_query("select referal from uzivatele where registracedokoncena=1 and id=".$uzivatel, $link);
if (mysql_num_rows($vysledek1)==0):
$konec=true;
elseif (konec==false):
$radek1 = mysql_fetch_array($vysledek1);
$id2 = $radek1["referal"];
mysql_query("update uzivatele set referals=referals+1 and cash=cash+10 where id=".$id2);
endif;
$vysledek2=mysql_query("select referal from uzivatele where registracedokoncena=1 and poslalsms=1 and id=".$id2, $link);
if (mysql_num_rows($vysledek2)==0):
$konec=true;
elseif (konec==false):
$radek2 = mysql_fetch_array($vysledek2);
$id3 = $radek2["referal"];
mysql_query("update uzivatele set referals=referals+1 and cash=cash+5 where id=".$id3);
endif;
$vysledek3=mysql_query("select referal from uzivatele where registracedokoncena=1 and poslalsms=1 and id=".$id3, $link);
if (mysql_num_rows($vysledek3)==0):
$konec=true;
elseif (konec==false):
$radek3 = mysql_fetch_array($vysledek3);
$id4 = $radek3["referal"];
mysql_query("update uzivatele set referals=referals+1 and cash=cash+5 where id=".$id4);
endif;
$vysledek4=mysql_query("select referal from uzivatele where registracedokoncena=1 and poslalsms=1 and id=".$id4, $link);
if (mysql_num_rows($vysledek4)==0):
$konec=true;
elseif (konec==false):
$radek4 = mysql_fetch_array($vysledek4);
$id5 = $radek4["referal"];
mysql_query("update uzivatele set referals=referals+1 and cash=cash+5 where id=".$id5);
endif;
}
má to dělat to že zadám první ID někoho v databázi, vyhledám položku REFERAL což je integer v databazi pro toto ID. Tomuto REFERALOVI prictu CASH, REFERALS a zase jeho REFERALOVI to same. |
|
|
Re: PHP a mySql
|
10.6.2009 19:42
Jiří Dubanský
|
Zdravim,
1) pouzivej nejakej wysiwyg editor - odhali ti tam radu syntax errors
2) neni potreba strkat na konec mysql_query(); pripojeni ($link) - dokud db neuzavres mysql_close(); jsi porad db connected :-)
3) nauc se pouzivat modernejsi zapis - if(podminka) { program } - nepouzivej ty prehledne iif / endif; kdo se v tom ma pak vyznat? To vypada jako python a ne php :-)
4) kdyz porovnas v if hodnotu funkce, uzavirej ji do zavorek - ma nizkou prioritu a vetsinou to bez nich nefunguje - pr: if (mysql_num_rows($vysledek1)==0): // spatne
pr: if ( ( mysql_num_rows($vysledek1) ) ==0 ) // spravne
jinak co se tyce teto funkce, mas tam spostu opakovani - na to query bych si prinejmensim napsal funkce, nejlepsi by bylo OOP, ale to nevim, zda je v tvych moznostech :-) |
|
|
Re: PHP a mySql
|
27.6.2009 12:28
P.B.
|
1/ souhlas, ale neni to wysiwyg editor ale editor se zvýrazněním syntaxe
2/ to je sice pravda ale ten link tam davat je dobrej zvyk
3/ souhlas az na ten python
4/ uplna blbost, staci to jak to ma zapsane, jen by se melo pouzit jeste pred tim: if($vysledek1 === FALSE) protože pokud se vrátí chyba tak pak to hází blbosti ve funkci mysql_num_rows |
|
|
Re: PHP a mySql
|
27.6.2009 12:25
P.B.
|
Nefunguje je široký pojem, co to dělá nebo nedělá? Případně vrací něco mysql_error() ? |
|
|
Re: PHP a mySql
|
27.6.2009 12:25
P.B.
|
Nefunguje je široký pojem, co to dělá nebo nedělá? Případně vrací něco mysql_error() ? |
|
|
|
|
KOMENTARZE
|
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
|
|
Szukanie oprogramowania
|
©Pavel Kysilka - 2003-2024 |
maillinuxsoft.cz | Design:
www.megadesign.cz
|