Truy vấn PHP MySQL bên trong vòng lặp while

Ngoài ra, không trộn lẫn HTML và PHP - ít nhất hãy chuyển truy vấn sang chức năng riêng biệt và hiển thị sang chức năng khác

Và vệ sinh đầu vào - không đặt trực tiếp biến _POST vào truy vấn

điểm. 1

Ngoài đề xuất @AlexAtNet, tôi sẽ thêm để mỗi lỗi chỉ được trả về một lần (ngay cả khi nhiều trình duyệt bị ảnh hưởng)

Trong phần này, chúng tôi sẽ trình bày tổng quan về Vòng lặp WHILE của MySQL và sau đó sẽ trình bày thuật toán của từng ví dụ và sau đó sẽ xem phân tích của từng ví dụ. Hãy thảo luận từng cái một

Giới thiệu
Câu lệnh vòng lặp WHILE của MySQL được sử dụng để thực hiện lặp đi lặp lại một hoặc nhiều câu lệnh, miễn là một điều kiện là đúng. Chúng ta có thể sử dụng vòng lặp khi cần thực hiện một tác vụ có tính lặp lại trong khi điều kiện là đúng
Ghi chú -
Sử dụng câu lệnh WHILE LOOP trong trường hợp bạn không chắc mình muốn thân vòng lặp thực hiện bao nhiêu lần. Vì điều kiện WHILE được đánh giá trước khi vào vòng lặp, nên có thể thân vòng lặp không được thực thi dù chỉ một lần

cú pháp

[label_name:] WHILE 
condition DO 
  statements_list
END WHILE [label_name]

Ý nghĩa nhãn cú pháp –

  • Tên_nhãn –
    label_name là tùy chọn, đó là tên liên quan đến vòng lặp WHILE
  • Điều kiện -
    điều kiện được kiểm tra từng trải qua vòng lặp WHILE. Nếu điều kiện cho kết quả là TRUE, thì danh sách câu lệnh được thực thi, hoặc nếu điều kiện cho kết quả là FALSE, vòng lặp WHILE sẽ kết thúc
  • Statements_list –
    Statements_list là danh sách các câu lệnh được thực thi trong vòng lặp WHILE

Sơ đồ khối của vòng lặp While

Truy vấn PHP MySQL bên trong vòng lặp while

Sơ đồ khối của vòng lặp WHILE

 

Ví dụ về Vòng lặp WHILE của MySQL

Ví dụ 1.  
Cho phép chúng tôi tạo một hàm bằng vòng lặp while

DELIMITER $$
CREATE FUNCTION GeekInc ( value INT )
RETURNS INT
BEGIN
  DECLARE inc INT;
  SET inc = 0;
  label: 
WHILE inc <= 30000 DO
    SET inc = inc + value;
  END 
WHILE label;
  RETURN inc;
END; $$
DELIMITER ;

Phân tích -

  • Giá trị là đầu vào cho chức năng GeekInc
  • inc được khai báo và đặt thành 0
  • Trong khi inc nhỏ hơn và bằng 3000, nó sẽ đặt inc thành giá trị inc +

Để kiểm tra đầu ra đã sử dụng lệnh sau được đưa ra bên dưới

CALL GeekInc(10000);

Đầu ra –

0, 10000, 20000, 30000

Ví dụ-2
Hãy để chúng tôi tạo một thủ tục bằng cách sử dụng vòng lặp while

DELIMITER $$
CREATE procedure while_ex()
block: BEGIN
 declare value VARCHAR(20) default ' ' ;
 declare num INT default 0;
 SET num = 1;
 WHILE num <= 5 DO
   SET value = CONCAT(value, num ,',' );
   SET num = num + 1;
 END
 WHILE block;
 select value ;
END $$
DELIMITER ;

Phân tích -

  • tạo thủ tục while_ex và khai báo giá trị và số
  • đặt num là 1, trong khi num bằng hoặc nhỏ hơn 5 thì làm
  • đặt giá trị bằng cách nối giá trị và số

Để kiểm tra đầu ra đã sử dụng lệnh sau được đưa ra bên dưới

call while_ex();

Đầu ra –

giá trị1,2,3,4,5

Ví dụ-3.  
Hãy để chúng tôi tạo một bảng “Test_Cal” có các ngày như sau

CREATE TABLE Test_Cal(
   t_in INT AUTO_INCREMENT,
   fulldate DATE UNIQUE,
   day TINYINT NOT NULL,
   month TINYINT NOT NULL,
   PRIMARY KEY(id)
);

Bây giờ, tạo thủ tục lưu sẵn để chèn dữ liệu vào bảng như sau

DELIMITER $$
CREATE PROCEDURE InsertCal(dt DATE)
BEGIN
   INSERT INTO Test_Cal(
       fulldate,
       day,
       month )
   VALUES(dt,  
       EXTRACT(DAY FROM dt),
       EXTRACT(MONTH FROM dt)
     );
END$$
DELIMITER ;

Bây giờ hãy tạo thủ tục lưu trữ LoadCal() cập nhật số ngày bắt đầu từ ngày bắt đầu vào bảng


Vòng lặp while - Lặp qua một khối mã miễn là điều kiện được chỉ định là đúng


Vòng lặp trong khi PHP

Vòng lặp while thực thi một khối mã miễn là điều kiện được chỉ định là đúng

cú pháp

while (điều kiện đúng) {
mã được thực thi;
}

ví dụ

Ví dụ dưới đây hiển thị các số từ 1 đến 5

Thí dụ

$x = 1;

trong khi($x <= 5) {
tiếng vang "Số là. $x
“;
$x++;
}
?>

Tự mình thử »

Ví dụ giải thích

  • $x = 1;
  • $x <= 5 - Tiếp tục vòng lặp miễn là $x nhỏ hơn hoặc bằng 5
  • $x++;

Ví dụ này đếm đến 100 bằng hàng chục

Thí dụ

$x = 0;

trong khi($x <= 100) {
tiếng vang "Số là. $x
“;
$x+=10;
}
?>

Tự mình thử »

Ví dụ giải thích

  • $x = 0;
  • $x <= 100 - Tiếp tục vòng lặp miễn là $x nhỏ hơn hoặc bằng 100
  • $x+=10;


Bài tập PHP

Kiểm tra bản thân với các bài tập

Bài tập

Xuất $i miễn là $i nhỏ hơn 6

________số 8_______


Cung cấp câu trả lời "

Chúng ta có thể sử dụng vòng lặp while trong MySQL không?

Câu lệnh vòng lặp WHILE của MySQL được sử dụng để thực hiện lặp đi lặp lại một hoặc nhiều câu lệnh, miễn là điều kiện là đúng. Chúng ta có thể sử dụng vòng lặp khi cần thực hiện tác vụ lặp lại trong khi điều kiện là đúng .

Chúng ta có thể sử dụng vòng lặp while bên trong vòng lặp for trong PHP không?

Vòng lặp while của PHP có thể được sử dụng để duyệt qua bộ mã như vòng lặp for . Vòng lặp while thực thi lặp đi lặp lại một khối mã cho đến khi điều kiện là FALSE. Khi điều kiện là FALSE, nó sẽ thoát khỏi phần thân của vòng lặp.