41

(18 replies, posted in PHP)

qutwala wrote:

Kaip čia pasakius, niekur jis jų nedės. Paliks tavo lentelėje, tiesiog prafiltruots ir atrinks tik tuos duomenis kur naudojai atributą "FILTER", pvz:

 SELECT * FROM `tavo_lentele` LIMIT 5, 5

Matysi rezultatus nuo 5-5, t.y. tik vieną 5, o kiti 1,2,3,4 bei 6,7.. tiesiog nebus paiimti į mysql resursą.

 SELECT * FROM `tavo_lentele` LIMIT 5, 10

Nuo penkių iki dešimt, pvz: 5,6,7,8,9,10.

P.S. labai geras daiktas yra:  Nuoroda

P.P.S. Koks ten tipas pas tave kur if ($veliava == LT), ar kaip ten? čia "LT" konstanta ar kaip?
Dar viena gera nuoroda, spausk čia

Dėkui pravertė :)

o dėl to LT tai aš gaunu jį iš stulpelio Salis

$country=mysql_result($result,$i,"Salis");

ir tada

if(country == "LT")
{
   $link = " // ir čia noriu įterpti html kodą, bet neleidžia rodo blogai kažkas :( ";
}
elseif(country == "LV")
{
   $link = " // ir čia noriu įterpti html kodą, bet neleidžia rodo blogai kažkas :( ";
}

Ar būtų lengviau daryti tiesiog ne html kodą, be tikrinimo, ir ten kur paveiksliukas tiesiog <img src="flags/**čia reiktų įterpti $country, bet kaip tai padaryti ?">

minde wrote:
addinol wrote:

Aš nesimokinu akivaizdžiai, ir manau man to neprireiks toliau gyvenime, tik dabar savo interesam darau, nes kaiką kitą sukūriau kas reikalauja mysql, o dabar ir webą pasiųlė padaryti :)

Tai kodėl nepasakei, kad nemoki ir nenori išmokti? (-;

Yra daug žmonių, kurie moka, nori ir gali ir juos nesunku rasti interneto platybėse.

Nu šiaip visada noriu ko nors išmokti, bet nenoriu susieti ateities su tuo mokslu, o tik savam naudojimui. O savam naudojimui manau užtektų pagrindų, kuriuos dabar manau ir aiškinuosi :0

42

(18 replies, posted in PHP)

Aš nesimokinu akivaizdžiai, ir manau man to neprireiks toliau gyvenime, tik dabar savo interesam darau, nes kaiką kitą sukūriau kas reikalauja mysql, o dabar ir webą pasiųlė padaryti :)

Beje, o kaip dėl LIMIT, jei tą LIMIT panaudosiu tai ką jis tiksliai padarys ? tik parodys 30 sakykim, o sekančius kur dės ?

tai turėtų būti taip ?

$query="SELECT * FROM tablename ORDER BY Reputation DESC LIMIT 30";

O dėl veliavų tikrai nežinau, nebent patikrinti

if(Country = LT)
{
$link = "<img src="flags/LT.jpg" border="0">"
}
elseif

ir tada dar 1 eilutę sukurti, kurioje echo $link ?

(Beje kodėl rodo jog $link eilutė neveikia ?

43

(18 replies, posted in PHP)

Sveiki, taigi turiu MySQL lentelę sudarytą iš 3 dalių:
Vardas    Pavardė   šalis   Reputation

Kaspar    Reinert     EE   982
Kasparas Reinert     LT   1047

Noriu padaryti php lentelę, jog rodytų visus (arba jeigu galima po 30 viename puslapyje, bet nežinau kaip tai padaryti, jei per sunku tai nereikia) rezultatus ir išlygiuotų juos pagal Reputation, mažėjančia tvarka, ir dar noriu jog kiekvienoje eilutėje užsidėti mažas paveiksliukas šiuo atveju šalies veliava, kuri būtų nustatyta pagal šalis rezultatą... Dar būtų neblogai jog prieš eilutę rodytų ir skaičių...

Galbūt užvestumėte mane ant kelio kur galėčiau rasti tutorialų, arba pavyzdžių tokiam dalykui pasidaryti ? o gal kas net galėtų pradžia duoti :)

Viskas atrodytų

1. LT:FLAG Kasparas Reinert 1047
2. EE:FLAG Kaspar    Reinert 982
3. LV:FLAG Kaspars   Reinert 823

čia internete atradau:

<html>
<body>
<?php
$username="username";
$password="password";
$database="your_database";

mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query="SELECT * FROM tablename";
$result=mysql_query($query);

$num=mysql_numrows($result);

mysql_close();
?>
<table border="0" cellspacing="2" cellpadding="2">
<tr>
<th><font face="Arial, Helvetica, sans-serif">Vardas</font></th>
<th><font face="Arial, Helvetica, sans-serif">Pavardė</font></th>
<th><font face="Arial, Helvetica, sans-serif">Reputacija</font></th>
</tr>

<?php
$i=0;
while ($i < $num) {

$f1=mysql_result($result,$i,"Vardas");
$f2=mysql_result($result,$i,"Pavarde");
$f3=mysql_result($result,$i,"Reputation");
?>

<tr>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f1; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f2; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f3; ?></font></td>
</tr>
</table>

<?php
$i++;
}
?>
</body>
</html>

Bet kaip dėl išdėstymo tvarkos, ir skaičių eilutės pradžioje su vėliava pagal šalis parametrą ?

44

(19 replies, posted in PHP)

aa kitą vietą skaičiau, tai turėtų būti taip:

$aa = mysql_query("SELECT expire_date FROM players
WHERE players.id='".$message."');

DATA_ADD(IF(expire_date = 0,'NOW()', '".$aa."'), INTERVAL 30 DAY)

Ir ar teisingai gaunu tą expire_date ..

45

(19 replies, posted in PHP)

Bet vistiek nesupratau pričiom čia yra tas skliaustas...

DATA_ADD(IF(expire_date = 0 THEN SET NOW() ELSE expire_date), INTERVAL 30 DAY)

46

(19 replies, posted in PHP)

Juk pas mane panašiai ir padaryta... tas viršutinis kodas..

ar taip: - ?

DATA_ADD(IF(expire_date = 0 THEN SET NOW() ELSE expire_date), INTERVAL 30 DAY)

Bet čia juk tas ;/

47

(19 replies, posted in PHP)

Vistiek nelabai supratau kaip tą if naudoti DATE_ADD funkcijos viduje, nes po SET reikia parašyti dar vietą ir ką nustatyti, ar ir tiktų toks:

expire_date = DATA_ADD(IF expire_date = 0 THEN SET NOW() ELSE SET expire_date), INTERVAL 30 DAY)

ar naudoti:

IF expire_date = 0 THEN SET expire_date = DATA_ADD(NOW(), INTERVAL 30 DAY)
   ELSE SET expire_date = DATA_ADD(expire_date, INTERVAL 30 DAY)

Bet tiksliai nežinau kur tokį dėti, turbūt po SET sth = 1, **čIA ?** WHERE ...

48

(19 replies, posted in PHP)

Hm šito nežinojau, jog galima viską vienoje užklausoje daryti... nu pabandysiu. bet gal galėtum tiksliau su tuo if'u pačiame paring'e paaiškinti...

expire_date = DATA_ADD(IF(expire_date = 0){NOW();}else{expire_date}), INTERVAL 30 DAY)

taip ?

49

(19 replies, posted in PHP)

Aišku, o tą praitą datą gerai gaunu ?

$aa = mysql_query("SELECT expire_date FROM players
WHERE players.id='".$message."');

ir tada būtų

if($aa = 0)
{
   $paring="UPDATE players SET sth=1 expire_date=DATA_ADD(NOW(), INTERVAL 30 DAY) WHERE players.id='".$message."')";
}else{
   $paring="UPDATE players SET sth=1 expire_date=DATA_ADD($aa, INTERVAL 30 DAY) WHERE players.id='".$message."')";
}

ar aš neteisus ;) ?

50

(19 replies, posted in PHP)

Jo, bet man vienas žmogus sakė jog time() naudoti geriau, nežinau kodėl, galbūt prie jo lengviau pridėti datą...

Ar veiktų jei naudočiau DATE_ADD(time();, INTERVAL 30 DAY) ??? ar reiktų naudoti DATE_ADD(NOW();, INTERVAL 30 DAY) ???

Ir kaip dėlto jog pratęsti datą...

51

(19 replies, posted in PHP)

minde wrote:

Kadangi jau sukūrei 3-ią temą dėl to pačio klausimo, tai noriu priminti:
http://www.mysql.lt/forumas/viewtopic.php?id=1574
http://www.mysql.lt/forumas/viewtopic.php?id=1568

Toliau noriu pasakyti, kad lengviausia viską padaryti MySQL'e, nenaudojant PHP.
Operacijoms su datomis ir laiku funkcijos yra čia:
http://dev.mysql.com/doc/refman/5.1/en/ … tions.html

Tiesiog viską atidžiai perskaityk, kad jau yra parašyta visose šiose nuorodose ir turėtų nelikti klausimų (-;

Taip 3 tema, bet klausimai skiriasi.. :)

52

(19 replies, posted in PHP)

Aišku, o kaip paselectinti tą expire_date :S

$aa = mysql_query("SELECT * FROM players
WHERE players.id='".$message."');

ir tada patikrinti if($aa = 0) tada tas kodas kur jau turiu, ir tada else ir ką ten toliau ?

53

(19 replies, posted in PHP)

Kaip padaryti jog prie seno parametro pridėtų naują...

Pas mane tipo paslaugą galima užsisakyti ir kai užsisako į mysql įsirašo štai šita eilutė:

$laikas = time() + 2592000;
$paring="UPDATE players SET sth=1 expire_date='".$laikas."' WHERE players.id='".$message."')";

O aš norėčiau padaryti, jog būtų galima pratęsti tą paslaugą... Jog jei nusiųs nepasibaigus laikui to expire_date laikui, tai senas expire_date prisidės prie naujo, bet jaučiu nesigaus, nes į expire_date įeina ir tas laikas kada buvo užsakyta time(); tai gal koks kitas būdas yra ???

54

(9 replies, posted in PHP)

O man ir nereiks iš tikro daryti, bet unix'us nete paversti galima į datą... taip kad dėl šito nematau problemos :)

55

(9 replies, posted in PHP)

Ar geriau naudoti NOW() funkciją, ar time() kuris saugoja laiką unix'u... ir būtų kažkas tokio:

$laikas = time() + 2592000;

UPDATE lala SET expire_date='".$laikas."'

56

(9 replies, posted in PHP)

Ok, o dar dėl to expire_date, nežinau kaip tą DATA_ADD naudoti, bet iš paaiškinimų supratau jog taip ?

57

(9 replies, posted in PHP)

B. Aš buvau padaręs pagal neto pamoką, nu ten žodžiu tie pagrindiniai dalykai buvo parašyta, tai tikrino tik 1 viršutinę eilutę...

Ir turbūt ir UPDATE Nemokėčiau padaryti pagal tą visų tikrinimą...

čia biškį kitaip padariau su kaikieno pagalba:

<?php
$link = mysql_connect("host", "user", "password");
if (!$link)
{
    die("Could not connect: ".mysql_error());
}
else
{
    $db_selected = mysql_select_db('database', $link);
    if (!$db_selected)
    {
        die("Can't use database: ".mysql_error());
    }
    else
    {
        $sql="UPDATE table SET sth='0' WHERE expire_date < NOW()";
        $query=mysql_query($sql) or die(mysql_error());
        printf("Records updated: %d", mysql_affected_rows());
    }
}
?>

+ aš nebuvau padaręs su errorais, būtų pas mane blogai veikę ;D

Beje dar vienas klausimas dėl pasitikslinimo, ar expire_date gerai gaunu:

expire_date=DATA_ADD(NOW(), INTERVAL 7 DAY)

58

(9 replies, posted in PHP)

Sveiki, kaip padaryti jog php failas prisijungtų prie mysql, ir tikrintų kiekvieną eilutę, jei kurioj nors eilutėj expire_date < NOW(), tada sth parametrą toj eilutėj pakeisti į 0...

Kalbėjau su žmogum šitą reikalą išmanančiu. Cituoju:

"* php scriptuka pasidariau crojob nukreipiau kad atidarinetu kas 1 diena ir veikdavo. be cron neišeis nu yra budas bet ten tiek to kodo reik dx kad neapsimoka arba daryt su time jai ateis kasnors suveiks ..."

Galbūt padėsit ką nors panašaus pasidaryti ?

Nelabai supratau kaip jį panaudoti...

CREATE EVENT e_totals
ON SCHEDULE AT '2006-02-10 23:59:00' [o kaip padaryti jog kas savaitę o ne pagal datą..]
DO INSERT INTO test.totals VALUES (NOW()) [ Kaip padaryti jog tikrintu ar baigiasi<NOW(); ]
ir jei taip, tada kaip padaryti jog pasikeistų sth į 0... Ir reikia jog visas mysql eilutes pereitų ir patikrintų...
DO UPDATE users SET sth=0.

EDIT: O gal yra lengvesnis būdas tai padaryti su php ?