2011-09-27 11 views
2

진행률 표시 줄에 관해 질문이 있습니다. 나는 거의 모든 게시물을 여기에서 읽었지만 내 시나리오에서는 그 중 어떤 것도 작동시키지 못한다. 다음은 50/500과 같은 숫자를 보여줍니다. 여기서 50은 실제 숫자이고 500은 최대 숫자입니다. 내가 필요 내가 시간대를 묘사 참조진행률 표시 줄

$SQL = "SELECT * FROM db_ships WHERE ship_id = $user[ship_id] LIMIT 1"; 
$result = mysql_query($SQL); 

while ($db_field = mysql_fetch_assoc($result)) { 
print $db_field['shields'] . "/"; 
print $db_field['max_shields'] . ""; 

대부분의 진행률 표시 줄은 시각적으로

print $db_field['shields'] . "/"; 
    print $db_field['max_shields'] . ""; 

가 어떻게이 내가 진행 상황을 묘사 진행률 표시 줄을 가질 수 있습니다 배치 할 수 비율을 보여? 나는 CSS가 좋지 않아서 미안합니다. 어떤 도움이라도 대단히 감사하겠습니다.

+0

무엇을 의미합니까? CSS가 처리 될 때까지 이미 100 %에 달할 것입니다! – bfavaretto

+0

언급 한 번호에 대해 10 %를 나타내는 진행 막대를 원하거나 해당 쿼리의 진행률 표시 줄을 원하는대로 하시겠습니까? 그렇다면 왜? 1 초보다 짧은 쿼리는 느린 쿼리로 간주됩니다. 1 초 동안 사용자는 진행률 막대를 볼 시간이 없으며 진행률 표시 줄은 프로세스와 비동기 적으로 통신해야합니다. 그렇지 않으면 응답 만 얻으면 100 %가됩니다. – markus

+0

나는 시간에 따라 진행률 표시 줄을 원하지 않는다. 50/500을 묘사하는 시각적 막대가 필요합니다. 데이터베이스에 저장된 숫자를 기반으로합니다. – user964535

답변

0
echo "<div class=\"progressbar_container\"><div class=\"progressbar\" style=\"width: ".($db_field['shields']/$db_field['max_shields']*100)."%\"></div></div>"; 

필요에 따라 스타일을 정의하십시오. 어쩌면 컨테이너의 테두리와 메인 바의 배경색 일 수도 있습니다. 기본 진행률 막대의 전부입니다.

+0

내 사과, 위의 단지 아무것도 표시되지 않습니다. 내가 놓친 게 있니? – user964535

+0

기본 진행률 표시 줄에 '높이'를 추가하십시오. –

+0

또한 CSS 파일에'.progressbar_container'와'.progressbar' 스타일을 지정하십시오. –

1

하나의 간단한 방법은 div를 더 큰 div에 배치하고 내부 div의 백분율 너비를 설정하는 것입니다. Here's a fiddle 무슨 뜻인지 보여주는 것.

당신은 서면으로 max_shields의 비율을 얻을 수

$percentage = $db_field['shields'] * ($db_field['max_shields']/100); 

은 내부 DIV의 폭과 비율을 적용 (가정 그들은 모두 숫자).

<div id="progress-inner" style="width: <?php echo $percentage; ?>%;"></div> 

당신이 원한다면 jQuery animate을 사용하여 해당 진행률 표시 줄 애니메이션을하는 바람 일 것이다.

+0

두 숫자입니다. – user964535

+1

좋아요! – Hubro

+0

$ SQL = "SELECT * FROM db_ships where ship_id = $ user [ship_id] LIMIT 1"; 솔루션에 문제가있는 경우 의견을 남기십시오. $ result = mysql_query ($ SQL); while ($ db_field = mysql_fetch_assoc ($ result)) { $ db_field [ 'shields']를 출력하십시오. "/"; $ db_field [ 'max_shields'] 인쇄하십시오.""; $ percentage = $ db_field [ 'shields'] * ($ db_field [ 'max_shields']/100);

...... 아직 아무것도 보이지 않습니다. – user964535

0
<style type="text/css"> 
.table, th 
{ 
background-color:Blue; 
border-collapse:collapse; 
} 
<table class="table" > 
     <tr id = "row1" > 
      <td id ="cell1" class="td"></td> 
     </tr> 
    </table>  
    <script language="javascript" type="text/javascript" > 

    var i = 1; 
    var timerID = 0; 
    timerID = setTimeout("progress()",200); 
    var scell = ''; 
    var sbase = ''; 
    sbase = document.getElementById("cell1").innerHTML; 

function progress() 
{ 

    var tend = "</tr></table>"; 
    var tstrt = "<table><tr>"; 
    scell = scell + "<td style='width:15;height:25' bgcolor=blue>"; 

    document.getElementById("cell1").innerHTML = sbase + tstrt + scell + tend; 


    if(i < 50) 
    {      
     i = i + 1; 

     timerID = setTimeout("progress()",200); 
    } 
    else 
    { 
     if(timerID) 
     { 
    document.getElementById("cell1") 
     .innerHTML=document.getElementById("cell1").innerHTML 
     + "</tr></table>"; 
      clearTimeout(timerID); 

     } 
    } 

    } 
    </script>