Tăng giá trị của bộ đếm khi nhấp vào nút trong PHP

Khi nói đến việc đồng bộ hóa bộ đếm của bạn trên trang, với giá trị bộ đếm trong cơ sở dữ liệu của bạn, đừng bao giờ tin tưởng khách hàng. Bạn gửi tín hiệu tăng hoặc giảm tới tập lệnh phía máy chủ của mình, thay vì giá trị liên tục, chẳng hạn như 10 hoặc 23

Tăng giá trị của bộ đếm khi nhấp vào nút trong javascript Tăng giá trị của bộ đếm khi nhấp vào nút trong javascript. 2. Nếu tất cả các thử nghiệm này trả về true, chúng tôi sẽ tăng giá trị bằng cách sử dụng cấu trúc. txtElement. Đối với nút A hoặc B. Trình xử lý này hoạt động khi nút được ấn xuống và thả ra trong vòng 1 giây

Có ba cách để làm điều đó trong JavaScript. Nút JavaScript nội tuyến 1 Nút 2 Đây là cách Hitler phát triển các trang web. Đừng làm điều này. Xử lý sự kiện. Điều này yêu cầu bạn phải đợi cho đến khi DOM được tải và sau đó "lấy" hai nút của bạn bằng cách nào đó

Toán tử gán PHP. Các toán tử gán PHP được sử dụng với các giá trị số để ghi một giá trị cho một biến. Toán tử gán cơ bản trong PHP là "=". Điều đó có nghĩa là toán hạng bên trái được đặt thành giá trị của biểu thức gán bên phải

bộ nhớ đệm. gia tăng [] tăng giá trị của một mục theo giá trị đã chỉ định. Nếu mục được chỉ định bởi khóa không phải là số và không thể chuyển đổi thành số, nó sẽ thay đổi giá trị của nó thành giá trị. bộ nhớ đệm. gia tăng [] không tạo một mục nếu nó chưa tồn tại

Các hướng dẫn xây dựng web được tổ chức tốt và dễ hiểu với nhiều ví dụ về cách sử dụng HTML, CSS, JavaScript, SQL, PHP, Python, Bootstrap, Java và XML

Toán tử logic && PHP. Hình ảnh trên giúp bạn hiểu được khái niệm LOGICAL VÀ hoạt động với sự tương tự giữa vòi và nước. Trường hợp 1 của hình, cả 2 vòi đều đóng nên nước không chảy xuống. Điều này giải thích rằng nếu cả hai điều kiện là FALSE hoặc 0, thì kết quả trả về là FALSE hoặc 0

PHP hỗ trợ các toán tử tăng và giảm trước và sau kiểu C. Toán tử tăng/giảm chỉ hoạt động trên các biến chứ không phải trên bất kỳ giá trị nào

JavaScript là phía máy khách và PHP là ngôn ngữ tập lệnh phía máy chủ. Cách chuyển một biến JavaScript sang PHP là thông qua một yêu cầu. Phương pháp 1. Ví dụ này sử dụng phần tử biểu mẫu và phương thức GET/POST để chuyển các biến JavaScript sang PHP. Dạng nội dung có thể được truy cập thông qua các hành động GET và POST trong PHP

Cổng thông tin Khoa học Máy tính dành cho chuyên viên máy tính. Nó chứa các bài báo về lập trình và khoa học máy tính được viết tốt, được suy nghĩ kỹ và giải thích rõ ràng, các câu đố và câu hỏi thực hành/lập trình cạnh tranh/phỏng vấn công ty

Truyền biến từ JavaScript sang PHP. Truyền một biến không đơn giản. Không giống như trước đây, chúng tôi đã sử dụng phương thức get để gửi một biến JavaScript tới PHP. Sử dụng JavaScript thông thường, không thể trao đổi giá trị từ JS sang PHP mà không gửi giá trị đến máy chủ. Vì vậy, bạn phải tải lại trang để làm cho nó hoạt động

2. getElementsByClassName trả về mảng đối tượng, giả sử bạn muốn mã truy cập vào nút đầu tiên, thì mã sẽ giống như tài liệu. getElementsByClassName["btn"][0];

3. Giá trị văn bản ban đầu của nút là 0 khi tải trang, vì vậy khi nhấp vào nút, bộ đếm sẽ hiển thị 1, hoặc di chuyển bộ đếm ++;

4. Bạn cũng có thể cập nhật nút để bao gồm thuộc tính id i và JavaScript để sử dụng phương thức getElementById

0

Tài liệu. getElementsByClassName[]. MDN[^]

Thêm giải pháp của bạn ở đây

 B   I   U   S  small BIG code var     &  link [^] encode untab case indent outdent

Xem trước 0

thành viên hiện có

hoặc tham gia với chúng tôi

Tải xuống, Bình chọn, Nhận xét, Xuất bản

Email của bạn

Email này đang được sử dụng. Bạn có cần mật khẩu của bạn?

Mật khẩu tùy chọn

Khi trả lời một câu hỏi xin vui lòng

  1. Đọc kỹ câu hỏi
  2. Hiểu rằng tiếng Anh không phải là ngôn ngữ đầu tiên của mọi người, vì vậy hãy khoan dung với lỗi chính tả và ngữ pháp
  3. Nếu một câu hỏi được diễn đạt kém thì hãy yêu cầu làm rõ, bỏ qua nó hoặc chỉnh sửa câu hỏi và khắc phục sự cố. Xúc phạm không được chào đón
  4. Đừng bảo ai đó đọc hướng dẫn. Rất có thể họ có và không nhận được. Đưa ra câu trả lời hoặc chuyển sang câu hỏi tiếp theo
Hãy làm việc để giúp các nhà phát triển, không làm họ cảm thấy ngu ngốc


Nội dung này, cùng với bất kỳ tệp và mã nguồn liên quan nào, được cấp phép theo Giấy phép Mở Dự án Code [CPOL]

Xin chào các bạn, tôi đang cố gắng tìm cách tạo một biến tăng dần mỗi khi nhấn nút gửi. Những gì tôi có là một trang web cơ bản có biểu mẫu chứa 3 danh sách thả xuống. Người dùng nhấp vào một mục trong danh sách, sau đó nhấp vào nút gửi ở cuối trang để thêm mục đó vào danh sách. Danh sách này được tạo bởi một cột "đã chọn" trong cơ sở dữ liệu của tôi, đại diện cho một giá trị số. Tôi đã sử dụng truy vấn MySQL để cập nhật cột "đã chọn" [bắt đầu là "0" mặc định] thành "1" nếu mục được chọn, sau đó truy vấn MySQL khác để kéo tất cả các mục trong cơ sở dữ liệu bằng "1". Thay vào đó, điều tôi muốn làm là tạo một biến bộ đếm cập nhật cột "đã chọn" trong cơ sở dữ liệu thành một biến số tăng dần để tôi có thể liệt kê các mục theo thứ tự do người dùng chọn, chứ không phải theo thứ tự chúng xuất hiện trong danh sách của tôi.

 

tl;dr - Tôi muốn cập nhật một cột trong cơ sở dữ liệu của mình bằng một biến bộ đếm tăng lên mỗi khi nhấn nút gửi của tôi

 

 

Đây là một phần mã của tôi không hoạt động như mong muốn, nếu điều này có ích

 

$mainCounter = $mainCounter + $subCounter;
if[$_POST['submitted'] == true] {
$subCounter++; 
$destChose = $_POST['destList'];
$memChose = $_POST['memList'];
$restChose = $_POST['restList'];

//Destination If Statement	
if[$destChose >= 1] {

mysql_query["update combineddests
    			set selected={$mainCounter}
    			where id={$destChose}"];
}//closes if destchose		

//Memorial If Statement
if[$memChose >= 1] {
	mysql_query["update combineddests
    			set selected={$mainCounter}
    			where id={$memChose}"];
}//closes if memchose		

//Restaurant If Statement
if[$restChose >= 1] {
	mysql_query["update combineddests
    			set selected={$mainCounter}
    			where id={$restChose}"];
}//closes if restchose	


$result = mysql_query["SELECT place_name, place_addr 
			FROM combineddests
			WHERE selected >= '1'"];			



while [$row = mysql_fetch_array[$result]] {
			echo "
  • "; echo $row["place_name"]; echo "
  • "; echo $mainCounter; }//closes while echo "
    "; echo "
    "; echo "Please select a destination."; }//closes main If submit

     

     

    Mọi đầu vào/mẹo đều được đánh giá cao, cảm ơn trước

    Liên kết để bình luậnChia sẻ trên các trang web khác

    Nhiều tùy chọn chia sẻ hơn

    JonnoTheDev

    Đăng ngày 5 tháng 2 năm 2010

    JonnoTheDev

    • cựu nhân viên
      • 3. 6k
    • Vị trí. Liverpool, Vương Quốc Anh

      • Chia sẻ

    Đăng ngày 5 tháng 2 năm 2010

    Sẽ dễ dàng chỉ để lưu trữ trong một phiên

    session_start[];
    $_SESSION['counter'] = [!$_SESSION['counter']] ? 0 : $_SESSION['counter'];
    if[$_POST['submit']] {
    $_SESSION['counter']++;
    }
    

    Liên kết để bình luậnChia sẻ trên các trang web khác

    Nhiều tùy chọn chia sẻ hơn

    ĐộiCIT

    Đăng ngày 5 tháng 2 năm 2010

    ĐộiCIT

    • Các thành viên
      • 52

    • Tác giả

      • Chia sẻ

    Đăng ngày 5 tháng 2 năm 2010

    Sẽ dễ dàng chỉ để lưu trữ trong một phiên

    session_start[];
    $_SESSION['counter'] = [!$_SESSION['counter']] ? 0 : $_SESSION['counter'];
    if[$_POST['submit']] {
    $_SESSION['counter']++;
    }
    

     

    Điều này chắc chắn có vẻ như nó có thể làm việc. Bạn có thể giúp tôi một chút bằng cách giải thích chi tiết mã này cho tôi không? . Phần $_SESSION['counter'] có tạo bộ đếm không khởi tạo lại mỗi lần nhấn nút gửi không? . " làm?

     

    $_SESSION['bộ đếm'] = [. $_SESSION['bộ đếm']] ? . $_SESSION['bộ đếm'];

    Liên kết để bình luậnChia sẻ trên các trang web khác

    Nhiều tùy chọn chia sẻ hơn

    JonnoTheDev

    Đăng ngày 5 tháng 2 năm 2010

    JonnoTheDev

    • cựu nhân viên
      • 3. 6k
    • Vị trí. Liverpool, Vương Quốc Anh

      • Chia sẻ

    Đăng ngày 5 tháng 2 năm 2010

    $_SESSION['bộ đếm'] = [. $_SESSION['bộ đếm']] ? . $_SESSION['bộ đếm'];

    Nó chỉ là một điều kiện cô đọng nếu khác. Thực sự nó nên được

    $_SESSION['counter'] = isset[$_SESSION['counter']] ? $_SESSION['counter'] : 0;

    Về cơ bản, nếu $_SESSION['counter'] được đặt và có một giá trị, thì hãy giữ nguyên giá trị đó. Nếu không đặt giá trị của nó thành 0. Khi nút gửi được nhấn tăng giá trị của nó. Tuy nhiên, bạn phải nhớ rằng bạn sẽ cần hủy giá trị phiên ở đâu đó. Nếu người dùng rời khỏi trang và sau đó quay lại, giá trị phiên sẽ vẫn tồn tại

    Sử dụng một phiên chỉ là một tùy chọn. Bạn chỉ có thể sử dụng một trường ẩn trong biểu mẫu để giữ giá trị bộ đếm liên tục

    Liên kết để bình luậnChia sẻ trên các trang web khác

    Nhiều tùy chọn chia sẻ hơn

    ĐộiCIT

    Đăng ngày 5 tháng 2 năm 2010

    ĐộiCIT

    • Các thành viên
      • 52

    • Tác giả

      • Chia sẻ

    Đăng ngày 5 tháng 2 năm 2010

     

    Nó chỉ là một điều kiện cô đọng nếu khác. Thực sự nó nên được

    $_SESSION['counter'] = isset[$_SESSION['counter']] ? $_SESSION['counter'] : 0;

    Về cơ bản, nếu $_SESSION['counter'] được đặt và có một giá trị, thì hãy giữ nguyên giá trị đó. Nếu không đặt giá trị của nó thành 0. Khi nút gửi được nhấn tăng giá trị của nó. Tuy nhiên, bạn phải nhớ rằng bạn sẽ cần hủy giá trị phiên ở đâu đó. Nếu người dùng rời khỏi trang và sau đó quay lại, giá trị phiên sẽ vẫn tồn tại

    Sử dụng một phiên chỉ là một tùy chọn. Bạn chỉ có thể sử dụng một trường ẩn trong biểu mẫu để giữ giá trị bộ đếm liên tục

     

    Làm cách nào để hủy giá trị phiên?

    Liên kết để bình luậnChia sẻ trên các trang web khác

    Nhiều tùy chọn chia sẻ hơn

    JonnoTheDev

    Đăng ngày 5 tháng 2 năm 2010

    JonnoTheDev

    • cựu nhân viên
      • 3. 6k
    • Vị trí. Liverpool, Vương Quốc Anh

      • Chia sẻ

    Đăng ngày 5 tháng 2 năm 2010

    không, bạn chỉ cần bỏ đặt nó

    unset[$_SESSION['counter']];

    Liên kết để bình luậnChia sẻ trên các trang web khác

    Nhiều tùy chọn chia sẻ hơn

    oni-kun

    Đăng ngày 5 tháng 2 năm 2010

    oni-kun

    • Các thành viên
      • 2k
    • Vị trí. Bắc trắng vĩ đại

      • Chia sẻ

    Đăng ngày 5 tháng 2 năm 2010

    Các toán tử rút gọn bậc ba và bậc ba chậm, tôi không khuyên bạn nên sử dụng chúng

    Liên kết để bình luậnChia sẻ trên các trang web khác

    Nhiều tùy chọn chia sẻ hơn

    ĐộiCIT

    Đăng ngày 5 tháng 2 năm 2010

    ĐộiCIT

    • Các thành viên
      • 52

    • Tác giả

      • Chia sẻ

    Đăng ngày 5 tháng 2 năm 2010

    không, bạn chỉ cần bỏ đặt nó

    unset[$_SESSION['counter']];

    Ồ được thôi. Vậy điều này có giúp tôi không cần thêm "session_destroy[];" không?

    unset[$_SESSION['counter']];

    để đảm bảo rằng nó không đặt lại bộ đếm khi nhấn nút gửi?

     

    Các toán tử rút gọn bậc ba và bậc ba chậm, tôi không khuyên bạn nên sử dụng chúng

     

    Bạn có khuyên bạn nên sử dụng chúng chỉ vì thực tế là chúng chậm không?

    Liên kết để bình luậnChia sẻ trên các trang web khác

    Nhiều tùy chọn chia sẻ hơn

    JonnoTheDev

    Đăng ngày 5 tháng 2 năm 2010

    JonnoTheDev

    • cựu nhân viên
      • 3. 6k
    • Vị trí. Liverpool, Vương Quốc Anh

      • Chia sẻ

    Đăng ngày 5 tháng 2 năm 2010

    Ồ được thôi. Vậy điều này có giúp tôi không cần thêm "session_destroy[];" không?

    unset[$_SESSION['counter']];

    Bạn không muốn hủy giá trị phiên trên cùng một trang vì bạn chỉ cần đặt lại bộ đếm. Bạn có thể thêm chức năng chung vào tất cả các trang khác của mình để xóa dữ liệu phiên không còn cần thiết. Đây là lý do tại sao tôi đề xuất chỉ sử dụng một trường ẩn trong biểu mẫu của bạn để giữ giá trị của bộ đếm nếu bạn không muốn làm việc với các phiên và chỉ cần tăng giá trị $_POST['counter']

     

    Quên việc sử dụng session_destroy[]

     

    Ngoài ra, tốc độ tập lệnh của bạn không phải là một yếu tố. Bạn đang nói micro giây

    Liên kết để bình luậnChia sẻ trên các trang web khác

    Nhiều tùy chọn chia sẻ hơn

    JonnoTheDev

    Đăng ngày 5 tháng 2 năm 2010

    JonnoTheDev

    • cựu nhân viên
      • 3. 6k
    • Vị trí. Liverpool, Vương Quốc Anh

      • Chia sẻ

    Đăng ngày 5 tháng 2 năm 2010

    i. e

    
    
    

    Chủ Đề