Warning: count(): Parameter must be an array or an object that implements Countable in /home/pasokime/domains/mysql.lt/public_html/forumas/include/parser.php on line 820

Topic: Mano Klausimai

Sveiki.
Taigi cia raysiu savo klausimus.

1.Gal yra kokia funkcija kuri prieš kiekviena didžiaja raide pridetu tam tikra simboli tarkim [*].
Pvz.: BlogasTaisyklės --> Blogas*Taisyklės.

Re: Mano Klausimai

Yra. Su preg_replace() galima tai atlikti, tik reikės pasirašyti atitinkamą šabloną.

Re: Mano Klausimai

stai toki pasidariau:

<?php
$zodis = 'TuEsi.';
$ABC = array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");
$SPACE = array(" A"," B"," C"," D"," E"," F"," G"," H"," I"," J"," K"," L"," M"," N"," O"," P"," Q"," R"," S"," T"," U"," V"," W"," X"," Y"," Z" );
echo str_replace($ABC, $SPACE, $zodis);
?>

Gerai? ar yra ir paprastenis budas

Re: Mano Klausimai

Galima ir taip, kaip tu padarei, bet.... yra lengesnis būdas, kaip sakiau, su preg_replace:

$eilute = "AaaNaMas";
echo preg_replace("/([A-Z])/", "*$1", $eilute);

*Aaa*Na*Mas

Re: Mano Klausimai

Dekui.
Na kaip tikrinau 5 kartus mano budu beveik 2x greiciau atlieka  ;] vidurkis: str_replace - 3.8862228393555E-5 seconds
preg_replace - 6.5088272094727E-5.
Tad pasilieku prie savo ;]

Re: Mano Klausimai

Na.. jeigu tu lygini 0.000038 ir 0.000065 sekundės ir tau tai svarbiau negu papradtumas ir lankstumas tai pasilik prie "savo" varianto (-;

Re: Mano Klausimai

________Kitas Klausimas_________
2.Del mysql [SHOW TABLES FROM DB]
Tai atvaizduos visu leneteliu pavadinimus. Kaip padaryt jog neatvaizduotu tam tikros lenteles pavadinimo tarkim `vartotojai`

Re: Mano Klausimai

Avice wrote:

________Kitas Klausimas_________
2.Del mysql [SHOW TABLES FROM DB]
Tai atvaizduos visu leneteliu pavadinimus. Kaip padaryt jog neatvaizduotu tam tikros lenteles pavadinimo tarkim `vartotojai`

Gali naudoti LIKE arba WHERE ir ten nurodyti kurių tau nereikia.

Re: Mano Klausimai

minde wrote:
Avice wrote:

________Kitas Klausimas_________
2.Del mysql [SHOW TABLES FROM DB]
Tai atvaizduos visu leneteliu pavadinimus. Kaip padaryt jog neatvaizduotu tam tikros lenteles pavadinimo tarkim `vartotojai`

Gali naudoti LIKE arba WHERE ir ten nurodyti kurių tau nereikia.

Ir kaip ta uzklausa turetu atrodyt?
Bandziau NOT LIKE 'vartotojai' bet NOT LIKE neveikia ;/

Re: Mano Klausimai

Avice wrote:
minde wrote:
Avice wrote:

________Kitas Klausimas_________
2.Del mysql [SHOW TABLES FROM DB]
Tai atvaizduos visu leneteliu pavadinimus. Kaip padaryt jog neatvaizduotu tam tikros lenteles pavadinimo tarkim `vartotojai`

Gali naudoti LIKE arba WHERE ir ten nurodyti kurių tau nereikia.

Ir kaip ta uzklausa turetu atrodyt?
Bandziau NOT LIKE 'vartotojai' bet NOT LIKE neveikia ;/

http://dev.mysql.com/doc/refman/5.0/en/show-tables.html

Re: Mano Klausimai

Dekui.

Pasidariau taip:

function game($prefiksas)
{
$sql = "SHOW TABLES FROM `avice_game` LIKE '".$prefiksas."_%'";
$result = mysql_query($sql);
while ($row = mysql_fetch_row($result)) {
echo "<li><a href='?game=".$row[0]."'>".abc($row[0])."</a></li>";
}    
}

Lyg ir gerai ;]

Re: Mano Klausimai

Kitas klausimas.
Yra apie ~40 mysql lenteliu.
visos su tokia struktura:
id. vardas. score.
1. test. 50.
Kaip butu lengviausia is visu lenteliu istraukt po viena varda kuris turetu daugiausiai score.
Ir tai butu apie ~40 vardu ;]

Re: Mano Klausimai

Reikia iš tų vienodos struktūros lentelių perdaryti viską į vieną lentelę su papildomų stulpeliu, kuris rodytu, kuri "sena_lentelė" čia yra. Tada viskas būtų atliekama su viena paprasta užklausa.

O dabar tau teks naudoti 40 užklausų, kurias geriausiu atveju gali sujungi tik per UNION.

Jeigu užklausą gaminsi dinamiškai, tai gali pasinaudoti information_schema duomenimis.

14 (edited by Avice 2011-06-15 12:02:10)

Re: Mano Klausimai

information_schema labai jau ilgai uzklausa vygdo ;/
Banysiu viska vienoje lentele padaryt.

Re: Mano Klausimai

Jau viska pilnai perdariau ant vienos lenteles.
Tai dabar tarkim struktura:
id. name. folder. score
1. testas 24       50
2. iks     24       65
3. gl      31        31
4. xs     24        12
5. test   31        50

Tai kaip dabar turetu atrodyt uzklausa , kad istraukti didziausius pagal score ir tik 1 rezultatas is 1 folder.
Tai atrodyt turetu taip.
1.iks 65
2.test 50

Re: Mano Klausimai

Avice wrote:

Jau viska pilnai perdariau ant vienos lenteles.
Tai dabar tarkim struktura:
id. name. folder. score
1. testas 24       50
2. iks     24       65
3. gl      31        31
4. xs     24        12
5. test   31        50

Tai kaip dabar turetu atrodyt uzklausa , kad istraukti didziausius pagal score ir tik 1 rezultatas is 1 folder.
Tai atrodyt turetu taip.
1.iks 65
2.test 50

Grupuoji pagal `folder` o rezultatuose imi MAX(`score`).

Re: Mano Klausimai

$MySQL = "PASIRINKTI  kur max score Iš Lentelės KUR folder yra lygus dvidešimt keturiems apbriboti nuo nulio iki dviejų";

va. :D

Mindė pirmas spėjo.. :))

Re: Mano Klausimai

Dekui  Veikia ;]

SELECT name, MAX(score) FROM `servers` WHERE `on`='2' group BY `game`

Re: Mano Klausimai

O kaip atvaizduot name to kuriame daugiausiai score? Nes dabar betkoki name atvaizduja is tos game grupes

Re: Mano Klausimai

Turėtum gautą rezultatą sujungti su pradine lentele pagal `score` ir reikiamus duomenis pasiimti tokiu būdų. čia aišku klausimas yra ar `score` yra unikalus ar ne, ir ką daryto jeigu yra dublikatai.