Senin, 11 Juli 2016

Java Project With MySQL Database With Source Code

Java And MySQL - Project Example With Source Code


Java And MySQL Project Example

In this java Tutorials we will see How To Create A Simple Program Example With MySQL Database And Java Using NetBeans With Source Code .
I Use In This Tutorial:
- NetBeans IDE .
- XAMPP .
- PhpMyAdmin .
-MySQL Database .
 
                                                     project demonstration

*JavaCourses Java Complete Course
                           Java Swing Course

Project Tutorials List:
             - Part 1
             - Part 2
             - Part 3
             - Part 4
             - Part 5
             - Part 6
             - Part 7
             - Part 8
             - Part 9
             - Part 10
             - Part 11

Download The Code Here For Free Get The Code
Baca selengkapnya

Minggu, 10 Juli 2016

Java And MySQL - Insert Update Delete Search Image From Database In Java

Java Code - How To Insert Update Delete Search Images From MySQL Database In Java Using Netbeans  


java insert update delete search imges in mysql

- The Download Link In The End Of This Article

In this java Tutorial we will see How To Add Edit Remove Find And Display Images From MySQL Database In Java Using NetBeans .
I Use In This Tutorial:
- NetBeans IDE .
- XAMPP .
- PhpMyAdmin .
-MySQL Database .

*INFO Java Complete Course
               Java Swing Course
Part 1


Part 2


Part 3

Project Source Code:
    
package MyPackage;

import java.awt.Image;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.ImageIcon;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.filechooser.FileNameExtensionFilter;

/**
 *
 * @author 1BestCsharp.blogspot.com 
 */
public class java_mysql_image_insert_update_delete_search extends javax.swing.JFrame {

    /**
     * Creates new form java_mysql_image_insert_update_delete_search
     */
    public java_mysql_image_insert_update_delete_search() {
        initComponents();
    }

    String imgPath = null;
 
    // Function To Resize The Image To Fit Into JLabel
     public ImageIcon ResizeImage(String ImagePath, byte[] pic)
    {
        ImageIcon MyImage = null;
        if(ImagePath != null)
        {
           MyImage = new ImageIcon(ImagePath);
        }else
        {
            MyImage = new ImageIcon(pic);
        }
        Image img = MyImage.getImage();
        Image newImg = img.getScaledInstance(lbl_Image.getWidth(), lbl_Image.getHeight(), Image.SCALE_SMOOTH);
        ImageIcon image = new ImageIcon(newImg);
        return image;
    }
    
  // Function To Connect To MySQL Database 
   public static Connection getConnection()
   {
       Connection con = null;

       try {
           con = DriverManager.getConnection("jdbc:mysql://localhost/images_db", "root","");
           return con;
       } 
      catch (Exception e) {
           e.printStackTrace();
           JOptionPane.showMessageDialog(null, "Not Connected");
           return null;
       }
   }
   
   
    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                        
    private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        BTN_ADD = new javax.swing.JButton();
        BTN_EDIT = new javax.swing.JButton();
        BTN_REMOVE = new javax.swing.JButton();
        BTN_SEARCH = new javax.swing.JButton();
        lbl_Image = new javax.swing.JLabel();
        BTN_CHOOSE = new javax.swing.JButton();
        JSPINNER_ID = new javax.swing.JSpinner();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jPanel1.setBackground(new java.awt.Color(255, 255, 204));

        BTN_ADD.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        BTN_ADD.setIcon(new javax.swing.ImageIcon(getClass().getResource("/JAVA_VIDEOS_TUTORIALS/icons/add.png"))); // NOI18N
        BTN_ADD.setText("Insert");
        BTN_ADD.setIconTextGap(15);
        BTN_ADD.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                BTN_ADDActionPerformed(evt);
            }
        });

        BTN_EDIT.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        BTN_EDIT.setIcon(new javax.swing.ImageIcon(getClass().getResource("/JAVA_VIDEOS_TUTORIALS/icons/Renew.png"))); // NOI18N
        BTN_EDIT.setText("Update");
        BTN_EDIT.setIconTextGap(15);
        BTN_EDIT.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                BTN_EDITActionPerformed(evt);
            }
        });

        BTN_REMOVE.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        BTN_REMOVE.setIcon(new javax.swing.ImageIcon(getClass().getResource("/JAVA_VIDEOS_TUTORIALS/icons/delete.png"))); // NOI18N
        BTN_REMOVE.setText("Delete");
        BTN_REMOVE.setIconTextGap(15);
        BTN_REMOVE.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                BTN_REMOVEActionPerformed(evt);
            }
        });

        BTN_SEARCH.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        BTN_SEARCH.setIcon(new javax.swing.ImageIcon(getClass().getResource("/JAVA_VIDEOS_TUTORIALS/icons/search.png"))); // NOI18N
        BTN_SEARCH.setText("Find");
        BTN_SEARCH.setIconTextGap(15);
        BTN_SEARCH.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                BTN_SEARCHActionPerformed(evt);
            }
        });

        lbl_Image.setBackground(new java.awt.Color(204, 255, 255));
        lbl_Image.setOpaque(true);

        BTN_CHOOSE.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        BTN_CHOOSE.setIcon(new javax.swing.ImageIcon(getClass().getResource("/JAVA_VIDEOS_TUTORIALS/icons/upload.png"))); // NOI18N
        BTN_CHOOSE.setText("Choose Image");
        BTN_CHOOSE.setIconTextGap(15);
        BTN_CHOOSE.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                BTN_CHOOSEActionPerformed(evt);
            }
        });

        JSPINNER_ID.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        JSPINNER_ID.setModel(new javax.swing.SpinnerNumberModel(Integer.valueOf(1), Integer.valueOf(1), null, Integer.valueOf(1)));
        JSPINNER_ID.setToolTipText("");

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(BTN_REMOVE, javax.swing.GroupLayout.PREFERRED_SIZE, 142, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(BTN_ADD, javax.swing.GroupLayout.PREFERRED_SIZE, 142, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(BTN_EDIT, javax.swing.GroupLayout.PREFERRED_SIZE, 142, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(JSPINNER_ID, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)
                        .addComponent(BTN_SEARCH, javax.swing.GroupLayout.PREFERRED_SIZE, 142, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(109, 109, 109))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(27, 27, 27)
                        .addComponent(lbl_Image, javax.swing.GroupLayout.PREFERRED_SIZE, 484, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addContainerGap(20, Short.MAX_VALUE))))
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(BTN_CHOOSE, javax.swing.GroupLayout.PREFERRED_SIZE, 360, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(79, 79, 79))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(20, 20, 20)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(JSPINNER_ID, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(BTN_SEARCH, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(BTN_ADD, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(32, 32, 32)
                        .addComponent(BTN_EDIT, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(33, 33, 33)
                        .addComponent(BTN_REMOVE, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(lbl_Image, javax.swing.GroupLayout.PREFERRED_SIZE, 259, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addComponent(BTN_CHOOSE, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(24, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );

        pack();
    }// </editor-fold>                      

    // Button Insert Image Into MySQL Database
    // 1 - Check If The imgPath Is Not Null ( Select Image To Insert )
    // 2 - Insert The Image
    private void BTN_ADDActionPerformed(java.awt.event.ActionEvent evt) {                                    
        if(imgPath != null)
        {
            try {
                PreparedStatement ps = getConnection().prepareStatement("INSERT INTO tbl_images(The_image) VALUES(?)");
                InputStream img = new FileInputStream(new File(imgPath));
                ps.setBlob(1, img);
                if(ps.executeUpdate() == 1)
                {
                    JOptionPane.showMessageDialog(null, "Image Inserted");
                }
            } catch (Exception ex) {
                Logger.getLogger(java_mysql_image_insert_update_delete_search.class.getName()).log(Level.SEVERE, null, ex);
            }
        }else{
            JOptionPane.showMessageDialog(null, "No Image Selected");
        }
        
        imgPath = null;
    }                                       

    // Button Update Image From MySQL Database
    // 1 - Check If imgPath Is Not Null (New Image Selected)
    // 2 - Update The Image
    private void BTN_EDITActionPerformed(java.awt.event.ActionEvent evt) {                                         
     
        if(imgPath != null)
        {
            try {
               InputStream  img = new FileInputStream(imgPath);
            String UpdateQuery = "UPDATE tbl_images SET The_image = ? WHERE id = ?";
            int id = Integer.parseInt(JSPINNER_ID.getValue().toString());
            PreparedStatement ps = getConnection().prepareStatement(UpdateQuery);
            ps.setBlob(1, img);
            ps.setInt(2, id);
            if(ps.executeUpdate() == 1)
            {
                JOptionPane.showMessageDialog(null, "Image Updated");
            }else{
                JOptionPane.showMessageDialog(null, "No Image Exist With This Id");
            }
            
            } catch (Exception ex) {
                Logger.getLogger(java_mysql_image_insert_update_delete_search.class.getName()).log(Level.SEVERE, null, ex);
            }            
        }else{
            JOptionPane.showMessageDialog(null, "No Image Selected");
        }
        
        imgPath = null;
    }                                        

    // Button Delete The Image From MySQL Database
    private void BTN_REMOVEActionPerformed(java.awt.event.ActionEvent evt) {                                           

        int id = Integer.parseInt(JSPINNER_ID.getValue().toString());
        String DeleteQuery = "DELETE FROM tbl_images WHERE id = ?";
        
        try {
            PreparedStatement ps = getConnection().prepareStatement(DeleteQuery);
            ps.setInt(1, id);
            if(ps.executeUpdate() == 1)
            {
                JOptionPane.showMessageDialog(null, "Image Deleted");
            }
            else{
                JOptionPane.showMessageDialog(null, "No Image Exist With This Id");
            }
        } catch (SQLException ex) {
            Logger.getLogger(java_mysql_image_insert_update_delete_search.class.getName()).log(Level.SEVERE, null, ex);
        }
        
        lbl_Image.setIcon(null);
        
    }                                          

    // Button Search And Display Image In JLabel
    // 1 - Get The Id From The JSpinner
    // 2 - Search The Image In MySQL Database
    // 3 - If The Image Exist Display The Image In The JLable
    //     Using The ResizeImage Function To Resize Th Image
    private void BTN_SEARCHActionPerformed(java.awt.event.ActionEvent evt) {                                           

        int id = Integer.parseInt(JSPINNER_ID.getValue().toString());
        String SelectQuery = "SELECT * FROM tbl_images WHERE id = "+id;
        
        Statement st;
        ResultSet rs;
        
        try {
            st = getConnection().createStatement();
            rs = st.executeQuery(SelectQuery);
        
        if(rs.next())
        {
            lbl_Image.setIcon(ResizeImage(null, rs.getBytes("The_image")));
        }else{
            
             JOptionPane.showMessageDialog(null, "ImageNot Found");  
        }
        } catch (SQLException ex) {
            Logger.getLogger(java_mysql_image_insert_update_delete_search.class.getName()).log(Level.SEVERE, null, ex);
        }

         
        
    }                                          

    // Button Browse Image From Your Computer
    // 1 - Browse Image From Computer And Display It In JLabel 
    //     Using ResizeImage Function
    // 2 - Set The Image Path Into imgPath
    //     To Check Later If An Image Was Selected
    private void BTN_CHOOSEActionPerformed(java.awt.event.ActionEvent evt) {                                           

        // browse image
        
        JFileChooser file = new JFileChooser();
        file.setCurrentDirectory(new File(System.getProperty("user.home")));
        //filter the files
        FileNameExtensionFilter filter = new FileNameExtensionFilter("*.Images", "jpg","gif","png");
        file.addChoosableFileFilter(filter);
        int result = file.showSaveDialog(null);
        //if the user click on save in Jfilechooser
        if(result == JFileChooser.APPROVE_OPTION){
            
            File selectedFile = file.getSelectedFile();
            String path = selectedFile.getAbsolutePath();
            lbl_Image.setIcon(ResizeImage(path,null));
            
            imgPath = path;
        }
        //if the user click on save in Jfilechooser

        else if(result == JFileChooser.CANCEL_OPTION){
            System.out.println("No File Select");
        }

    }                                          

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(java_mysql_image_insert_update_delete_search.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(java_mysql_image_insert_update_delete_search.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(java_mysql_image_insert_update_delete_search.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(java_mysql_image_insert_update_delete_search.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new java_mysql_image_insert_update_delete_search().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                  
    private javax.swing.JButton BTN_ADD;
    private javax.swing.JButton BTN_CHOOSE;
    private javax.swing.JButton BTN_EDIT;
    private javax.swing.JButton BTN_REMOVE;
    private javax.swing.JButton BTN_SEARCH;
    private javax.swing.JSpinner JSPINNER_ID;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JLabel lbl_Image;
    // End of variables declaration                
}

     
Download The Code For Free (Pay What You Want) Get The Code

///////////////OUTPUT:

mysql insert update delete display image
java and mysql insert update delete display image



Download The Code For Free (Pay What You Want) Get The Code
Baca selengkapnya

PHP And MySQL Tutorial : Insert Update Delete Search Using PDO In PHP

How To Insert Update Delete And Search Data From MySQL Database In PHP Using PDO  

_______________________________________________________






In this Php Tutorial we will see How To Add Edit Remove Find Data From MySQL Database Table In Php Using PDO  .
I Use In This Tutorial:
- NetBeans IDE .
- XAMPP .
- PhpMyAdmin .
-MySQL Database .


*INFO : Learn Php And Build Cms Project (Course


 

Part 1 


Part 2


Part 3



Php Source Code:

<?php

$dsn = 'mysql:host=localhost;dbname=test_db';
$username = 'root';
$password = '';

try{
    // Connect To MySQL Database
    $con = new PDO($dsn,$username,$password);
    $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
} catch (Exception $ex) {
    
    echo 'Not Connected '.$ex->getMessage();
    
}

$id = '';
$fname = '';
$lname = '';
$age = '';

function getPosts()
{
    $posts = array();
    
    $posts[0] = $_POST['id'];
    $posts[1] = $_POST['fname'];
    $posts[2] = $_POST['lname'];
    $posts[3] = $_POST['age'];
    
    return $posts;
}

//Search And Display Data 

if(isset($_POST['search']))
{
    $data = getPosts();
    if(empty($data[0]))
    {
        echo 'Enter The User Id To Search';
    }  else {
        
        $searchStmt = $con->prepare('SELECT * FROM users WHERE id = :id');
        $searchStmt->execute(array(
                    ':id'=> $data[0]
        ));
        
        if($searchStmt)
        {
            $user = $searchStmt->fetch();
            if(empty($user))
            {
                echo 'No Data For This Id';
            }
            
            $id    = $user[0];
            $fname = $user[1];
            $lname = $user[2];
            $age   = $user[3];
        }
        
    }
}

// Insert Data

if(isset($_POST['insert']))
{
    $data = getPosts();
    if(empty($data[1]) || empty($data[2]) || empty($data[3]))
    {
        echo 'Enter The User Data To Insert';
    }  else {
        
        $insertStmt = $con->prepare('INSERT INTO users(fname,lname,age) VALUES(:fname,:lname,:age)');
        $insertStmt->execute(array(
                    ':fname'=> $data[1],
                    ':lname'=> $data[2],
                    ':age'  => $data[3],
        ));
        
        if($insertStmt)
        {
                echo 'Data Inserted';
        }
        
    }
}

//Update Data

if(isset($_POST['update']))
{
    $data = getPosts();
    if(empty($data[0]) || empty($data[1]) || empty($data[2]) || empty($data[3]))
    {
        echo 'Enter The User Data To Update';
    }  else {
        
        $updateStmt = $con->prepare('UPDATE users SET fname = :fname, lname = :lname, age = :age WHERE id = :id');
        $updateStmt->execute(array(
                    ':id'=> $data[0],
                    ':fname'=> $data[1],
                    ':lname'=> $data[2],
                    ':age'  => $data[3],
        ));
        
        if($updateStmt)
        {
                echo 'Data Updated';
        }
        
    }
}

// Delete Data

if(isset($_POST['delete']))
{
    $data = getPosts();
    if(empty($data[0]))
    {
        echo 'Enter The User ID To Delete';
    }  else {
        
        $deleteStmt = $con->prepare('DELETE FROM users WHERE id = :id');
        $deleteStmt->execute(array(
                    ':id'=> $data[0]
        ));
        
        if($deleteStmt)
        {
                echo 'User Deleted';
        }
        
    }
}

?>

<!DOCTYPE html>
<html>
    <head>
        <title>PHP (MySQL PDO): Insert, Update, Delete, Search</title>  
    </head>
    <body>
        <form action="php_mysql_insert_update_delete_search.php" method="POST">

            <input type="text" name="id" placeholder="id" value="<?php echo $id;?>"><br><br>
            <input type="text" name="fname" placeholder="First Name" value="<?php echo $fname;?>"><br><br>
            <input type="text" name="lname" placeholder="Last Name" value="<?php echo $lname;?>"><br><br>
            <input type="number" min="10" max="100" name="age" placeholder="Age" value="<?php echo $age;?>"><br><br>
            
            <input type="submit" name="insert" value="Insert">
            <input type="submit" name="update" value="Update">
            <input type="submit" name="delete" value="Delete">
            <input type="submit" name="search" value="Search">

        </form>
        
    </body>    
</html>

OUTPUT:

php mysql insert update delete search
Php MySQL PDO Insert Update Delete Search

Baca selengkapnya

Php : How To Search And Filter Data In Html Table With Select Options Using Php And MySQL

Php How To Filter Data In Html Table Using Select Options In PHP And MySQL

_______________________________________________________






In this Php Tutorial we will see How To Search  Data From MySQL Database Table
 In Php Using PDO And Display It In Html Table With Select Options .
I Use In This Tutorial:
- NetBeans IDE .
- XAMPP .
- PhpMyAdmin .
-MySQL Database .


*INFO : Learn Php And Build Cms Project (Course


 
Part 1


Part 2



Php Source Code:

<?php

$dsn = 'mysql:host=localhost;dbname=test_db';
$username = 'root';
$password = '';

try{
    
    $con = new PDO($dsn, $username, $password);
    $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
} catch (Exception $ex) {

    echo 'Not Connected '.$ex->getMessage();
}

$tableContent = '';
$start = '';
$selectStmt = $con->prepare('SELECT * FROM users');
$selectStmt->execute();
$users = $selectStmt->fetchAll();

foreach ($users as $user)
{
    $tableContent = $tableContent.'<tr>'.
            '<td>'.$user['id'].'</td>'
            .'<td>'.$user['fname'].'</td>'
            .'<td>'.$user['lname'].'</td>'
            .'<td>'.$user['age'].'</td>';
}

if(isset($_POST['search']))
{
$start = $_POST['start'];
$tableContent = '';
$selectStmt = $con->prepare('SELECT * FROM users WHERE fname like :start OR lname like :start');
$selectStmt->execute(array(
        
         ':start'=>$start.'%'
    
));
$users = $selectStmt->fetchAll();

foreach ($users as $user)
{
    $tableContent = $tableContent.'<tr>'.
            '<td>'.$user['id'].'</td>'
            .'<td>'.$user['fname'].'</td>'
            .'<td>'.$user['lname'].'</td>'
            .'<td>'.$user['age'].'</td>';
}
    
}

?>

<!DOCTYPE html>
<html>
    <head>
        <title>Search & Display Using Selected Values</title>  
        <style>
            table,tr,td
            {
               border: 1px solid #000; 
            }
            
            td{
                background-color: #ddd;
            }
        </style>   
    </head>
    <body>
        
        <form action="table_selected_value.php" method="POST">
            <!-- 
For The First Time The Table Will Be Populated With All Data
But When You Choose An Option From The Select Options And Click The Find Button, The Table Will Be Populated With specific Data 
             -->
            <select name="start">
                <option value="">...</option>
                <option value="A" <?php if($start == 'A'){echo 'selected';}?>>A</option>
                <option value="B" <?php if($start == 'B'){echo 'selected';}?>>B</option>
                <option value="C" <?php if($start == 'C'){echo 'selected';}?>>C</option>
                <option value="D" <?php if($start == 'D'){echo 'selected';}?>>D</option>
                <option value="E" <?php if($start == 'E'){echo 'selected';}?>>E</option>
                <option value="F" <?php if($start == 'F'){echo 'selected';}?>>F</option>
            </select>
            
            <input type="submit" name="search" value="Find">
            
            <table>
                <tr>
                    <td>#ID</td>
                    <td>First Name</td>
                    <td>Last Name</td>
                    <td>Age</td>
                </tr>
                
                <?php
                
                echo $tableContent;
                
                ?>
                
            </table>
            
        </form>
        
    </body>    
</html>

OutPut :

php html table select option
PHP + MYSQL + HTML TABLE + SLECT OPTIONS

Baca selengkapnya