10/10/2018, 09:50

Giúp mình về vòng lặp while trong php

PHP Code:
$query_1="select * from chuyenmuc";
$sql_1=mysql_query($query_1);

$query_2="select * from loaitin";
$sql_2=mysql_query($query_2);

$dem=1;
while(
$result_1=mysql_fetch_array($sql_1))
{
    echo 
$dem.". <b>".$result_1***91;'tencm'***93;."</b><br> ";

    while(
$result_2=mysql_fetch_array($sql_2))
    {
        if(
$result_2***91;'idcm'***93;==$dem)
        {
            echo 
"- ".$result_2***91;'tenlt'***93;."<br>";
        }                
    }            
    
$dem++;

Cho mình hỏi là mình sai chỗ nào mà vòng lặp while bên trong chỉ chạy lần thứ nhất khi $dem==1, khi vòng while bên ngoài chạy lần thứ 2 trở đi thì nó bỏ qua vòng while bên trong. Giúp mình với...
fotech_nd viết 12:06 ngày 10/10/2018
=> Nếu mình đoán không nhầm thì code của bạn sẽ là:
PHP Code:
$query_1="select * from chuyenmuc";
$sql_1=mysql_query($query_1);

$dem=1;
while(
$result_1=mysql_fetch_array($sql_1))
{
    echo 
$dem.". <b>".$result_1***91;'tencm'***93;."</b><br> ";

    
$query_2="select * from loaitin where idcm=".$dem;
    
$sql_2=mysql_query($query_2);
    while(
$result_2=mysql_fetch_array($sql_2))
    {
        echo 
"- ".$result_2***91;'tenlt'***93;."<br>";
    }
    
$dem++;

newmem90 viết 11:51 ngày 10/10/2018
chuẩn luôn, chạy rồi, cám ơn bạn nhiều nha. Bạn có thể giải thích cho mình tại sao lại như vậy không? code chạy được mà không hiểu thì ấm ức lắm :p
thuyduongcd viết 11:51 ngày 10/10/2018
Code:
$result_2=mysql_fetch_array($sql_2)
Chạy lần thứ nhất fetch hết rồi thì khi lặp lại, nếu không gọi query lần nữa, lúc nào nó cũng trả về false nên dĩ nhiên nó không lặp rồi.
Người ta mang đến cho 1 túi bánh, hôm nay ăn hết rồi thì ngày mai lấy đâu ra mà ăn nữa nếu không kêu người ta mang đến nữa.
phuongthom viết 12:07 ngày 10/10/2018
Cho mình hỏi là mình sai chỗ nào mà vòng lặp while bên trong chỉ chạy lần thứ nhất khi $dem==1, khi vòng while bên ngoài chạy lần thứ 2 trở đi thì nó bỏ qua vòng while bên trong. Giúp mình với...
sai cơ bản về thuật giải

vòng lặp 2 phụ thuộc vào kết quả vòng lặp 1 thì tại sao điều kiện vòng lặp 2 lại ngang hàng với điều kiện vòng lặp 1 (ở đoạn dưới)
PHP Code:
$query_1="select * from chuyenmuc";
$sql_1=mysql_query($query_1);

$query_2="select * from loaitin";
$sql_2=mysql_query($query_2); 
vì thế
PHP Code:
$query_2="select * from loaitin";
$sql_2=mysql_query($query_2); 
phải nằm trong
vòng lặp thứ nhất mới đúng

hơn nữa, sử dụng lệnh WHERE của mysql
PHP Code:
$query_2="select * from loaitin where idcm=".$dem;
$sql_2=mysql_query($query_2); 
while(
$result_2=mysql_fetch_array($sql_2)) 
sẽ tối ưu hơn là
PHP Code:
$query_2="select * from loaitin";
$sql_2=mysql_query($query_2);
while(
$result_2=mysql_fetch_array($sql_2))
    {
        if(
$result_2***91;'idcm'***93;==$dem
Bài liên quan
0