PHPFixing
  • Privacy Policy
  • TOS
  • Ask Question
  • Contact Us
  • Home
  • PHP
  • Programming
  • SQL Injection
  • Web3.0

Saturday, September 10, 2022

[FIXED] How to check whether a text variable is equal to an Array

 September 10, 2022     ajax, jquery, mysql, php     No comments   

Issue

My requirement is to check whether a text variable is equal or not to an mysql output array.

The mysql output array I have taken as follows,

$connect = mysqli_connect("localhost", "root", "", "newbooks");
$query = "SELECT book_name FROM takenbooks order by ID DESC";
$result = mysqli_query($connect, $query);
while( $row = mysqli_fetch_assoc( $result)){
    $avail_books[] = $row['book_name']; // Inside while loop
}

Now I need to check whether user have entered any book from which included in above array.So I have implemented as below.

$(document).ready(function(){
  $('#insert_form').on("submit", function(event){  
    event.preventDefault();
    $('#book_name').val()=$book_required;


    if(in_array($book_required,$avail_books))
    {
      alert("Not Available");
    }
    else{
      $.ajax({

        url:"books.php",  
        method:"POST",  
        data:$('#insert_form').serialize(),  
        beforeSend:function(){  
          $('#insert').val("Inserting");  
        },  
        success:function(data){  
          $('#insert_form')[0].reset();  
          $('#add_data_Modal').modal('hide');  
          $('#employee_table').html(data);  
        }  

      });  
    }
  }
}

But this is not working. Can someone show where I have messed this?


Solution

There can be other ways to accomplish what you want.

For example, use the following query:

SELECT count(*) FROM takenbooks where book_name = ? 

But for How to check whether a text variable is equal to an Array and based on your original code, the normal way will be to pass the user input data (I believe is $('#book_name').val()) thru ajax to a PHP file to check whether this data is in the array , then return the result back (or do further processing)

For the HTML

<script
  src="https://code.jquery.com/jquery-3.6.0.js"
  integrity="sha256-H+K7U5CnXl1h5ywQfKtSj8PCmoN9aaq30gDh27Xc0jk="
  crossorigin="anonymous"></script>


<form id=insert_form>
<input type=text id="book_name">
<input type=submit>
</form>

<script>
$(document).ready(function(){
  $('#insert_form').on("submit", function(event){  
   event.preventDefault();

  $.ajax({
   type: "POST",
   url: 'checkdata.php',
   data: {data1: $('#book_name').val()},
   success: function(data){
   alert(data);
   },
    error: function(xhr, status, error){
    console.error(xhr);
   }
  });
 })
})
 </script>

For the PHP (checkdata.php)

<?php
 
if (isset($_POST["data1"])){

$connect = mysqli_connect("localhost", "root", "", "newbooks");
$query = "SELECT book_name FROM takenbooks order by ID DESC";
$result = mysqli_query($connect, $query);

while( $row = mysqli_fetch_assoc( $result)){
    $avail_books[] = $row['book_name']; // Inside while loop
}

   if(in_array($_POST["data1"],$avail_books)) {
     echo "Not Available";
     } else {

    // Place insert query here

     echo "New Record inserted";

    }
}

?>



Answered By - Ken Lee
Answer Checked By - Gilberto Lyons (PHPFixing Admin)
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
Newer Post Older Post Home

0 Comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Total Pageviews

1,204,763

Featured Post

Why Learn PHP Programming

Why Learn PHP Programming A widely-used open source scripting language PHP is one of the most popular programming languages in the world. It...

Subscribe To

Posts
Atom
Posts
Comments
Atom
Comments

Copyright © 2025 PHPFixing