2016-09-16 2 views
0

나는 몇 주 전에 html, php, mysql 및 jquery 연구를 시작했지만 지금은이 문제에 봉착했습니다. 내 사용자 입력 필드에서 문자열의 배열을 누른 다음 내 connect.php로 보내고 배열 내부의 단어 각각에 대해 mysql 검색을 수행하십시오. var value = $('#search').val(); 후에 .split ("") 메서드로 이미 시도했지만 작동하지 않았습니다. 데이터베이스에 문자열 배열을 보내고 시간에 하나의 값을 검색하는 방법

<?php 

define("HOST", "localhost"); 

// Database user 
define("DBUSER", "root"); 

// Database password 
define("PASS", "************"); 

// Database name 
define("DB", "Beta 1.1"); 

// Database Error - User Message 
define("DB_MSG_ERROR", 'Could not connect!<br />Please contact the site\'s administrator.'); 

############## Make the mysql connection ########### 

$conn = mysql_connect(HOST, DBUSER, PASS) or die(DB_MSG_ERROR); 

$db = mysql_select_db(DB) or die(DB_MSG_ERROR); 

$query = mysql_query(" 
    SELECT * 
    FROM Film 
    WHERE name LIKE ".$_POST['value']." 
"); 

echo '<table>'; 

while ($data = mysql_fetch_array($query)) { 

    echo ' 
    <tr style="background-color:red;"> 
    <td style="font-size:18px;">'.$data["name"].'</td> 
    </tr>'; 

};  
    echo '</table>';   
     mysqli_close($link); 

    ?> 

는 당신의 도움을 주셔서 감사합니다 :

Index.php 
    <html> 
<headh> 
    <title>Beta 1.0</title> 
</headh> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
<script> 
$(function() { 
     $("#search_start").bind('submit',function(){ 
      var value = $('#search').val(); 
      $.post('connect.php',{value:value}, function(data){ 
      $("#search_results").html(data); 
      }); 
      return false; 
     }); 
     }); 
</script> 

    <p id="p1">Hello World!</p> 


<body align="center"> 
    <h1>Playbills</h1> 
    <form id="search_start" action="" method="post"> 
    <input id="search" type="text" name="search" placeholder="Search"> 
    <input type="submit" value="send" id="send"> 
    <div id="search_results"> 
     </div> 
    </form> 
    </body> 


</html> 

이 내 connect.php입니다 : 이것은 내 코드입니다.

+0

PHP로 시작한 이래로. 제발 mysql_' 사용자 라이브러리를하지 마십시오. 더 이상 사용되지 않으며 안전하지 않습니다. 당신이 배우는 동안 준비된 문장과 다른 현대적인 기능을 사용하는'mysqli_' 나'PDO'와 같은 현대 라이브러리를 배워야한다. – dan08

+0

나는 사용자가 보내기 버튼을 누를 때마다 둘 이상의 필름을 검색하길 원한다는 것을 이해하지만 분리 문자로 공백을 사용하여 입력 값을 분리하면 각 단어는 다른 필름이되지만 대부분의 영화 이름에는 단어가 거의 없습니다 . 고정 된 구분 기호 (예 : 쉼표, 점, 하이픈 등) 또는 양식에 둘 이상의 입력을 사용해야합니다. – nanocv

답변

0

나는 이것이 도움이 될 것이라고 확신합니다.

<?php 
$listedNames = $_POST['search']; 
$myArray = explode(' ', $listedNames); 
$size = sizeof($myArray); 
echo '<table>'; 
for($i=0; $i<($size-1); $i++) 
{ 
$query = "SELECT *FROM Film WHERE name LIKE ".$myArray[$i]."; 
    $result = mysqli_query($db_connection_object , $query); 


     while ($data = mysql_fetch_array($result)) { 

      echo ' 
       <tr style="background-color:red;"> 
        <td style="font-size:18px;">'.$data["name"].'</td> 
       </tr>'; 

        } 

    } 
    echo '</table>'; 


?> 
관련 문제