2012-03-09 6 views
0

날짜가 포함 된 웹 양식의 드롭 다운 목록이 있습니다. 내 질문 : MySQL 데이터베이스에서 선택한 항목 (날짜)에 대한 데이터를 호출하여 사용자에게 표시하려면 어떻게합니까? 더 구체적으로 말하자면, 선택한 날짜에 데이터베이스에 데이터가 없으면이를 표시 할 수 있기를 원합니다. 자바 스크립트 솔루션을 찾고 있는데 가능한 경우 PHP 솔루션 (선호).선택한 드롭 다운 목록 항목 - 데이터 불러 오기/가져 오기

감사합니다!

+0

시도한 예제 코드가 있습니까? 먼저 시도해 보면 훨씬 쉽습니다. 그런 다음에 우리가 갈 수 있다는 것을 보여 줄 수 있습니까? 당신은이 google search "jQuery select dropdown"을 많이 했어. – Michael

+0

네, 인터넷에서 조사를 해봤지만 적용 가능한 것들은 찾을 수 없었습니다. 단 한가지는 ASP 솔루션이었습니다 – DextrousDave

답변

1

페이지를 새로 고치지 않으려면 AJAX를 사용하여 선택한 날짜를 url 매개 변수로 전달하여 다른 PHP 페이지를 비동기 적으로 호출 할 수 있습니다. 이 다른 PHP 페이지는 데이터베이스에서 쿼리를 실행하고 페이지가 쿼리 결과로 업데이트되도록 필요한 모든 값을 반환 할 수 있습니다.

jQuery의 AJAX 기능을 사용하는 것이 좋습니다. Here's a good example.

0

id 필드, datetime 및 기타 관련 정보가있는 테이블을 만듭니다. (날짜 시간으로) 데이터베이스에 아약스 호출을 사용하여 페이지에

+0

감사합니다. 올바른 방향으로 한 걸음 – DextrousDave

+0

fantanstic 도와 드리겠습니다. – Har

1

편집을 렌더링 자바 스크립트 변경 이벤트에 :이 샘플 PHP와 CSS를 사용

첫 번째 단계는와의 연결을 열 수 있습니다 MySQL 데이터베이스. 당신은 일이에 대한 호스팅 제공 업체에서 몇 가지 정보가 필요합니다, 그러나 보통 보인다 :

<?php 

    $connection = mysql_connect("", "[email protected]", "") 
    or die("Couldn't connect: ".mysql_error()); 

    mysql_select_db("SOME_TABLE", $connection) 
    or die("Unable to select database"); 

다음, 당신이 사용하는 어떤 테이블에서 날짜 데이터를 검색하는 것입니다. php의 mysql_fetch_array 함수를 사용하여 이전 select 문에서 모든 테이블 정보를 선택할 수 있습니다. 반환 값은 열이 인덱스 인 $row 배열과 같습니다.

$res = mysql_query("SELECT DATE FROM SOME_TABLE"); 

?> 

다음 단계는 드롭 다운 div를 생성하는 것입니다. 나는 테이블이 비어 있는지 확인하는 방법을 완전히 모르겠지만, 내가 바로 아래의 코드에서 찾은 것 같아 :이 작업을 모두 얻을 후

<!DOCTYPE html> 
<html> 
    <head> 
     <title>Drop down!</title> 
    </head> 
    <body> 

    <?php 

     $row = mysql_fetch_array($res,MYSQL_NUM); 
     if($row == null) { //This I'm not positive about 

    ?> 

     <div class="dropdown">NUTHIN</div> 

    <?php 

      } else { 

      while($row=mysql_fetch_array($res,MYSQL_NUM)){ ?> 


    <div class="dropdown"> 
     <?php echo $row[0] ?> 
    </div> 

<?php } } ?> 

    </body> 
</html> 

, 드롭 다운 메뉴를 얻는 것은 작동하기 ~입니다. 사실, 그것은 CSS로만 할 수 있습니다.

다음
<head> 
<style> 
#menu_group { 
    position:relative; 
    width:200px; 
    background-color:#F00; 
} 
.menu_item { 
    display:none; 
    background-color:#FF0; 

} 

#menu_group:hover > .menu_item { 
    display:block; 
} 
</style> 

</head> 
<body> 

<div id="menu_group">Something 
    <div class="menu_item">1</div> 
    <div class="menu_item">2</div> 
    <div class="menu_item">3</div> 
</div> 
</body> 

이 작동 방법은 다음과 같습니다 : 사용자가 menu_group의 ID를 가진 요소 가리킬 경우, menu_item의 클래스 이름을 가진 모든 자식 요소가 none (ALA 보이지 않는)에서 자신의 display 속성을 변경합니다 여기 예입니다 block (보이는 블럭 레벨 요소).

모두 도움이 되길 바랍니다. 어쨌든 CSS 드롭 다운을 제외하고이 코드가 완벽하게 작동한다는 보장은 없습니다.

+0

정말 고맙습니다. 왜 드롭 다운 목록에 div와 CSS를 사용했는지 알고 싶습니다.

태그가 아닌 것은 알고 싶습니다. 아니면 그렇게 중요하지 않습니까? – DextrousDave

+0

@DextrousDave 본인이 기본 페이지 링크 메뉴 또는 유사한 것을 만들었다 고 생각했습니다. 그럼에도 불구하고 너무 중요하지 않아야합니다. 서버 측 언어를 통해 필요한 요소를 만든 다음 해당 요소가 작동 중임을 알게되면 해당 요소에 CSS를 적용하십시오. –

관련 문제