본문 바로가기

비주얼스튜디오코드

[ 22일차 ] list파일에서 table만들기( for문,while문,문자열함수 활용하기)

list 파일에서 table 만들기 !

 

<?include"top.php"?> 
 
 <section>
    <br><br>
    <div align=center><font size=4><b> 성적 목록 보기</b></font></div>
    <div align=center>
     <br>
      <table border=1>
        <tr>
            <th>학번</th><th>이름</th><th>국어</th><th>영어</th><th>수학</th><th>역사</th>
        </tr>
        <? for ($i=1; $i<=3; $i++) { ?>
       
            <tr><td>&nbsp;<?=$i?> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>
        
        <? }?>
      </table>
    </div>
     <br>
</section>

<?include"bottom.php"?>

 

css 로 셀에 색깔 넣기 


 <? for ($i=1; $i<=7; $i++) { ?>
            <tr id="tr"><td>&nbsp;<?=$i?> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>
        <? }?>

for문에 id 주고
 

<style>
#tr{
    background-color:white;
}
</style>

스타일 추가 

 

홀수, 짝수 색깔 다르게 해보기 

<?include"top.php"?> 
 
<style>
#tr1{
    background-color:white;
}

#tr2{
    background-color:lightpink;
}
</style>
 <section>
    <br><br>
    <div align=center><font size=4><b> 성적 목록 보기</b></font></div>
    <div align=center>
     <br>
      <table border=1>
        <tr>
            <th>학번</th><th>이름</th><th>국어</th><th>영어</th><th>수학</th><th>역사</th>
        </tr>

        <? for ($i=1; $i<=7; $i++) { ?>
        <?
          if( $i % 2 == 0) {
            $bg = 'tr1';
          }else{
            $bg = 'tr2';
          }
        ?>
            <tr id=<?=$bg?>>
            <td>&nbsp; <?=$i?></td>
            <td> </td>
            <td> </td>
            <td> </td>
            <td> </td>
            <td> </td>
            </tr>
        
        <? }?>
      </table>
    </div>
     <br>
</section>

<?include"bottom.php"?>

 

 

테이블 아래 누적합 계산해서 나타내기 

  ?>
            <tr id=<?=$bg?>>
            <td>&nbsp; <?=$i?></td>
            <td> </td>
            <td> </td>
            <td> </td>
            <td> </td>
            <td> </td>
            </tr>
        
        <? 
         $s=$s+$i;}  //$i 누적하기
         ?>
        </table>
        누적합 : <?=$s ?>

 

 

list 파일에 select 쿼리문 만들기 

list 파일 <style> 위에 써주기 

<?include"top.php"?> 
 

<?
$servername = "localhost";
$username = "root";
$password = "autoset";
$dbmame = "korea";

$conn = new mysqli($servername,$username,$password,$dbmame);
?>

<?
    $SQL = "select * from examtbl order by sno desc";
    $result = $conn->query($SQL); 
?>

 

<?include"top.php"?> 
 

<?
$servername = "localhost";
$username = "root";
$password = "autoset";
$dbmame = "korea";

$conn = new mysqli($servername,$username,$password,$dbmame);
?>

<?
    $SQL = "select * from examtbl order by sno desc";
    $result = $conn->query($SQL); 
?>

<style>
#tr1{
    background-color:lightblue;
}

#tr2{
    background-color:lightpink;
}
</style>

 <section>
    <br><br>
    <div align=center><font size=4><b> 성적 목록 보기</b></font></div>
    <div align=center>
     <br>
      <table border=1>
        <tr>
            <th>학번</th><th>이름</th><th>국어</th><th>영어</th><th>수학</th><th>역사</th>
        </tr>

        <? 
         while($row = $result -> fetch_assoc()){
        ?>
            <tr>
            <td>&nbsp; <?=$row['sno']?></td>
            <td> </td>
            <td> </td>
            <td> </td>
            <td> </td>
            <td> </td>
            </tr>
        
        <? 
        }
         ?>
        </table>
          
    </div>
     <br>
</section>

<?include"bottom.php"?>

학번만 select 하기
전체값 select 하기

 

합과 평균 나타내기 !!

     <? 

   while($row = $result -> fetch_assoc()){
             $sum= $row['kor']+$row['eng']+$row['math'] + $row['hist'];
             $avg= $sum/4;
        ?>
            <tr>
            <td> <?=$row['sno']?></td>
            <td> <?=$row['sname']?> </td>
            <td> <?=$row['kor']?> </td>
            <td> <?=$row['eng']?> </td>
            <td> <?=$row['math']?> </td>
            <td> <?=$row['hist']?> </td>
            <td> <?=$sum?></td>
            <td> <?=$avg?></td>
            </tr>
        
        <? 
        }
         ?>

 

홀수 짝수 나눠서 색깔 입혀보기 

while 문 밑에 $i 에 대한 연산과 if문 

 <? 
         $sum =0; $avg=0; $i=0; //초기값 잡아주기
         while($row = $result -> fetch_assoc()){

            $i=$i+1;
            if ($i % 2 == 0){
                $bg = 'tr1';
            } else{
                $bg = 'tr2';
            }

             $sum= $row['kor']+$row['eng']+$row['math'] + $row['hist'];
             $avg= round($sum/4 ,1); //소수점 첫째자리까지 나타내기 
        ?>
            <tr id=<?=$bg?>>
            <td> <?=$row['sno']?></td>
            <td> <?=$row['sname']?></td>
            <td> <?=$row['kor']?></td>
            <td> <?=$row['eng']?></td>
            <td> <?=$row['math']?></td>
            <td> <?=$row['hist']?></td>
            <td> <?=$sum?></td>
            <td> <?=$avg?></td>
            </tr>
        
        <? 
        }
         ?>

 

 

학번을 학년, 반, 번호로 나누기 (substr 함수)


<tr id=<?=$bg?>>
            <td> <?=$i?></td>
            <td> <?=substr($row['sno'],0,1)?></td>  --첫번째 숫자는 시작위치, 뒤에숫자는 나타낼 자릿수
            <td> <?=substr($row['sno'],1,2)?></td>
            <td> <?=substr($row['sno'],3,2)?></td>

 

평점 나타내보기 (IF문) 

 

          $sum= $row['kor']+$row['eng']+$row['math'] + $row['hist'];
             $avg= round($sum/4 ,1); //소수점 첫째자리까지 나타내기 

             if ($avg>90){
                $G = 'A';
             } else if ($avg>80){
                $G = 'B';
             } else if ($avg>70){
                $G = 'C';
             } else {
                $G = 'F';
             }
        ?>
            <tr id=<?=$bg?>>
            <td> A<?=$i?></td>
            <td> &nbsp;<?=substr($row['sno'],0,1)?></td>
            <td> <?=substr($row['sno'],1,2)?></td>
            <td> <?=substr($row['sno'],3,2)?></td>
            <td> <?=$row['sname']?></td>
            <td> <?=$row['kor']?></td>
            <td> <?=$row['eng']?></td>
            <td> <?=$row['math']?></td>
            <td> <?=$row['hist']?></td>
            <td> <?=$sum?></td>
            <td> <?=$avg?></td>
            <td> <?=$G?></td>
            </tr>
        
        <?

 

총점, 총평균 나타내보기 

 

 

<?include"top.php"?> 
 

<?
$servername = "localhost";
$username = "root";
$password = "autoset";
$dbmame = "korea";

$conn = new mysqli($servername,$username,$password,$dbmame);
?>

<?
    $SQL = "select * from examtbl order by sno desc";
    $result = $conn->query($SQL); 
?>

<style>
    
#tr1{
    background-color:lightblue;
}

#tr2{
    background-color:lightpink;
}
tr{
    text-align:center;
}
</style>

 <section>
    <br><br>
    <div align=center><font size=4><b> 성적 목록 보기</b></font></div>
    <div align=center>
     <br>
      <table border=1>
        <tr>
            <th>순번</th><th>학년</th><th>반</th><th>번호</th>
            <th>이름</th><th>국어</th><th>영어</th><th>수학</th><th>역사</th>
            <th>합계</th><th>평균</th><th>평점</th>
        </tr>

        <? 
         $sum =0; $avg=0; $i=0; $skor=0; $seng=0; $smath=0; $shist=0;  $ssum=0; $savg =0;
         $askor = 0;
         $aseng = 0;
         $asmath = 0;
         $ashist = 0;
         $assum = 0;
         $asavg =0;//초기값 잡아주기
         
         while($row = $result -> fetch_assoc()){
            $i=$i+1;
        
            if ($i % 2 == 0){
                $bg = 'tr1';
            } else{
                $bg = 'tr2';
            }

             $sum= $row['kor']+$row['eng']+$row['math'] + $row['hist'];
             $avg= round($sum/4 ,1); //소수점 첫째자리까지 나타내기
             
             $skor = $skor +$row['kor'];
             $seng = $seng +$row['eng'];
             $smath = $smath +$row['math'];
             $shist = $shist +$row['hist'];  //컬럼의 값 가져옴
             $ssum = $ssum + $sum;
             $savg = $savg + $avg;  //변수 가져옴 

             $askor = $skor/ $i;
             $aseng = $seng/ $i;
             $asmath = $smath / $i;
             $ashist = $shist / $i;
             $assum = $ssum / $i;
             $asavg = $savg/ $i;
             
        

             if ($avg>90){
                $G = 'A';
             } else if ($avg>80){
                $G = 'B';
             } else if ($avg>70){
                $G = 'C';
             } else {
                $G = 'F';
             }
        ?>
            <tr id=<?=$bg?>>
            <td> A<?=$i?></td>
            <td> &nbsp;<?=substr($row['sno'],0,1)?></td>
            <td> <?=substr($row['sno'],1,2)?></td>
            <td> <?=substr($row['sno'],3,2)?></td>
            <td> <?=$row['sname']?></td>
            <td> <?=$row['kor']?></td>
            <td> <?=$row['eng']?></td>
            <td> <?=$row['math']?></td>
            <td> <?=$row['hist']?></td>
            <td> <?=$sum?></td>
            <td> <?=$avg?></td>
            <td> <?=$G?></td>
            </tr>
        
        <? 
        }
         ?>

            <tr>
                <th colspan=5>총점</th><td><?=$skor?></td><td><?=$seng?></td><td><?=$smath?></td>
                <td><?=$shist?></td><td><?=$ssum?></td><td><?=$savg?></td><td>&nbsp;</td>
            </tr>
            <tr>
                <th colspan=5>총평균</th><td><?=$askor?></td>
                <td><?=$aseng?></td><td><?=$asmath?></td>
                <td><?=$ashist?></td><td><?=$assum?></td><td><?=$asavg?></td><td></td>
            </tr>
        </table>
          
    </div>
     <br>
</section>

<?include"bottom.php"?>

 

list 파일에다가 sno 링크걸기 

 <td> 
                <a href="edit.php?sno=<?=$row['sno']?>">
                <?=$row['sname']?>
            <td> <?=$row['kor']?></td>
            <td> <?=$row['eng']?></td>
            <td> <?=$row['math']?></td>
            <td> <?=$row['hist']?></td>
            <td> <?=$sum?></td>
            <td> <?=$avg?></td>
            <td> <?=$G?></td>
            </tr>

form 파일 복사해서 edit 파일 만들어서 


<?include"top.php"?> 

<?
$servername = "localhost";
$username = "root";
$password = "autoset";
$dbmame = "korea";

$conn = new mysqli($servername,$username,$password,$dbmame);
?>

<?
    $SQL = "select * from examtbl where sno= $sno";
    $result = $conn->query($SQL); 
    $row = $result -> fetch_assoc()
    
    $sno=$_row['sno'];
    $sname=$_row['sname'];
    $kor=$_row['kor'];
    $eng=$_row['eng'];
    $math=$_row['hist'];
    $hist=$_row['hist'];

?>
 
 <?
 $sno=$_REQUEST['sno'];
?>

 <script>
    function ck1(){
        if(f1.sno.value==""){
        alert(" 학번을 입력해주세요");
        f1.sno.focus();
        return false;
      } else if(f1.sname.value.length <=2){
        alert(" 이름을 3자 이상 입력해주세요");
        f1.sname.value="";
        f1.sname.focus();
        return false;

      }else{
        alert("성적입력이 완료되었습니다");
      }

    }

 </script>


 <section>
    <br><br>
    <div align=center><font size=4><b> 성적 수정 하기
    </b></font></div>
    <div align=center>
     <br>
     <form name=f1 
           onSubmit="return ck1()" 
           method=post 
           action="form_ok.php">
     <table border=1>
        <tr>
            <td>학 번</td><td><input type="text" name="sno" value="<?=$sno?>"></td>
        </tr>
        <tr>
            <td>성 명</td><td><input type="text" name="sname" value="<?=$sname?>"></td>
        </tr>
        <tr>
            <td>국 어</td><td><input type="text" name="kor" value="<?=$kor?>"></td>
        </tr>
        <tr>
            <td>영 어</td><td><input type="text" name="eng" value="<?=$eng?>"></td>
        </tr>
        <tr>
            <td>수 학</td><td><input type="text" name="math" value="<?=$math?>"></td>
        </tr>
        <tr>
            <td>역 사</td><td><input type="text" name="hist" value="<?=$hist?>"></td>
        </tr>
        <tr>
            <td colspan=2 align=center>
            <input type=submit value="성적수정"></td>
        </tr>
    </table>
    </form>
    </div>
     <br>
</section>

<?include"bottom.php"?>