Skip to main content

How to add buttons and its functionality dynamically using HTML,MySQL and PHP?


There are times when we wish to add button dynamically in a webpage based on the entries in the database. If that is true in your case, please read on.
(This guide assumes you have the basic knowledge of HTML, PHP and MySQL.)






Following are the steps one will need to apply to create buttons dynamically:
1. Use PHP to connect to the database.

<?php
 $db = mysqli_connect('localhost','root','','media') //root is the username and no password.
 or die('Error connecting to MySQL server.');
?>

Here, 'media' is the database name and it is running on WAMP.

2. Use a while loop to fetch contents from the database.
    For each entry add a Button.


 <form method="POST">
 <?php
$query = "SELECT * FROM post";
mysqli_query($db, $query) or die('Error querying database.');
$result = mysqli_query($db, $query);
while ($row = mysqli_fetch_array($result)) {
$varid=$row['postID'];
echo '<br><br><h5>Name: '.$row['name'].'<br>'. $row['agree'];
   ?>
   <form method="post">
     <div>
 <input type="submit" name="<?php echo $varid; ?>" value="Agree">
 </div>
 </form>


Note: Each button must have a different name so that it will have a different functionality. For simplicity, we will give the id(primary key) of the row in the database as the name of that button. Which is why the name attribute has a php in its value. Also note that the php script is closed before the form tag.

Value of varid is taken from the row fetched from the database where post is the table name and postID is the primary key.



3. Then, we add the function of every button.

 <?php
  echo '<hr>';
 if(isset($_POST[$varid])){
   $qry1="update post set agree=agree+1 where postID='$varid';";
   mysqli_query($db,$qry1);
   header("Refresh:0");
 }
 }
 mysqli_close($db);
?>

4. Enclose the code within HTML body.

The entire code:

And here is the output:







Comments

Popular posts from this blog

Shake a view(edit text) on incorrect input at OTP,passwords,etc (Android)

Hello devs! This is another short tutorial to show how to shake an Edit text view if the input is incorrect. Note : The tutorial assumes that you have the basic knowledge about android development. It involves the following steps : 1. Create the Edit text and cast it inside the onCreate. EditText edittext=findViewById(R.id.edit_text); Recommended : https://github.com/GoodieBag/Pinview Optional - Put the edit text inside a dialog to take an input from the dialog. 2. Write an animation XML. Here is an example: ( shake.xml ) Courtesy : https://gist.github.com/simon-heinen/9795036 <? xml version = " 1.0 " encoding = " utf-8 " ?> < set xmlns : android = " http://schemas.android.com/apk/res/android " > < rotate android : duration = " 70 " android : fromDegrees = " -5 " androi...

Fix for eclipse oxygen icon not displaying in ubuntu.

There is a bug in the latest version of eclipse IDE. The icon is not displayed. If you are facing the same problem then I might have a fix for you. There are various reasons why this may occur. One of the problems is caused because icon of eclipse is not present in pixmaps folder. To add it simply copy the icon of eclipse into /use/share/pixmaps folder. Note: You need to have root access to do that.  Also, make sure the name of the icon is eclipse.xpm  For this, use the terminal to fire the command: sudo cp /eclipse_path/icon.xpm /usr/share/pixmaps/eclipse.xpm Here replace the eclipse_path with your eclipse folder path. E.g. /home/leena/eclipse/java-oxygen/eclipse/icon.xpm

Fix 'UNEXPECTED INCONSISTENCY; Run fsck manually' on Ubuntu

If you have the following Ubuntu error, I might have a fix for it. fsck from util-linux 2.26.2 /dev/sda1 contains a file system with errors, check forced. /dev/sda1: Inodes that were part of a corrupted orphan linked list found. /dev/sda1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.         (i.e., without -a or -p options) fsck exited with status code 4 The root filesystem on /dev/sda1 requires a manual fsck Busybox v1.22.1 (Ubuntu 1:1.22.0-15ubuntu1) built in shell (ash) Enter 'help' for a list of built-in commands. (initramfs) _ And believe me help command does nothing. Solution: Just fire a simple command to execute  fsck manually. fsck /dev/sda1 If some other filesystem is causing the error then mention that name after fsck. It will show some processing. If it asks any questions like Fix(y/n)? always enter y . In the end when (initramfs) reappears enter: reboot Well, that's all! It worked for me. Hope it works for ...