2013-11-28 4 views
0

나는이 모든면에서 새로운 것이므로 모든 것에 적합한 문구가 없다면 참을성있게하십시오. ;-)결과가 문자열/배열 문제가있는 PHPMySQL 쿼리 데이터베이스

데이터베이스를 쿼리하려고합니다. 나는 체크 박스 입력 폼의 $ _Post [ "array"]에서 오는 1-3 개의 고정 값을 가질 수있는 문자열을 가지고있다. 값은 뭔가를해야만 같은 있습니다 :

$string   // values (Berlin, New York, Rome) or (Berlin, Rome) ect. 

는 지금은 각 행 (항목) 같은 값의 1-3 열 (필드)이있는 데이터베이스를 조회하기 위해 노력하고있어. 이와 같은

item1 (New York, Rome) 
item2 (Berlin, New York, Rome) 
item3 (Rome) 

내가 해봤 쿼리 : 모두 이론적으로 작업하는 동안

SELECT * FROM 'table' WHERE 'destination' LIKE '%$string%' 
or 
SELECT * FROM 'table' WHERE 'destination' IN '$string' 

, 그들은 나에게 내가 원하는 결과를 얻을 수 없습니다. 여기에 내가 쿼리에서하고 싶은 것입니다 : $ 문자열이 3 개 값있다

경우에, 나는 3 항목을 표시 할 (뿐만 아니라 항목 2). $ 문자열 값 (로마)이있는 경우

, 나는 항목 1, 항목 2항목 3을 표시합니다.

은 $ 문자열이 값이있는 경우

(뉴욕, 베를린) 내가 어떻게 이것을 달성하는 항목 1항목 2

어떤 아이디어를 표시하려면?

들으 당신이 당신의 테이블 열 이름은 목적지와 $ 문자열은 양식에서 포스트 값이다 것을 의미하는 가정이 많이 셉

답변

0

Ok guy! 여기 내가 결국 한 일이 있습니다. 너의 도움을위한 Thx

$query = "select * from table "; 

$query .= "WHERE 
      example1 like '$example1' 
      AND example2 like '%$example2%' AND ("; 
foreach($array as $Filtervalues) 
{ 
    $query .= " example3 like '%".$Filtervalues."%' OR"; 

} 

$query = trim($query, " OR"); 
$query .= ")"; 

$query .= " ORDER BY 
      name 
      "; 
echo $query; 
0

, 당신은 FIND_IN_SET을 시도 할 수 있습니다 :이 예에서

SELECT * FROM `table` WHERE FIND_IN_SET($string, `destination`); 
0

을, 나는 열

ID  destination 
1  New York, Rome 
2  Berlin, New York, Rome 
3  Rome 

및 HTML 양식에서 일부 입력 table있어 - 배열을. 작동 방식 :

<?php 
$cities=array("Rome", "New York", "Berlin"); // simulation of form input 

foreach($cities as $value): // each city 
    $result=mysql_query("SELECT * FROM `table` WHERE `destination` LIKE '%$value%'"); // find all match records for the city 
    echo "<h3>For city \"$value\" I found in `table` these IDs</h3>"; 
    while($value=mysql_fetch_array($result, MYSQL_NUM)): // fetch SELECT into rows 
    echo "<pre>"; 
    print_r($value[0]); // prints IDs from DB corresponding with city in heading 
    echo "</pre>"; 
    endwhile; 
endforeach; 
?> 
관련 문제