Có lần mình đã giới thiệu qua cho các bạn về mảng trong phần viết về làm quen với PHP và MySql. Hôm nay mình xin giới thiệu về vồng lặp foreach:
Trước tiên chúng ta tìm hiểu thế nào là vòng lặp? Vòng lặp là việc dùng đi dùng lại những câu lệnh, biểu thức, hàm,... trong ngôn ngữ lập trình - ở đây là PHP. Trong PHP có 1 số loại vòng lặp sau: Do...while, while, For, Foreach. Các bạn có thể tìm hiểu các vòng lặp đó tại:
http://daotaolaptrinh.edu.vn/ hoặc Google.com.vn
Trước tiên chúng ta tìm hiểu thế nào là vòng lặp? Vòng lặp là việc dùng đi dùng lại những câu lệnh, biểu thức, hàm,... trong ngôn ngữ lập trình - ở đây là PHP. Trong PHP có 1 số loại vòng lặp sau: Do...while, while, For, Foreach. Các bạn có thể tìm hiểu các vòng lặp đó tại:
http://daotaolaptrinh.edu.vn/ hoặc Google.com.vn
Hàm foreach tương tự như hàm while, nếu sử dụng while kết hợp thông qua
một danh sách kết quả từ truy vấn
foreach ($row as $value)
{
echo $value;
echo “<br>”;
}
Ví dụ về việc sử dụng foreach. Mở tập select.php sửa đổi lại
như sau.
<?php
//connect to MySQL
$connect =
mysql_connect("localhost", "root", "")
or die("Hey loser,
check your server connection.");
//make sure we're using
the right database
mysql_select_db("moviesite");
$query = "SELECT
movie_name, movie_type " ."FROM movie ";
$results =
mysql_query($query)
or die(mysql_error());
//while ($row =
mysql_fetch_array($results,MYSQL_ASSOC)){
while ($row =
mysql_fetch_assoc($results))
{
foreach ($row as $val1)
{
echo $val1;
echo " ";
}
echo
"<br>";
//extract($row);
//echo $movietype_id;
//echo " - ";
//echo $movietype_label;
}
?>
Sau khi cho chạy chương
trình, giao diện như hình dưới:
:
Nó làm việc thế nào:
Ghi chú: Ở đây có sử dụng
while
($row = mysql_fetch_assoc($results))
{
foreach ($row as $val1)
{
echo $val1;
echo “ “;
}
}
So với phần trước, dùng hàm
while ($row =
mysql_fetch_array($results))
{
extract($row);
echo $movie_name;
echo “ - “;
echo $movie_type;
echo “<br>”;
}
Dùng hàm foreach ta thấy ngắn gọn hơn , nó xuất
tất cả thông tin liên quan mà khôn cần dùng lệnh echo để chỉ định.
Một điều cần chú ý nữa là
nếu ta sử dụng lệnh: while ($row = mysql_fetch_array($results)) thay cho câu
lệnh :while ($row = mysql_fetch_assoc($results)) thì kết quả sẽ xuất ra 2 lần.
Để khắc phục tình trạng này ta dùng: mysql_fetch_array($results,MYSQL_ASSOC)
hoặc mysql_fetch_assoc
·
Sử dụng fereach để tạo một mảng
Ví dụ.
select2.php
` <?php
//connect to MySQL
$connect =
mysql_connect("localhost", "root", "")
or die("Hey loser,
check your server connection.");
//make sure we’re using the right
database
mysql_select_db("moviesite");
$query = "SELECT *
" .
"FROM movie " .
"WHERE movie_year>1990 "
.
"ORDER BY movie_type";
$results = mysql_query($query)
or die(mysql_error());
echo "<table
border=\"1\">\n";
while ($row =
mysql_fetch_assoc($results))
{
echo "<tr>\n";
foreach($row as $value)
{
echo "<td>\n";
echo $value;
echo "</td>\n";
}
echo
"</tr>\n";
}
echo "</table>\n";
?>
Kết quả sau khi chạy như sau:
:
Ở đây làm việc thế nào?
Bạn sử dụng mệnh mysql_query và while để phục
hồi lại lĩnh vực của bạn.Sau đó, với mỗi giá trị bạn nhận lại, bạn đặt nó ở mỗi
ô phân cách và kết chúng lại trong html và echo.
0 nhận xét: