2013-07-03 1 views
0

저는 여기서 뭘하고 있는지 알아 내려고 애 쓰고 있습니다. 내가 무엇을하려고하는지, 그리고 내가 지금까지 얻고있는 것을 먼저 설명하게하겠습니다.PHP MYSQL 일치 및 출력

내가 무엇을 가지고 :

지금까지 내가 검색 내 채울 야후에서 데이터를 잡는의 방법으로 필요합니다. 이것은 방문자가 인용 부호 정보를 뱉어 낼 기호를 입력하도록 요청하는 간단한 양식입니다.

내 목표 :

나는 주식 기호 난에 대한 정보를 가지고 어떤 경우에도 내 데이터베이스 정보를 표시하기 위해 내 데이터베이스의 상관 관계를 시도하고있다. 그래서 방문자가 주식 기호 "hig"를 양식에 입력한다고합시다. 테이블 'stockpicks'를 호출하여 'symbol'열에 일치하는 것이 있는지 확인하고 싶습니다. 이 경우에는 '메모'와 같은 다른 열에서 해당 테이블의 다른 특정 데이터를 출력하고 싶습니다.

다음은 활성 샘플입니다. http://www.stocksandstocks.com/stock-quotes.php 두 가지와 그 관계를 이해하는 방법을 이해하지 못하는 것 같습니다. 아래는 제가 지금까지 가지고있는 것입니다.

<?php 
error_reporting(E_ALL^E_NOTICE); //this is for debugging, remove if you dont need anymore 
ini_set("display_errors", 1); //this is for debugging, remove if you dont need anymore 
$searchoutput = ""; 
$ticker = "goog"; 

if (isset($_POST['get_quote'])) { 
$ticker = $_POST['ticker']; 
} 

$open = fopen("http://quote.yahoo.com/d/quotes.csv?s=$ticker&f=sl1d1t1c1ohgv&e=.csv", "r"); 
$quote = fread($open, 1000); 

fclose($open); 

$quote = str_replace("\"", "", $quote); 
$quote = explode(",", $quote); 

$quote_0 = ($quote[0]); 
$quote_1 = ($quote[1]); 
$quote_2 = ($quote[2]); 
$quote_3 = ($quote[3]); 
$quote_4 = ($quote[4]); 
$quote_5 = ($quote[5]); 
$quote_6 = ($quote[6]); 
$quote_7 = ($quote[7]); 
$quote_8 = ($quote[8]); 

echo "<div class='symbol'><div class='quote'>Company: $quote_0</div></div>"; 
echo "<div class='row'><div class='quote'>Last trade: $$quote_1</div>"; 
echo "<div class='quote'>Date: $quote_2</div>"; 
echo "<div class='quote'>Time: $quote_3</div>"; 
echo "<div class='quote'>From Previous: $$quote_4</div></div>"; 
echo "<div class='row'><div class='quote'>Open: $$quote_5</div>"; 
echo "<div class='quote'>High: $$quote_6</div>"; 
echo "<div class='quote'>Low: $$quote_7</div>"; 
echo "<div class='quote'>Volume: $quote_8</div></div>"; 

if (isset($_POST['get_quote']) && $_POST['get_quote'] != "") { 
$ticker = $_POST['ticker']; 
    $get_quote = preg_replace('#[^a-z 0-9?!]#i', '', $_POST['get_quote']); 

$sqlCommand = "(SELECT id, symbol as sym FROM stockpicks WHERE symbol LIKE '%$get_quote%')"; 

     include_once("storescripts/connect_to_mysql.php"); 
     $query = mysql_query($sqlCommand) or die(mysql_error()); 
$count = mysql_num_rows($query); 
if($count > 1){ 
$search_output .= "<hr />$count results for <strong>$get_quote/strong><hr />$sqlCommand<hr />"; 
while($row = mysql_fetch_array($query)){ 
      $id = $row["id"]; 
    $sym = $row["sym"]; 
    $search_output .= "Item ID: $id - $sym<br />"; 
       } // close while 
} else { 
$search_output = "<hr />0 results for <strong>$get_quote</strong><hr />$sqlCommand"; 
} 
} 

?>        
            <div class="form"> <form method="post" action="<?php echo $_SERVER['REQUEST_URI'];?>"> 
             Get Quote: <input type="text" size="10" maxlength="10" name="ticker"/> 
             <input type="submit" value="Get Quote" name="get_quote" /> 
             </form></div> 
             Enter any valid stock quote such as:<br> 
             aapl<br> 
             hog<br> 
             rimm<br> 
             rht<br> 
             <?php echo $search_output ;?> 
           </div> 
+0

왜 변수에'$$ '이 있습니까? 변수 이름을 사용하고 있습니까? – DevZer0

+0

방금 ​​$$을 (를) 제거했습니다 ... 내 인생을 더 쉽게 만들어주는 복사 및 붙여 넣기 일뿐입니다. 마지막 컷에서 내가 제거하려고했던 것. 가격에는 $ 기호와 다른 기호가 필요합니다. 그냥 그들을 잊어 버리는 것을 잊었습니다. 편집하고 제거했습니다. 알림 주셔서 감사. –

+0

야후에서 데이터를 가져 오는 것이 맞습니까? 정확히 무엇이 잘못 될까요? – DevZer0

답변

1

는 그런 다음 쿼리에 의해 반환되는 행을 읽을 수 if($count >= 1){을 보려면 여기를 if($count > 1){을 당신의 상태를 변경해야합니다.

두 번째 문제는 라벨이 지정되지 않은 변수입니다. ticker 값을 사용해야합니다. 바로 지금 버튼 이름 인 'qet_quote'을 사용하고 있습니다.

$ticker = $_POST['ticker']; 
$get_quote = preg_replace('#[^a-z 0-9?!]#i', '', $_POST['ticker']); 

$sqlCommand = "(SELECT id, symbol as sym FROM stockpicks WHERE symbol LIKE '%$get_quote%')"; 
+0

안녕하세요 DevZer0 빠른 응답과 도움에 감사드립니다. 내 문제가 무엇인지 알기 위해 적극적인 예를 시도해 볼 수 있습니까? 활성 테스트 페이지는 원래 게시물의 링크에 있습니다. 내가 갈 수있는 곳으로 가려면 검색에 hig을 입력하십시오. 내가보고있는 것을 볼 것이다. –

+0

코드를 제안 된 것으로 변경 했습니까? – DevZer0

+0

예 지시 된대로> =로 넘겨주었습니다. –