Gibt es eine Möglichkeit, eine dynamische Suche mit 2 Textfeldern zu haben, um 2 verschiedene Felder zu filtern?PHP & Javascript: Dynamische Suche mit 2 Textfeldern
zum Beispiel habe ich eine Tabelle wie:
und ich habe somethin wie folgt erstellt:
es bereits in der ZUNAME Textbox funktioniert.
ich will, ist, dass, wenn ich geben Sie einen Nachnamen mit gleichen lastnames wie folgt aus:
Ich möchte einen anderen Filter von Vorname hinzufügen, so dass, wenn ich ein Vorname am Beispiel VORNAME Textbox eingeben i PEDRO eingeben in die Textbox FIRSTNAME wird nur PEDRO A. Dela Cruz zeigen.
Dies ist mein Codes
Index.php
<script type="text/javascript">
$(function(){
$(".lname").keyup(function()
{
var value = $(this).val();
var dataString = 'lname='+ value;
if(searchlname!='')
{
$.ajax({
type: "POST",
url: "search.php",
data: dataString,
cache: false,
success: function(html)
{
$("#result").html(html).show();
}
});
}return false;
});
jQuery("#result").live("click",function(e){
var $clicked = $(e.target);
var $name = $clicked.find('.name').html();
var decoded = $("<div/>").html($name).text();
$('#searchlname').val(decoded);
});
jQuery(document).live("click", function(e) {
var $clicked = $(e.target);
if (! $clicked.hasClass("search")){
jQuery("#result").fadeOut();
}
});
$('#searchlname').click(function(){
jQuery("#result").fadeIn();
});
});
</script>
<div class="content">
Lastname:
<input type="text" class="lname" id="searchlname" placeholder="Search for people" /><br />
Firstname:
<input type="text" class="search" id="" placeholder="Search for people" /><br />
<div id="result">
</div>
search.php
<table width="80%">
<th width="5%">ID</th>
<th width="40%">Name</th>
<th width="10%">Action</th>
</table>
<?php
$connection = mysql_connect('localhost','root','admin') or die(mysql_error());
$database = mysql_select_db('dbvincent') or die(mysql_error());
if($_POST)
{
$search_name=$_POST['lname'];
$sql_res=mysql_query("SELECT * FROM `tblpatients` WHERE `lname` LIKE '%$search_name%' order by `patient_id` LIMIT 15");
while($row=mysql_fetch_array($sql_res))
{
$id = $row['patient_id'];
$fname = $row['fname'];
$mname = $row['mname'];
$lname = $row['lname'];
?>
<table width="80%">
<td width="5%"><?php echo $id ; ?></td>
<td width="40%"><?php echo $fname.' '.$mname.' '.$lname; ?></td>
<td width="10%"><button formaction="echoid.php?id=<?php echo $id ?>">Add</button></td>
</table>
<?php
danken Sie.
1. ** Verwenden Sie ** die ** veralteten und unsicheren ** 'mysql_ *' - Funktionen nicht. Sie sind seit PHP 5.5 veraltet und in PHP 7 vollständig entfernt. Verwenden Sie stattdessen MySQLi oder PDO. 2. ** Sie sind offen für [SQL Injections] (http://php.net/manual/en/security.database.sql-injection.php) ** und sollten wirklich [vorbereitete Anweisungen] verwenden (http://php.net/manual/de/mysqli.quickstart.prepared-statements.php) anstelle der Verkettung Ihrer Abfragen, die verwendet werden können, wenn Sie die oben genannten MySQLi oder PDO verwenden.Besonders, da Sie die Benutzereingaben überhaupt nicht umgehen. –
danke für das Anliegen. aber ich bin nicht besorgt über die Sicherheit noch und das System wird nur in einem kleinen Büro verwendet werden .. aber ich werde versuchen, es in mysqli zu konvertieren. und danke für die Beratung. –
_Suggestion, _ zumindest die Benutzereingabe zu entkommen. Wenn nicht, und jemand zum Beispiel nach "O'connor" sucht, unterbricht es Ihre Abfrage (das '' 'beendet die Wertangabe und' connor' wird als ungültiges SQL-Schlüsselwort betrachtet). –