简体   繁体   中英

How to change SQL value with a button click on PHP

Don't know how much code is actually needed so let me know!

I have this project I'm developing and I'm doing the admin-end on PHP. It uses SQL and the admin can pretty much update, remove and promote to administrator normal users(what I can't do).

SQL

 CREATE TABLE User (
    UserID int NOT NULL,
    Username varchar(50) NOT NULL,
    Email varchar(255) NOT NULL,
    Password varchar(255) NOT NULL,
    Image varchar(255) NOT NULL,
    Type varchar(255) NOT NULL
)ENGINE=InnoDB DEFAULT CHARSET=latin1;

The field type is either admin/user. What I want to do is on a button click I change the value from user to admin .

I was thinking of using the onclick JS function but I have no idea how this can be achieved. Like follows:

<a onclick='.$row["Tipo"].'= admin" class="btn btn-promote">Promote</a>

Thanks for the read, any help is welcome!

To help your endeavours given that you "don't have the slightest clue on how JS works" I put together a quick and simple demo of how you might use a hyperlink ( not a button as per the question though a similar approach can be used for buttons! ) and dataset attributes might be combined to toggle between 2 states. That toggling between states allows you to then choose between he stated admin/user roles when implemented with other logic correctly. As there is no HTML form nor a desired method you can use this with either a regular form ( as shown ) or with Ajax ( not shown )

The demo only changes the value of a form element and also the text within the hyperlink

 document.querySelector('a.btntgl').addEventListener('click',function(e){ let role=document.forms.adduser.role; this.dataset.tmp=this.textContent; this.textContent=this.dataset.alt; role.value=this.dataset.alt; this.dataset.alt=this.dataset.tmp; this.removeAttribute('data-tmp'); });
 .btntgl{ text-transform:capitalize }
 <form name='adduser' method='post'> <?-- loads of other fields --> <input type='text' name='role' value='admin' /><!-- should be hidden maybe? --> <input type='submit' /> </form> <a class='btntgl' href='#' data-alt='user'>admin</a>

 $(document).on('click', '#btntgl', function(e){ e.preventDefault(); let typeValue = $(this).date('id'); $.ajax({ method: "POST", url: "update.php", data: {type:typeValue}, success: function (msg) { if(msg === "ok") { alert("success"); } else { alert("error"); } } }); });
 <a id="btntgl" data-id="<?php echo $row['Tipo'];?>" class="btn btn-promote">Promote</a>

the update.php will contain your update statement to update the table.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM