1 (edited by RealEfect 2011-08-11 13:31:06)

Topic: Problemele su aritmetika ;D

Sveiki, taigi as pats bandau sukurti paprasciausia balsavimo sistema, net negalvojau, kad kreipsiuosi pagalbos, bet atsirado kazkas neaiskaus, todel tenka jos prasyti :P Taigi noriu sukurti tokia sistema, kur paprasciausiai zmogus pasirenka atsakyma ir kitame puslapyje atvaizduojamas tas atsakymas, o prie jo parasoma kiek kartu paspaustas jis buvo visu zmoniu.Dabar viskas aisku, ka as noriu padaryti, todel rasau savo koda, kur yra neaiskumas:

$skaiciuks=mysql_query("SELECT * FROM polius HAVING max(atsakymas1)");
        $x=$skaiciuks+1;
        echo "<p> " . $radio_pasirinktas . " " . $x . "</p>";
        mysql_query("INSERT INTO polius(atsakymas1) VALUES($x)");

Kitu kodu jums matyti nereikia, nes viskas gerai, as prisijungiu prie mysql ir db, taip pat nemeta jokiu klaidu, bet esme, kad isveda, ne toki skaiciu koki turetu.Kaip matote, pagal mano mysql uzklausa select, as pasiimu didziausia skaiciu is lenteles stulpelio, tuomet pridedu vieneta ir tai issaugau kintamajame x.Bet i ekrana kazkodel isvedama taip: "Raudona 10".Nors turetu isspausdinti "Raudona 2".Didziausias skaicius lenteles stulpelyje atsakymas1 yra 1, kazkokios anomalijos, laukiu pagalbos! :)

Re: Problemele su aritmetika ;D

$skaiciuks=mysql_query("select max(atsakymas1) from polius");
var_dump(mysql_fetch_assoc($skaiciuks1));

3 (edited by RealEfect 2011-08-11 13:47:08)

Re: Problemele su aritmetika ;D

aivaras37 wrote:

$skaiciuks=mysql_query("select max(atsakymas1) from polius");
var_dump(mysql_fetch_assoc($skaiciuks1));

Dekoju tau labai kad nusprendei padeti, bet nesuprantu, kam reikia nustatineti kintamojo tipa ir naudoti mysql_fetch_assoc?Ir dar vienas dalykas, kuo skiriasi "select * from polius having max(atsakymas1)")", nuo tavo varianto"?Dekui jeigu paaiskinsi?

4 (edited by aivaras37 2011-08-11 14:50:08)

Re: Problemele su aritmetika ;D

su mysql_query tu nusiunti uzklausa i serva, update, delete, truncate, drop ir pan uzklausoms, kurioms nereikia rezultato uztenka vien mysql_query, bet jei tau reikia parsitraukti pacius duomenis tu naudoji mysql_fetch_array, mysql_fetch_assoc, fetch_row.

Kintamojo tipo nustatineti nereikia, parasiau tam, kad matytum koks rezultatas kai panaudoji mysql_fetch_assoc tai jei tu padarytum

$daugiausiaiAtsakymu = mysql_query("select max(atsakymas1) from polius");
$kiekis = mysql_fetch_assoc($daugiausiaiAtsakymu);
$skaiciuks1 = $kiekis['max(atsakymas1)'];

tavo $skaiciuks pasidarytu toks, kokio tu nori.
is logines puses: kam tu parinkes max irasa iterpi nauja irasa i lentele? Neuztekto senojo padidinti vientu?
update lenta set `laukas` = `laukas` + 1;

having kaip ir where yra naudojamas jau paselectintu rezultatu atrusiavimui mysql'e, placiau gali pasiskaityti;

select * ima visus laukelius is lentos ir jei tau visu ju nereikia tai naudoti zvaigzdes nepatartina del performance.
select laukas1, laukas2 from table;

siulau pasiskaityti cia http://dev.mysql.com/doc/refman/5.0/en/select.html kas yra selectas ir kaip ji naudoti.


del idomumo - pabandyk nustatyti savojo skaiciuks1 tipa su var_dump - suprasi, kodel matai ne tai ko tikiesi.

Re: Problemele su aritmetika ;D

aivaras37 wrote:

su mysql_query tu nusiunti uzklausa i serva, update, delete, truncate, drop ir pan uzklausoms, kurioms nereikia rezultato uztenka vien mysql_query, bet jei tau reikia parsitraukti pacius duomenis tu naudoji mysql_fetch_array, mysql_fetch_assoc, fetch_row.

Kintamojo tipo nustatineti nereikia, parasiau tam, kad matytum koks rezultatas kai panaudoji mysql_fetch_assoc tai jei tu padarytum

$daugiausiaiAtsakymu = mysql_query("select max(atsakymas1) from polius");
$kiekis = mysql_fetch_assoc($daugiausiaiAtsakymu);
$skaiciuks1 = $kiekis['max(atsakymas1)'];

tavo $skaiciuks pasidarytu toks, kokio tu nori.
is logines puses: kam tu parinkes max irasa iterpi nauja irasa i lentele? Neuztekto senojo padidinti vientu?
update lenta set `laukas` = `laukas` + 1;

having kaip ir where yra naudojamas jau paselectintu rezultatu atrusiavimui mysql'e, placiau gali pasiskaityti;

select * ima visus laukelius is lentos ir jei tau visu ju nereikia tai naudoti zvaigzdes nepatartina del performance.
select laukas1, laukas2 from table;

siulau pasiskaityti cia http://dev.mysql.com/doc/refman/5.0/en/select.html kas yra selectas ir kaip ji naudoti.


del idomumo - pabandyk nustatyti savojo skaiciuks1 tipa su var_dump - suprasi, kodel matai ne tai ko tikiesi.

Dekoju dar karta uz pagalba, bet dabar meta klaida, kad nepalaiko kazkokiu tai operand tipu.Dar klausimelis iskilo, pasiskaiciau apie tai mysql_fetch_array(assoc), tai kaip supratau, si uzklausa, paima lenteles pirma eilute tokia forma, kad kompiuteris suprastu ir ja isspausdina, ar ne taip?Bet tai tuomet kita problemele atsiranda del, to kad didziausias skaicius, nebutinai yra pirmoje eilute, jis gali buti ir viduri, ir gale taipogi.Ir dar kodel butent assoc masyva parinkai, kodel netinka array?Dekui jeigu padesi vel :)

Re: Problemele su aritmetika ;D

http://www.great-advice.lt/12815

Re: Problemele su aritmetika ;D

to RealEfect: tu gal pradek mokintis nuo pagrindu, o tia dabar del elementariu pagrindu nezinojimo pjauni gryba.