3,881

(14 replies, posted in PHP)

Tai duomenų išvedimas nieko nesiskiria ar tu juos imi iš vienos lenteles ar iš kelių.

Dėl užklausos sutrumpinimo tai tikriausiai palik kaip yra.

3,882

(14 replies, posted in PHP)

O tai kas konkrečiai neišeina? Nėra rezultatu, gauni klaidos pranešimą?

3,883

(14 replies, posted in PHP)

La,

Kad atlikti paiešką duomenų bazėje reikia atlikti užklausą:

SELECT laukas FROM lentele WHERE laukas LIKE "%zodis%"

(čia tik vienas iš galimų užklausų pavyzdžių. Kaip, ką ir kur naudoti priklauso nuo situacijos)

Paprastas išvedimo pavyzdys naudojant PHP:

$query = 'SELECT laukas FROM lentele WHERE laukas LIKE "%zodis%"';
$result = mysql_query($query) or die('Query failed: ' . mysql_error());

while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
   print_r($line);
}

(čia tik vienas iš galimų pavyzdžių. Kaip, ką ir kur naudoti priklauso nuo situacijos)

Jeigu patikslintum kokias duomenų struktūras turi, ką ir pagal ką nori surasti ir kaip atvaizduoti tai būtų galima daugiau ir patarti.

štai pora nuorodų kur kalbama kaip atlikti paprastas paieškas MySQL duombazėse:
http://www.weberdev.com/ViewArticle.php3?ArticleID=81
http://www.designplace.org/scripts.php? … mp;c_id=25

Taigis, kas turit kokių atsiliepimų apie lietuvos hostintojus, kurie teikia mysql paslaugas? Būtų idomu išgirsti atsiliepimus, problemas ir panašius dalykus ;)

3,885

(8 replies, posted in PHP)

Teisingai foobar pastebėjo.

Aš tik pridursiu, kad saugantis nuo "sql injection" visus SQL užklausos parametrus verta patikrinti/validuoti. Dauguma PHP lib'ų/platformų turi vartotojo įvedamų duomenų tikrinimą, kad tarkim $_GET['id'] reikšmė tikrai yra sveikas teigiamas skaičius o ne tarkim "1;INSER INTO users (...";

Man kažkaip FDisk pasiūlymas neaiškus ;)

KT819GM, gali patikslinti sitiaciją?
Jei teisingai supratau, tu gauni krūvą teksto ir tau reikia automatizuotai identifikuoti klaidas ir gauti jų kažkokius tai aprašymus iš duombazės?

3,887

(8 replies, posted in Visa kita)

foobar wrote:

nah, use putty.exe ^^

O kuo putty.exe/telnet.exe geriau už mysql.exe? Ir dar kuo ten kas nors yra patogiau/paprasčiau/lengviau? ;)

3,888

(8 replies, posted in Visa kita)

Kodėl nesamonė? ;)

O Navicat'as yra komercinis. Tu juk klausei apie nemokamus.

Na taip, mysql'e NULL + 1 = NULL ;)
Todėl reikėtu bandyti kaip nors tą NULL'a pakeisti i nulį:

SELECT users.name,
    IFNULL(history11.points,0) + IFNULL(history12.points,0) + IFNULL(users.points,0) AS overallpoints
FROM users
    LEFT JOIN history11 USING name
    LEFT JOIN history12 USING name
ORDER BY overallpoints DESC
LIMIT 25

Parodyk lentelių users, history11 ir history12 duomenų schemas.

Tai bandyk kažką panašaus:

SELECT users.name,
    history11.points + history12.points + users.points AS overallpoints
FROM users
    LEFT JOIN (history11) USING (name)
    LEFT JOIN (history12) USING (name)
ORDER BY overallpoints DESC
LIMIT 25

Gal gali tiksliau paaiškinti ko tau reikia?

JOIN'ai yra keliu tipų. Standartinis ("JOIN" arba "INNER JOIN") ir yra naudojamas, kada iš lenetelių sujungiami stulpeliai, kai sujungiamasis stulpelis sutampa. Yra dar toks LEFT JOIN'as (ir RIGHT JOIN), kai iš pirmos (kairės) lenteles paimami visi duomenys, o iš dešinės tik tie, kurie sutapo.

Gali pažiūrėti manual'e ką rašo apie JOIN'us: http://dev.mysql.com/doc/refman/4.1/en/join.html

MBIK wrote:

Ir aš su JOIN neaiškumų turiu.
Mano supratimu, jeigu kiekvienoje sujungiamoje lentelėje yra toks pat laukas, tai galima sujungti per jį, rašant USING (`lauko_pavadinimas`).

Taip galima.

MBIK wrote:

gaunu klaidą: #1052 - Column 'name' in from clause is ambiguous

Na nesu tikras, bet gal pabandyk naudoti USING (`name`, `name`).

Arba viską perrašyti:

SELECT users.name, CONCAT( history11.points + history12.points + users.points ) AS overallpoints
FROM users
  JOIN (history11) USING (name)
  JOIN (history12) USING (name)
ORDER BY history11.points + history12.points + users.points DESC
LIMIT 25

3,894

(5 replies, posted in Visa kita)

mysql> select Host, User FROM user;
+---------------+----------+
| Host          | User     |
+---------------+----------+
| localhost     |          |
| localhost     | root     |
+---------------+----------+
2 rows in set (0.00 sec)

JOIN į lietuvių kalbą išvertus reiškia "sujungti". Taigi JOIN'us naudoji, kai nori sujungti lenteles.
Tarkime turi dvi lenteles:

miestai:

id   miestas
------------
1    vilnius
2    kaunas
3    klaipeda
4    siauliai
------------

vardai:

vardas   is_kokio_miesto
------------------------
petras   1
jonas    2
antanas  2
jurgis   4
------------------------

Tada noredamas gauti rezultatuose du stulpelius, kurie rodytu kas yra iš kokios miesto panaudotum JOIN operaciją:

SELECT vardai.vardas, miestai.miestas
FROM vardai
    INNER JOIN miestai ON vardai.is_kokio_miesto = miestai.id

3,896

(2 replies, posted in MySQL diegimas ir konfigūravimas)

La,

Pranešimų forume replikuoti ir postinti negalima. žinutėje parašiau, kad dėl email'ų kreiptis nurodytu el. pašto adresu (minde@mysql.lt) ;)
Jei vis dar nepersigalvojai - parašyk nurodytu el. pašto adresu.

3,897

(8 replies, posted in Visa kita)

Trys įrankiai iš mysql.com:
užklausų redaktorius - http://dev.mysql.com/downloads/query-browser/
vizualinis duomenų struktūrų redaktrius - http://dev.mysql.com/downloads/workbench/
duombazės valdymas - http://dev.mysql.com/downloads/administrator/

Sveiki,

Norintys gauti @mysql.lt elektroninio pašto adresą rašykite į minde@mysql.lt.
Nurodykite pageidaujamą pavadinimą. Yra POP3/IMAP/SMTP serveriai.
Taip pat yra galimybė laiškus skaityti per interneto naršykles bei laiškus nukreipti į kitą el. pašto dėžutę (forwarding).

Adresų skaičius ribotas - šios akcijos metu bus išdalinta 10 adresų. Prašom nesnaust ;)

3,899

(0 replies, posted in Pranešimai)

Paleistas forumas orientuotas į MySQL duomenų bazių valdymo sistemą.
Kviečiame dalintis problemomis, sprendimais, mintimis ir patirtimi.