შაბათი, 21.10.2017, 16:54
http://roma.ge
მთავარი რეგისტრაცია შესვლა
მოგესალმები, სტუმარი · RSS
[ ახალი შეტყობინებები · მონაწილეები · ფორუმის წესები · ძებნა · RSS ]
გვერდი 5 დან«123456»
მეზღვაურთა გაერთიანებული ფორუმი » ☜♡☞ მეზღვაურთა ფორუმი ☜♡☞ » ☜♡☞ კომპიუტერი, ინტერნეტი და პროგრამირება ☜♡☞ » ვისწავლოთ PHP
ვისწავლოთ PHP
RAPERთარიღი: შაბათი, 25.09.2010, 20:09 | შეტყობინება # 61
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
რეპუტაცია: 0
სტატუსი: Offline
შეტანის სანიტარია

ჯერ დავრწმუნდეთ რომ შეტანის ველი არსებობს.

შემდეგ გავუკეთოთ სანიტარია შეტანილ მონაცემებს filter_input() ფუნქციის დახმარებით.

ქვემოთ მოყვანილ მაგალითში, ცვლადი "url" გაგზავნილია PHP გვერდზე:

Code
<?php
if(!filter_has_var(INPUT_POST, "url"))
  {
  echo("Input type does not exist");
  }
else
  {
  $url = filter_input(INPUT_POST,  
  "url", FILTER_SANITIZE_URL);
  }
?>

მაგალითის ახსნა:

ზემოთ მოყვანილ მაგალითს აქვს ველი, გაგზავნილი "POST" მეთოდით:
- შევამოწმოთ, თუ არსებობს "POST" ტიპის "url" ცვლადი
- თუ ცვლადი არსებობს, გავუკეთოთ სანიტარიზაცია და მოვაგროვოთ ის $url ცვლადში

თუ სტრინგი ამის მსგავსია : "http://seaman.ge/", $url ცვლადი სანიტარიის მერე გამოიყურება ასე:

Code
http://seaman.ge/
 
RAPERთარიღი: შაბათი, 25.09.2010, 20:10 | შეტყობინება # 62
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
რეპუტაცია: 0
სტატუსი: Offline
რამოდენიმე შეტანის ფილტრაცია

ფორმა თითქმის ყოველთვის შეიცავს ერთზე მეტ შეტანის ველს. filter_var ან filter_input ფუნქციების გამოძახების თავიდან ასარიდებლად, გამოვიყენოთ filter_var_array, filter_input_array ფუნქციები.

ამ მაგალითში ჩვენ ვიყენებთ filter_input_array() ფუნქციას, რათა გავფილტროთ სამი GET ცვლადი. მიღებული GET ცვლადები არის სახელი, წლოვანება და ელ-ფოსტის მისამართი:

Code
<?php
$filters = array
  (
  "name" => array
   (
   "filter"=>FILTER_SANITIZE_STRING
   ),
  "age" => array
   (
   "filter"=>FILTER_VALIDATE_INT,
   "options"=>array
    (
    "min_range"=>1,
    "max_range"=>120
    )
   ),
  "email"=> FILTER_VALIDATE_EMAIL,
  );
$result = filter_input_array(INPUT_GET, $filters);
if (!$result["age"])
  {
  echo("Age must be a number between 1 and 120.<br />");
  }
elseif(!$result["email"])
  {
  echo("E-Mail is not valid.<br />");
  }
else
  {
  echo("User input is valid");
  }
?>
 
RAPERთარიღი: კვირა, 26.09.2010, 15:13 | შეტყობინება # 63
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
რეპუტაცია: 0
სტატუსი: Offline
PHP MYSQL შესავალი

რა არის MYSQL?

MySQL არის მონაცემთა ბაზა. მონაცემთა ბზა განსაზღვრავს ინფორმაციის მოგროვების სტრუქტურას.
მონაცემთა ბაზაში არის ცხრილები. ისევე როგორც HTML ცხრილები, მონაცემთა ბაზის ცხრილები შეიცავენ რიგებს, სვეტებს და უჯრედებს.
მონაცემთა ბზაზების გამოყენება სასარგებლოა, მაშინ, როცა ვაგროვებთ კატეგორიულ ინფორმაციას. კომპანიას შესაძლოა ქონდეს მონაცემთა ბაზა მიმდინარე ცხრილებით: "მოსამსახურეები", "პროდუქტები", "მყიდველები" და "შეკვეთები".

მონაცემთა ბაზის ცხრილები

მონაცემთა ბაზა ყველაზე ხშირად შეიცავს ერთ, ან რამდენიმე ცხრილს. თითოეულ ცხრილს გააჩნია საკუთარი სახელი. თითოეული ცხრილი შეიცავს მონაცემთა ჩანაწერებს.
ქვემოთ მოყვანილია სახელად "Persons" ცხრილის მაგალითი:

ზემოთ მოყვანილი ცხრილი შეიცავს სამ ჩანაწერს (თითოს, თითო პიროვენებისათვის) და ოთხ სვეტს (გვარი, სახელი, მისამართი და ქალაქი).

მიმაგრება: 1776567.jpg(37Kb)
 
RAPERთარიღი: კვირა, 26.09.2010, 15:14 | შეტყობინება # 64
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
რეპუტაცია: 0
სტატუსი: Offline
მოთხოვნები

მოთხოვნა არის შეკითხვა, ან მოთხოვნა.
MySQL-თან ერთად, ჩვენ შეგვიძლია მოვითხოვოთ მონაცემთა ბაზა სპეციფიური ინფორმაციისათვის და და გვქონდეს დაბრუნებული ჩანაწერთა ბაზა. შევხედოთ მიმდინარე მოთხოვნას:

Code
SELECT LastName FROM Persons
 
RAPERთარიღი: კვირა, 26.09.2010, 15:16 | შეტყობინება # 65
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
რეპუტაცია: 0
სტატუსი: Offline
MYSQL - შეერთება მონაცემთა ბაზასთან

MYSQL მონაცემთა ბაზასთან შეერთება

სანამ ჩვენ გვექნება უფლება მონაცემთა ბაზის მონაცემებთან მუშაობისა, ჩვენ უნდა შევქმნათ კავშირი მონაცემთა ბაზებთან.
PHP-ში, ეს კეთდება mysql_connect() ფუნქციით.

სინტაქსი:

Code
mysql_connect(servername,username,password);

მაგალითი

მიმდინარე მაგალითში ჩვენ შევაგროვებთ კავშირებს ცვლადში ($con) მოგვიანებით სკრიპტში გამოსაყენებლად. "die" ნაწილი გაეშვება თუ კავშირი გაწყდება:

Code
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
   {
   die('Could not connect: ' . mysql_error());
   }
// some code
?>
მიმაგრება: 7582433.jpg(59Kb)
 
RAPERთარიღი: კვირა, 26.09.2010, 15:17 | შეტყობინება # 66
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
რეპუტაცია: 0
სტატუსი: Offline
კავშირის დახურვა

კავშირი დაიხურება, მაშინ როდესაც სრიპტი დაამთავრებს მუშაობას. მანამდე კავშირის დახურვისათვის გამოვიყენოთ the mysql_close() ფუნქცია.

Code
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
   {
   die('Could not connect: ' . mysql_error());
   }
// some code
mysql_close($con);
?>
 
RAPERთარიღი: კვირა, 26.09.2010, 15:18 | შეტყობინება # 67
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
რეპუტაცია: 0
სტატუსი: Offline
MYSQL - მონაცემთა ბაზების და ცხრილების შექმნა

მონაცემთა ბაზის შექმნა

CREATE DATABASE ოპერატორი გამოიყენება MySQL მონაცემთა ბაზის შესაქმნელად.

სინტაქსი

Code
CREATE DATABASE database_name

იმისათვის რომ PHP-მ ამუშავოს ზემოთ მოყვანილი ოპერატორი, უნდა გამოვიყენოთ mysql_query() ფუნქცია. ეს ფუნქცია გამოიყენება მოთხოვნის, ან ბრძანების MySQL კავშირზე გასაგზავნად.

მაგალითი

მიმდინარე მაგალითში ჩვენ შევქმნით ბაზას სახელად "my_db":

Code
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
   {
   die('Could not connect: ' . mysql_error());
   }
if (mysql_query("CREATE DATABASE my_db",$con))
   {
   echo "Database created";
   }
else
   {
   echo "Error creating database: " . mysql_error();
   }
mysql_close($con);
?>

ცხრილის შექმნა

CREATE TABLE ოპერატორი გამოიყენება MySQL-ში მონაცემთა ბაზების ცხრილების შესაქმნელად.

სინტაქსი

Code
CREATE TABLE table_name
(
column_name1 data_type,
column_name2 data_type,
column_name3 data_type,
.......
)
 
RAPERთარიღი: კვირა, 26.09.2010, 15:19 | შეტყობინება # 68
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
რეპუტაცია: 0
სტატუსი: Offline
აუცილებელია დავამატოთ CREATE TABLE ოპერატორი mysql_query() ფუნქციაში, რათა შესრულდეს ბრძანება.

მაგალითი

მაგალითი გვიჩვენებს როგორ შევქმნატ ცხრილი სახელად "person", სამი სვეტით. სვეტების სახელები იქნება "FirstName", "LastName" და "Age":

Code
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
   {
   die('Could not connect: ' . mysql_error());
   }
// Create database
if (mysql_query("CREATE DATABASE my_db",$con))
   {
   echo "Database created";
   }
else
   {
   echo "Error creating database: " . mysql_error();
   }
// Create table in my_db database
mysql_select_db("my_db", $con);
$sql = "CREATE TABLE person  
(
FirstName varchar(15),
LastName varchar(15),
Age int
)";
mysql_query($sql,$con);
mysql_close($con);
?>

აუცილებელი: სანამ შეიქმნება ცხრილები უნდა აირჩეს მონაცემთა ბაზა. მონაცემთა ბაზა ირჩევა mysql_select_db() ფუნქციით.
შენიშვნა: როდესაც ვქმნით varchar ტიპის მონაცემთა ბაზის ველს, ჩვენ უნდა მივუთითოთ ველის მაქსიმალური ზომა, მაგ.: varchar(15).

 
RAPERთარიღი: კვირა, 26.09.2010, 15:26 | შეტყობინება # 69
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
რეპუტაცია: 0
სტატუსი: Offline
MYSQL მონაცემთა ტიპები

ქვემოთ მოყვანილია სხვადასვხა MySQL მონაცემთა ტიპები:

 
RAPERთარიღი: კვირა, 26.09.2010, 15:30 | შეტყობინება # 70
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
რეპუტაცია: 0
სტატუსი: Offline

 
RAPERთარიღი: კვირა, 26.09.2010, 15:31 | შეტყობინება # 71
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
რეპუტაცია: 0
სტატუსი: Offline
MYSQL - ჩასმა

მონაცემთა ბაზის ცხრილში მონაცემის ჩასმა

INSERT INTO ოპერატორი გამოიყენება მონაცემთა ბაზის ცხრილში ახალი ჩანაწერის ჩასამატებლად.

სინტაქსი

Code
INSERT INTO table_name
VALUES (value1, value2,....)

ასევე შესაძლებელია სვეტების სპეციფიკაცია, თუ სად გვსურს მონაცემთა ჩასმა:

Code
INSERT INTO table_name (column1, column2,...)
VALUES (value1, value2,....)

შენიშვნა: SQL ოპერატორების დაწერა შესაძლებელია, როგორც პატარა, ასევე დიდი ასოებით.

იმისათვის რომ PHP-მ შეასრულოს ეს ოპერატორი უნდა გამოვიყენოთ mysql_query() ფუნქცია.

მაგალითი

Code
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
   {
   die('Could not connect: ' . mysql_error());
   }
mysql_select_db("my_db", $con);
mysql_query("INSERT INTO person (FirstName, LastName, Age)  
VALUES ('Peter', 'Griffin', '35')");
mysql_query("INSERT INTO person (FirstName, LastName, Age)  
VALUES ('Glenn', 'Quagmire', '33')");
mysql_close($con);
?>

მონაცემთა ბაზაში მონაცემების ფორმიდან ჩამატება

ახლა ჩვენ შევქმნით HTML ფორმას, რომელსაც გამოვიყენებთ ცხრილში ახალი ჩანაწერის ჩამატებისათვის.
HTML ფორმა:

Code
<html>
<body>
<form action="insert.php" method="post">
Firstname: <input type="text" name="firstname" />
Lastname: <input type="text" name="lastname" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
</body>
</html>

როდესაც მომხმარებელი იმოქმედებს submit ღილაკზე, ფორმაში არსებული მონაცემები გაიგზავნება "insert.php" ფაილში. "insert.php" ფაილი შეუერთდება მონაცემთა ბაზას და იპოვის მნისვნელობებს ფორმიდან, PHP $_POST ცვლადებთან ერთად. შემდეგ, mysql_query() ფუნქცია გაუშვებს INSERT INTO ოპერატორს და მონაცემთა ბაზის ცხრილს დაემატება ახალი ჩანაწერი.
ქვემოთ მოყვანილია "insert.php" გვერდის კოდი:

Code
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
   {
   die('Could not connect: ' . mysql_error());
   }
mysql_select_db("my_db", $con);
$sql="INSERT INTO person (FirstName, LastName, Age)
VALUES
('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";
if (!mysql_query($sql,$con))
   {
   die('Error: ' . mysql_error());
   }
echo "1 record added";
mysql_close($con)
?>
 
RAPERთარიღი: კვირა, 26.09.2010, 15:32 | შეტყობინება # 72
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
რეპუტაცია: 0
სტატუსი: Offline
MYSQL - მონიშვნა

მონაცემთა ბაზის ცხრილიდან მონაცემის მონიშვნა

SELECT ოპერატორი გამოიყენება მონაცემთა ბაზის ცხრილში მონაცემის მოსანიშნად.

სინტაქსი

Code
SELECT column_name(s)
FROM table_name

მაგალითი

Code
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
   {
   die('Could not connect: ' . mysql_error());
   }
mysql_select_db("my_db", $con);
$result = mysql_query("SELECT * FROM person");
while($row = mysql_fetch_array($result))
   {
   echo $row['FirstName'] . " " . $row['LastName'];
   echo "<br />";
   }
mysql_close($con);
?>

ზემოთ მოყვანილი მაგალითი აგროვებს mysql_query() ფუნქციით დაბუნებულ მონაცემებს $result ცვლადში. შემდეგ, ჩვენ ვიყენებთ mysql_fetch_array() ფუნქციას პირველი რიგის ჩანაწერთა ბაზდიდან დასაბრუნებლად, როგორც მასივი.
კოდი დაბეჭდავს:

Code
Peter Griffin
Glenn Quagmire
 
RAPERთარიღი: კვირა, 26.09.2010, 15:34 | შეტყობინება # 73
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
რეპუტაცია: 0
სტატუსი: Offline
რეზულტატების HTML ცხრილში გამოსახვა

მიმდინარე მაგალითი მონიშნულ მონაცემებს გამოსახავს HTML ცხრილში:

Code
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
   {
   die('Could not connect: ' . mysql_error());
   }

mysql_select_db("my_db", $con);

$result = mysql_query("SELECT * FROM person");

echo "<table border='1'>
<tr>
<th>Firstname</th>
<th>Lastname</th>
</tr>";
while($row = mysql_fetch_array($result))
   {
   echo "<tr>";
   echo "<td>" . $row['FirstName'] . "</td>";
   echo "<td>" . $row['LastName'] . "</td>";
   echo "</tr>";
   }
echo "</table>";
mysql_close($con);
?>

კოდი დაბეჭდავს:

მიმაგრება: 9921215.jpg(19Kb)
 
RAPERთარიღი: კვირა, 26.09.2010, 15:35 | შეტყობინება # 74
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
რეპუტაცია: 0
სტატუსი: Offline
MYSQL - სადაც წინადადებაა

მხოლოდ იმ მონაცემთა მოსანიშნად, რომელიც ემთხვევა სპეციფიურ კრიტერიუმებს, დავამატოთ WHERE clause, SELECT ოპერატორს.

სინტაქსი

Code
SELECT column FROM table
WHERE column operator value

მაგალითი

Code
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
   {
   die('Could not connect: ' . mysql_error());
   }

mysql_select_db("my_db", $con);

$result = mysql_query("SELECT * FROM person
WHERE FirstName='Peter'");

while($row = mysql_fetch_array($result))
   {
   echo $row['FirstName'] . " " . $row['LastName'];
   echo "<br />";
   }

?>

კოდი დაბეჭდავს:

Code
Peter Griffin
 
RAPERთარიღი: კვირა, 26.09.2010, 15:36 | შეტყობინება # 75
ფორუმელი
ჯგუფი: მომხმარებლები
შეტყობინებები: 757
რეპუტაცია: 0
სტატუსი: Offline
MYSQL - საკვანძო სიტყვებით მითითებული

ORDER BY

ORDER BY გამოიყენება ჩანაწერთა ბაზაში მონაცემების დასალაგებლად.

სინტაქსი

Code
SELECT column_name(s)
FROM table_name
ORDER BY column_name

მაგალითი

Code
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
   {
   die('Could not connect: ' . mysql_error());
   }

mysql_select_db("my_db", $con);

$result = mysql_query("SELECT * FROM person ORDER BY age");

while($row = mysql_fetch_array($result))
   {
   echo $row['FirstName'];
   echo " " . $row['LastName'];
   echo " " . $row['Age'];
   echo "<br />";
   }
mysql_close($con);
?>

კოდი დაბეჭდავს:

Code
Glenn Quagmire 33
Peter Griffin 35
 
მეზღვაურთა გაერთიანებული ფორუმი » ☜♡☞ მეზღვაურთა ფორუმი ☜♡☞ » ☜♡☞ კომპიუტერი, ინტერნეტი და პროგრამირება ☜♡☞ » ვისწავლოთ PHP
გვერდი 5 დან«123456»
ძებნა:

ჰოსტერი uCoz