събота, юни 23, 2007

WebTech 2007

Вече е почти сигурно, че ще ходи на WebTech във Варна, ще се гледа футбол, ще се посреща слънчо на 1 юли и ще се пие много бира :) Ще бъде нечовешко. Относно WebTech малко ме притеснява това, че е в 2 зали и не знам дали ще мога да гледам по-интересните лекций, но като пристигнем ще видим какво е положение. Всички, които са в тази посока около 29-30 да се обадят да заформим една "дегустация" :)

// яко оффтопик
Написал съм още 2 туториала за php и MySQL, но имам проблеми с визуализирането на кода в блога. Измислих един вариант с wysiwyg editor, но ми се струва, че трябва да има и по-удачно решение, който се сеща да пише.

вторник, юни 19, 2007

Май ми трябва почивка

Ето до какво води нощ прекарана в компанията на PJ Harvey, 2 кутии цигари и некадърен админ панел с безброй бъгове и четене на блогове в изблик на отчаяние - кръвоизливи в очите. Когато майка ми ме видя щеше да се гътне. Лягам да спя !

Internet се извращава

Понеже тази нощ се отдадох на четене на блогове, в един от тях имаше линк към интересен руски сайт. Та, интересното е, че там за по-малко от 5 мин успях да си намеря 19 годишна проститука в Москва, за която дори не е важно да ползва презерватив. Сайта съдържа подробно описание на девойките - гръдна обиколка, тегло, апартаменти, телефон за връзка, на някои дори пише как се стига до там с метрото. Всичко това за скромната цена от 44$ или 63,80 лева (фиксинг на БНБ 18/06/2007). справка
Ба*ти държавата !
Интернет започва да се извращава. Превърна се в опасно място. Да изключим вирусите, порното и идиотите по форумите. Вече започват да се предлагат неща, които могат да те забъркат в сериозни неща. Ако не внимавам в кои онлайн магазини пазарувам, мога бързо и лесно да остана без стотинка, за сметка на 15 годишен пъпчивец, който е решил да си купи нов компютър с моята карта. Боеве между футболни хулигани се уреждат по форуми. Можеш да си купиш почти всичко по интернет, явно вече всичко. За мен това не е нормално.

Теория на стълбата

Ето една доста известна теория, която бях чел отдавна, мисля че може някои хора да си я прочетат отново за да влязат в детайлите пък дано ми повярват.
ето я и нея


Здрасти Дени ! :D

Умопомрачителен chainletter

Искам да правя секс с теб!
-- изпрати това на всички от листата си, и можеш и да получиш секс, освен ако не си пълен лузър!

Ако сте получили това от мен мисля, че е време да узнаете от къде е взето - тук
Доста интересен блог, мисля че си заслужава да му отделите час-два, собственика му йозруд на 100% :) (в позитивния смисъл на думата естествено)

П.П. Обърнете внимание на лазерния меч от Футурама :D

неделя, юни 17, 2007

MySQL basics

Понеже в момента уча MySQL и PHP, реших да напиша малка поредица от HOWTO-та, които отразяват моя опит и общо взето, това което съм прочел в нета. Това е първото от тях и да се надяваме, че ще ми стигне търпението да напиша още поне 3-4 :)

Създаване на база от данни (БД)

За да създадете база от данни е необходимо да отворите конзола и да стартирате mysql, след което


> mysql -u root -p
mysql> show databases;

+----------+
| Database |
+----------+
| mysql |
| test |
+----------+

mysql> CREATE database petstore;
mysql> USE petstore;
Database changed
mysql> SHOW tables;
Empty set (0.00 sec)


Създаване на таблици

Създадохме БД, но трябва да вмъкнем в нея таблици. Ще създадем 2 таблици - първата ще описва видовете животни в магазин за животни, а втората ще съдържа информация за животните.

mysql> CREATE TABLE species
(
id INT NOT NULL AUTO_INCREMENT,
species varchar(30) NOT NULL,
primary key(id)
);
Query OK, 0 rows affected (0.02 sec)

Създаваме таблица species, която има две колони id и species. AUTO_INCREMENT в колоната ID "казва" на mysql след всеки запис автоматично да увеличава с 1
стойността на ID, това ни освобождава от нуждата всеки път да въвеждаме стойност на ID.

mysql> CREATE TABLE pet
(
id INT NOT NULL AUTO_INCREMENT,
sp_id INT NOT NULL,
sex CHAR(1) NOT NULL,
price DECIMAL(4,2) NOT NULL,
primary key(id)
);
Query OK, 0 rows affected (0.03 sec)


mysql> SHOW tables;
+--------------------+
| Tables_in_petstore |
+--------------------+
| pet |
| species |
+--------------------+
2 rows in set (0.00 sec)


Преглеждаме таблиците.
За да видите по нагледно каква точно таблица се е получила е необходимо само да драснете в конзолата :

mysql> DESCRIBE species;

+---------+-------------+----+-----+---------+---------------+
| Field | Type |Null| Key | Default | Extra |
+---------+-------------+----+-----+---------+---------------+
| id | int(11) | | PRI | NULL | auto_increment|
| name | varchar(30) | | | | |
+---------+-------------+----+-----+---------+---------------+
2 rows in set (0.05 sec)


mysql> DESC pet;

+-------+--------------+----+-----+---------+----------------+
| Field | Type |Null| Key | Default | Extra |
+-------+--------------+----+-----+---------+----------------+
| id | int(11) | | PRI | NULL | auto_increment |
| sp_id | int(11) | | | 0 | |
| sex | char(1) | | | | |
| price | decimal(4,2) | | | 0.00 | |
+-------+--------------+----+-----+---------+----------------+
4 rows in set (0.00 sec)


Извеждаме информация за таблицата pet. Обърнете внимание, че DESCRIBE и DESC вършат една и съща работа, може би защото едното е съкращение от другото :) Може също да използвате explain или show columns.

След като вече имаме таблици, трябва да вкараме информация в тях. Това може да стане директно от конзолата чрез INSERT

mysql> INSERT INTO species (name) values ('Cat');
Query OK, 1 row affected (0.00 sec)


Както виждате, просто пишем INSERT INTO името на таблицата, след това в скоби името на колоната VALUES и отново в скоби, но този път и в единични кавички въвеждаме стойността, която да бъде добавена в полето. Отново си заслужава да отбележим, че не въвеждаме стойност за ID, това става автоматично (AUTO_INCREMENT).

Извеждане на информация от таблица

Извеждането на информацията става доста лесно:

mysql> SELECT * FROM species;

+----+--------+
| id | name |
+----+--------+
| 1 | Cat |
| 2 | Bird |
| 3 | Fish |
| 4 | Turtle |
+----+--------+
4 rows in set (0.00 sec)


Ако искаме да видим само определена колона или част от таблицата можем да направим следното :

mysql> SELECT name FROM species;

+--------+
| name |
+--------+
| Cat |
| Bird |
| Fish |
| Turtle |
+--------+
4 rows in set (0.00 sec)

mysql> SELECT * FROM species WHERE id = 4;

+----+--------+
| id | name |
+----+--------+
| 4 | Turtle |
+----+--------+
1 row in set (0.59 sec)


Обновяване и изтриване на информация

UPDATE се използва за променяне на стойност в таблицата. Например сега ще сменим името от Turtle на Dog.

mysql> UPDATE species SET name = 'Dog' WHERE name = 'Turtle';
Query OK, 1 row affected (0.02 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> SELECT * FROM species;


+----+-------+
| id | name |
+----+-------+
| 1 | Cat |
| 2 | Bird |
| 3 | Fish |
| 4 | Dog |
+----+-------+
4 rows in set (0.00 sec)



DELETE изтрива редове от таблицата, като се задава условието WHERE за да укажем, точно коя част от таблицата да се изтрие. Сега ще изтрием запис с ID=1


mysql> DELETE FROM species WHERE id = 1;
Query OK, 1 row affected (0.00 sec)

mysql> SELECT * FROM species;

+----+-------+
| id | name |
+----+-------+
| 2 | Bird |
| 3 | Fish |
| 4 | Dog |
+----+-------+
3 rows in set (0.01 sec)


Можем да използваме не само "=", но и > (по-голямо) < (по-малко).


Това е за сега, надявам се да е полезно на някого. Можете да погледнете тук и тук за да прочетете интересни статии по темата.