2013-03-27 4 views
-5

$ 설명을 설명 열에서 가져온 단어 문자열로하고 싶습니다. 그런 다음 문자열에 $ searchterm (이 코드 블록 이전에 정의 된 한 단어)이 있는지 확인하고 싶습니다.strpos()는 매개 변수 1이 주어진 문자열 인 것으로 가정합니다.

//3. (a)for each, (b) if search term is in the description column, put line into sorted table. 
// a. number of rows in spreadsheet 
    $results = mysql_query("SELECT * FROM csv"); 
    $num_rows = mysql_num_rows($results); 

// b. check rows and put into sorted table 
    $i=1; 
do 
    { 
    $i++; 
    $description = mysql_query("SELECT Description FROM csv"); 

    if (strpos($description,$searchterm) !== false) { 
      echo $description . "<br><br>"; 
     } // end if 

    } // end do 
while ($i<=$num_rows); 
+1

mysql_fetch_ * functions –

+3

[** 새 코드 ** (http://bit.ly/phpmsql)에 mysql_ * 함수를 사용하지 마십시오.]를 사용하여 먼저 행을 가져와야합니다. 그들은 더 이상 유지되지 않으며 [공식적으로 사용되지 않습니다] (http://j.mp/XqV7Lp). [** 빨간색 상자 **] (http://j.mp/Te9zIL)를 참조하십시오. 대신 [* prepared statements *] (http://j.mp/T9hLWi)에 대해 알아보고 [PDO] (http://php.net/pdo) 또는 [MySQLi] (http://php.net/)를 사용하십시오. mysqli) - [이 기사] (http://j.mp/QEx8IB)는 어떤 결정을 내리는 데 도움이 될 것입니다. – Kermit

답변

2

이것은 기본적인 PHP/MySQL 튜토리얼로 알려드립니다. mysql_query()은 자원 식별자를 생성합니다. 가서 mysql_fetch_assoc()을 사용하여 결과를 얻으십시오.

$result= mysql_query("SELECT Description FROM csv"); 
$row = mysql_fetch_assoc($result); 

    if (strpos($row['description'],$searchterm) !== false) { 

위의 의견에 따라 조언 해주십시오. 코드를 작성할 때 쓸모없는 코드를 작성하고 있습니다.

+0

좋은 답변입니다. +1 – hek2mgl

0
if(mysql_num_rows($description) >=1){ 
$result = mysql_fetch_assoc($description); 
    $words = $result['Description']; 
if (strpos($word ,$searchterm) !== false) { 
      echo $word. "<br><br>"; 
     } 
} 

행이 먼저 반환 된 후 가져 오는 경우를 계산합니다. 그리고 중요한 것은 mysql 대신 PDO을 사용하는 것입니다. 더 이상 사용되지 않습니다.

관련 문제