2014-11-11 2 views
0

지금 나는 박물관을위한 새로운 홈페이지를 만들고 있는데, 70k 개 이상의 항목이 있기 때문에 이전 데이터베이스를 사용해야합니다.어떻게 값을 분해하고 변수에 저장합니까?

이제 "dias"테이블 (서포터 행)의 값을 서포터의 전체 이름에서 ID (서포터 테이블)로 변경하는 중입니다.

오른쪽이 코드를 사용하고 알고

지금 $pate[0]에 넣으면
$result = mysql_query("SELECT pate FROM dias"); 

    while ($row = mysql_fetch_array($result, MYSQL_NUM)) { 
      $pate = explode(" ", print_r($row[0])); 
    echo "<br>"; 
    } 

, 난 단지 출력으로합니다 (인 print_r의 이름과 함께) "1"을 얻는다.

내 질문은 : 어떻게 이름을 분할하고 나는 생각하기 때문에 나는이 서포터 테이블의 하나 이름을 비교할 수 있도록하고 ID를 작성해야, 변수에 별도로 저장할 수 있습니다 "dias"테이블의 서포터 행에 있습니다.

더 많은 정보가 필요하면 언제든지 문의하십시오.

+1

왜 'print_r'을 사용하고 있습니까? '$ row'의 원시 값은 무엇입니까? – Paul

+0

mayb u는 list() 및 explode()를 찾고 있습니다. – black

답변

2

explode에는 두 번째 인수로 문자열이 필요하지만이 경우 true 인 반환 값은 print_r입니다. 그냥 $ row [0]을 가져 가면 $pate에 데이터 배열이 있어야합니다.

그 후에 $pate을 인쇄 해보십시오.

$result = mysql_query("SELECT pate FROM dias"); 

while ($row = mysql_fetch_array($result, MYSQL_NUM)) { 
     $pate = explode(" ", $row[0]); 
     print_r($pate) 
     echo "<br>"; 
} 

그 후 :.

SELECT SUBSTRING_INDEX(pate, ' ', 1) FROM dias 
0
$result = mysql_query("SELECT pate FROM dias"); 

    while ($row = mysql_fetch_array($result, MYSQL_NUM)) { 
      $pate = explode(" ", $row[0]); 
print_r($pate); 
    echo "<br>"; 
    } 
0

은 데이터를받은 후이하지 말라 추출 기능을 사용할 수 있습니다.

0
$result = mysql_query("SELECT pate FROM dias"); 
while ($row = mysql_fetch_assoc($result)) { 
    $data[] = $row; 
    print_r($data); 
    echo "</br>"; 
} 
print_r($data); 

당신은 변수에 저장하는 값을 원하는 경우 : SUBSTRING_INDEX를 사용하여 쿼리에서 그것을 할 -

1

List() 함수에 대해 말하는 것처럼 보입니다. list()를 사용하면 다음과 같은 변수로 분해 할 수 있습니다.

$address ="Benson Bush|4545547 | living in California" ; 

list($name ,$code , $description) = explode("|", $address); 

echo $name."<br>"; 
echo $code."<br>"; 
echo $description."<br>"; 
관련 문제