2013-03-21 4 views
0

데이터베이스에서 가져온 데이터에서 일련의 링크를 만들려고합니다.MySQL 쿼리 결과에서 하나의 열만 검색하십시오.

<?php 
$result = $db->query("SELECT imageurl FROM products WHERE name LIKE '%$id%' OR title LIKE '%$id%' OR category LIKE '%$id%' LIMIT 0, 15"); 
while($row = $result->fetch_row()) 
{ 
echo '<a href="'.print_r($row).'">'.$row.'</a>'.'<br />'; 
} ?> 

열 "이미지 URL은"이미지에 전체 URL이 포함되어 여기

내가 실행하고 쿼리입니다. ProcessWire CMS를 사용하고 있는데, 고유 한 쿼리 참조가 어디에서 왔는지 알려줍니다.

결과 출력은 데이터베이스에서 올바른 항목을 반환합니다. 검색이 작동합니다. 그러나,이 같은 일련의 선을 그대로 있습니다

Array ([0] => http://imagesource.net/graphics/product_images/pACE3-8573838t212.jpg) Array 

끝에있는 단어 "배열"하이퍼 링크를 포함하고는 있지만 올바른 URL에 연결되지 않습니다.

확실한 오류입니다. 누군가 잘못 된 것을 지적 할 수 있습니까?

+0

현재 찾고있는 문자열 값을 가져 오는 대신 배열을 인쇄합니다. – datasage

+0

RTLM : http://php.net/mysqli_fetch_row mysql/mysqli 함수는 ** ARRAY **를 반환합니다. print_r()은 덤프를 반환하지 않고 바로 출력하므로 에코/연결 연산이 잘못됩니다. –

+0

Matthew, 가장 도움이되는 답변에 체크 표시하는 것을 잊지 마십시오. – halfer

답변

2

이 시도 :

echo '<a href="'.$row[0].'">'.$row[0].'</a>'.'<br />'; 
+0

고마워! 그것은이 문제를 해결할뿐만 아니라 나에게도 뭔가 가르쳐주었습니다. – MatthewSchenker

0
while($row = $result->fetch_row()) 
{ 
    echo '<a href="'.print_r($row[0]).'">'.$row[0].'</a>'.'<br />'; 
} ?> 
+0

실제로'print_r'은 필요 없습니다. 단지'$ row [0]'뿐입니다. ':)'. – halfer

+0

예. 그냥 대답을 복사합니다. 그는 그걸 이해하기로 했어. – Adidi

2

변경 :

echo '<a href="'.print_r($row).'">'.$row.'</a>'.'<br />'; 

에 :

echo '<a href="'.$row['imageurl'].'">'.$row['imageurl'].'</a>'.'<br />'; 

나 :

echo '<a href="'.$row['imageurl'].'">'.basename($row['imageurl']).'</a>'.'<br />'; 
+0

감사합니다. 매우 도움이됩니다. – MatthewSchenker

관련 문제