Harigami
ログイン
Harigamiは、ログイン不要のコード共有サービスです。コードの投稿後に発行されるURLでコードを共有できます。
PythonやRubyなど一部の言語は、投稿後にオンラインで実行することもできます。
誰でも無料で使えて、広告もありません。コードレビューやスニペットの代わりに使ってみてください。


詳細設定
+
出口尚哉 タイトルなし
Python
import java.awt.event.*;
import javax.swing.JButton;

public class MoveButtonActionListener implements ActionListener {
	private MyPanel panel;
	
	MoveButtonActionListener(MyPanel p) {
		super();
		this.panel = p;
		}

	@Override
	public void actionPerformed(ActionEvent e) {
		System.out.print("Button (");
		JButton sbt = (JButton) e.getSource();
		String sbtText = sbt.getText();
		System.out.println(sbtText + ") is pushed");
		if (this.panel != null) {
			this.panel.moveAllSelectedShapes(10,10);
			}
		}
	}
  • 0
  • 0
出口尚哉 タイトルなし
Python
import javax.swing.JButton;
import javax.swing.JPanel;
import java.awt.Graphics;
import java.awt.event.*;
import java.util.List;
import java.util.ArrayList;

public class MyPanel extends JPanel {
	private List<Shape> shapes;

	public MyPanel() {
		super();
		this.shapes = new ArrayList<>();
		MouseAdapter myMcl = new MyMouseClickListener(this);
		this.addMouseListener(myMcl);
		JButton moveBt =new JButton("Move");
		this.add(moveBt);
		ActionListener moveBal =new MoveButtonActionListener(this);
		moveBt.addActionListener(moveBal);
	}

	public void addShape(Shape s) {
		this.shapes.add(s);
		this.repaint();
		}

	public void panelClicked(int x, int y){
		for (int i=0; i<shapes.size(); i++){
			Shape s =shapes.get(i);
			if (s.select(x,y) == true){
				System.out.println("Selected = " + s.toString());
			}
		}
		this.repaint();
		}
	public void moveAllSelectedShapes(int dx,int dy){
		for (int i=0; i<shapes.size(); i++){
			Shape s =shapes.get(i);
			s.moveSelectedShape(dx, dy);
			}
		this.repaint();
	}

	@Override
	public void paintComponent(Graphics g){
		super.paintComponent(g);
		System.out.println("MyPanel repainting ...");
		for (Shape s : this.shapes) {
			if (s != null) {
				s.draw(g);
				}
			}
		}
	}
  • 0
  • 1
出口尚哉 タイトルなし
Java
import javax.swing.JPanel;
import java.awt.Graphics;
import java.awt.event.*;
import java.util.List;
import java.util.ArrayList;

public class MyPanel extends JPanel {
	private List<Shape> shapes;

	public MyPanel() {
		super();
		this.shapes = new ArrayList<>();
		MouseAdapter myMcl = new MyMouseClickListener(this);  // change here
		// insert here
		this.addMouseListener(myMcl);
		}

	public void addShape(Shape s) {
		this.shapes.add(s);
		this.repaint();
		}

	public void panelClicked(int x, int y){
		for (Shape s : this.shapes) {
			if (s != null) {
				s.select(x, y);
				}
			}// insert here
		this.repaint();
		}

	@Override
	public void paintComponent(Graphics g){
		super.paintComponent(g);
		System.out.println("MyPanel repainting ...");
		for (Shape s : this.shapes) {
			if (s != null) {
				s.draw(g);
				}
			}
		}
	}
  • 0
  • 0
anonymous タイトルなし
PHP
 try{ $dbh = new PDO($dsn, $user, $pass,
    [
      PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
      PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
      ]);
      
    } 
    catch (PDOException $e) {
      
      echo '接続失敗'. $e->getMessage();  
      exit();
      
    };
    
    
    $name = $_POST["name"];
    $comment = $_POST["comment"];
    $date = date("Y/m/d H:i:s");
    $id = 0;
    $delete = $_POST["delete"];
    
    
    
    if(isset($name) && ($comment)){ 
      
      $sql  = "CREATE TABLE IF NOT EXISTS kadai2(
              id INT(6) AUTO_INCREMENT PRIMARY KEY, 
              name VARCHAR(30) NOT NULL,
              comment VARCHAR(30) NOT NULL,
              date DATETIME
          )";   

$res = $dbh->query($sql);
$sql = 
"INSERT INTO kadai2(
             name,comment,date
             )VALUES(
              :name,:comment,:date
             )";
             $stmt = $dbh->prepare($sql);
             
             $params = array(':name'=> $name, ':comment'=>$comment,':date'=>$date);
             $stmt->execute($params);
             
            }
            
            $sqlselect = "SELECT * FROM kadai2";
            
            $res = $dbh->query($sqlselect);
            
            foreach( $res as $value ) {
              echo
              "$value[id]","$value[name]","$value[comment]","$value[date]";
              echo"<br>";
            }
            
            // if(isset($delete)){
              
            //   $id = $_POST["delete"];
              
            //   $sqldelete = "DELETE FROM kadai2 WHERE id = $id";
              
            //   $a = $dbh->query($sqldelete);
            // }
            
            if(isset($_POST['edit'])){
              $editid = $_POST["number"];
              $editNumber = '';
              $editName = '';
              $editComment = '';
              
              if($id == $editid){
                $sqlselect = "SELECT * FROM kadai2";
                $res = $dbh->query($sqlselect);
                foreach( $res as $value ) {
                  $editNumber = "$value[id]";
                  $editName = "$value[name]";
                  $editComment = "$value[comment]";
                break;
              }
            }
          }
                  ?>

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <form action = "kadai_2.php" method="post">
              名前:
              <input type="text" name="name" value='<?php if(isset($editName)){echo $editName;}?>'>
              <br />

              コメント:
              <input type="text" name="comment" value="<?php if(isset($editComment)){echo $editComment;}?>"><br />

              <input type="submit" value="送信" ><br />


              削除対象番号
              <input type="text" name="delete" ><br />
              <input type="submit" value="削除"><br />
              
          
              編集対象<input type="text" name="number" value="">
              <input type="submit" name="edit" value="送信">
              <br/>
            
  </form>
  
</body>
</html>
  • 0
  • 0
イリーナ タイトルなし
Python
#include <stdio.h>
#include <stdlib.h>
#include <string.h>


struct geotag{
  
  char* id;
  char* shot_time;
  char* latitude;
  char* longitude;
  char* url;

};

struct tag{
	char* id;
	char* tag;
	
};
int main(int argc, char** argv){

	FILE *fp_tag;
	char *tag_filename = "tag.csv";
	
	fp_tag = fopen(tag_filename,"r");
	if(fp_tag == NULL){
		printf("file open error \n");
		return -1;
		}
	
	long long int limit = 0;
	char *buf;
	char *buffer;
	buf = (char *)malloc(sizeof(char) * 10000); 
	buffer = (char *)malloc(sizeof(char) * 10000);
	char id[200];
	struct geotag g;
	struct tag t;
	t.id = (char *)malloc(sizeof(char) * 10000);
	t.tag = (char *)malloc(sizeof(char) * 10000);
	size_t len = 100000;
	//printf("%s\n",argv[1]);

    // //tag.csvから入力されたタグと一致したidをとりだし,idに入れる
	while(limit < 100  && getline(&buf, &len , fp_tag) != -1 ){
				
		sscanf(fp_tag, "%[^,], %s ", &t.id, &t.tag);

		if(strcmp(&t.tag, argv[1]) == 0){
			id[limit]= t.id;
			limit++;
			//printf("%ld\n", limit);
		}
		
	}	
		fclose(fp_tag);
		free(buf);
    //  //geotag.csvの最初からidと一致するidを探し,その行をansに入れる
	 	FILE *fp_geotag;
	  	char* geotag_filename = "geotag.csv";
	 	fp_geotag = fopen(geotag_filename,"r");
	 	char ans[200][5][2000];

	 	if(fp_geotag == NULL){
	 	printf("file open error \n");
	 	return -1;
	 	}
		
		int i = 0;
	 	while(i< 100 && getline(&buffer, &len , fp_geotag) != -1){
		printf("%s\n",buffer);
		sscanf(fp_geotag, "%[^,], %[^,], %[^,], %[^,], %s", &g.id, &g.shot_time, &g.latitude, &g.longitude, &g.url);
			
	 		if(strcmp(id[i],buffer[0]) == 0){
					strcpy(ans[i][0], buffer[0]);
	 				strcpy(ans[i][1], buffer[1]);
	 				strcpy(ans[i][2], buffer[2]);
	 				strcpy(ans[i][3], buffer[3]);
	 				strcpy(ans[i][4], buffer[4]);
	 				i++;
	 		}
	 		
	 	} 	
	 	fclose(fp_geotag);
	 	
	 	free(buffer);
	
	// 	for(int i=0; i<100;i++){
		
	// 		for(int j=0; j<5 ;j++){
	// 		printf("%d\n", ans[i][j]);
	// 		}
	// 	   }
	// 	return 0;
}
  • 0
  • 0
イリーナ タイトルなし
C
#include <stdio.h>
#include <stdlib.h>
#include <string.h>


struct geotag{
  char* id;
  char* shot_time;
  char* latitude;
  char* longitude;
  char* url;

};

int main(int argc, char** argv){

	FILE *fp_tag;
	
	char *tag_filename = "tag.csv";
	
	fp_tag = fopen(tag_filename,"r");
	if(fp_tag == NULL){
		printf("file open error \n");
		return -1;
		}
	
	int limit = 0;
	char *buf;
	buf = (char *)malloc(sizeof(char) * 2000); 
	char id[100];
	struct geotag g;
	
    //tag.csvから入力されたタグと一致したidをとりだし,idに入れる
	while(limit < 100 && fgets(buf,sizeof(buf) + 1,fp_tag) != NULL){
		
		fscanf(fp_tag, "%d, %d, %d, %d, %d", &g.id, &g.shot_time, &g.latitude, &g.longitude, &g.url);
		
		if(strcmp(&id, argv) == 0){
			
			g.id = &id;
			id[limit]= g.id;
			limit++;
		}
	}	
     //geotag.csvの最初からidと一致するidを探し,その行をansに入れる
		FILE *fp_geotag;
		char* geotag_filename = "geotag.csv";
		fp_geotag = fopen(geotag_filename,"r");
		char **ans;

		if(fp_geotag == NULL){
		printf("file open error \n");
		return -1;
		}
		
		for(int i=0; fgets(buf, sizeof(buf)+1, fp_geotag) !=NULL; i++){
		
			for(int i=0; i<100;i++){
			fscanf(fp_geotag, "%d, %d, %d, %d, %d", &g.id, &g.shot_time, &g.latitude, &g.longitude, &g.url);
			
			if(strcmp(id[i],buf) == 0){
					ans[i][0]=buf[0];
					ans[i][1]=buf[1];
					ans[i][2]=buf[2];
					ans[i][3]=buf[3];
					ans[i][4]=buf[4];
			}
			break;
		 }	
		}
		
	free(buf);
	
	for(int i=0; i<100;i++){
		
		for(int j=0; j<5 ;j++){
		
		printf("%d\n", ans[i][j]);
		}
	}

	
	return 0;
}
  • 0
  • 0
anonymous タイトルなし
HTML
<canvas id="can" width="300" height="600" style="border: 4px solid rgb(85, 85, 85);">
  • 0
  • 0
anonymous タイトルなし
JavaScript
'use strict';

{
  // 落ちるスピード
  let GAME_SPEED = 700;

  // フィールドサイズ
  const FIELD_COL = 10;
  const FIELD_ROW = 20;

  
  // ブロック一つのサイズ(ピクセル)
  const BLOCK_SIZE = 30;

  // キャンバスのサイズ
  const SCREEN_W = FIELD_COL * BLOCK_SIZE; //300
  const SCREEN_H = FIELD_ROW * BLOCK_SIZE; //600

  // テトロみののサイズ
  const TETRO_SIZE = 4; 

  let can = document.getElementById("can");
  let con = can.getContext("2d");

  can.width = SCREEN_W;
  can.height = SCREEN_H;
  can.style.border = "4px solid #555";

  const TETRO_COLORS = [
    "#000",
    "#6cf",
    "#fa2",
    "#00f",
    "#f0f",
    "#fd2",
    "#f44",
    "#5b5",
  ];

  const TETRO_TYPES = [
    [],// 0
    [
      [0, 0, 0, 0],//1.I
      [1, 1, 1, 1],
      [0, 0, 0, 0],
      [0, 0, 0, 0],
    ],
    [
      [0, 1, 0, 0],// 2.L
      [0, 1, 0, 0],
      [0, 1, 1, 0],
      [0, 0, 0, 0],
    ],
    [
      [0, 0, 1, 0],// 3.J
      [0, 0, 1, 0],
      [0, 1, 1, 0],
      [0, 0, 0, 0],
    ],
    [
      [0, 1, 0, 0],// 4.T
      [0, 1, 1, 0],
      [0, 1, 0, 0],
      [0, 0, 0, 0],
    ],
    [
      [0, 0, 0, 0],// 5.O
      [0, 1, 1, 0],
      [0, 1, 1, 0],
      [0, 0, 0, 0],
    ],
    [
      [0, 0, 0, 0],// 6,Z
      [1, 1, 0, 0],
      [0, 1, 1, 0],
      [0, 0, 0, 0],
    ],
    [
      [0, 0, 0, 0],// 7.O
      [0, 1, 1, 0],
      [1, 1, 0, 0],
      [0, 0, 0, 0],
    ],
  ];

  const START_X = FIELD_COL / 2 - TETRO_SIZE / 2;
  const START_Y = 0;

  // テトロミノ本体
  let tetro;
  
  // テトロミノの座標
  let tetro_x = START_X;
  let tetro_y = START_Y;
  // テトロミノの形
  let tetro_t;

  // フィールド本体
  let field = [];

  // ゲームオーバーフラグ
  let over = false;

  tetro_t = Math.floor(Math.random() * (TETRO_TYPES.length - 1)) + 1;
  tetro = TETRO_TYPES[tetro_t];

  // 初期化に関数
  function init() 
  {
    for (let y = 0; y < FIELD_ROW; y++) 
    {
      field[y] = [];
      for (let x = 0; x < FIELD_COL; x++) 
      {
        field[y][x] = 0;
      }
    }
    // テスト
    // field[5][8] = 1;
    // field[19][0] = 1;
    // field[19][9] = 1;
  }

  init();
  drawAll();

  setInterval(dropTetro, GAME_SPEED);

  // ブロック一つを描画する。
  function drawBlock(x, y, c) 
  {
    let px = x * BLOCK_SIZE;
    let py = y * BLOCK_SIZE;

    con.fillStyle = TETRO_COLORS[c];
    con.fillRect(px, py, BLOCK_SIZE, BLOCK_SIZE);    
    con.strokeStyle ="black";
    con.strokeRect(px, py, BLOCK_SIZE, BLOCK_SIZE)
  }

  // フィールドとテトロを表示する関数
  function drawAll()
  {

    con.clearRect(0, 0, SCREEN_W, SCREEN_H);

    for (let y = 0; y < FIELD_ROW; y++) 
    {
      for (let x = 0; x < FIELD_COL; x++) 
      {
        if (field[y][x]) 
        {
          drawBlock(x, y, field[y][x]);
        }
      }
    }

    for (let y = 0; y < TETRO_SIZE; y++) 
    {
      for (let x = 0; x < TETRO_SIZE; x++) 
      {
        if (tetro[y][x]) 
        {
          drawBlock(tetro_x + x, tetro_y + y, tetro_t);
        }
      }
    }
    if (over) 
    {
      let s = "GAME OVER"
      con.font = "40px 'MS ゴシック'";
      let w =  con.measureText(s).width;
      let x = SCREEN_W/2 - w/2;
      let y = SCREEN_H/2 - 20;
      con.lineWidth = 4;
      con.strokeText(s, x, y);
      con.fillStyle = "white";
      con.fillText(s, x, y);
    }
  }

  // ブロックの衝突判定
  function checkMove(mx, my, ntetro) 
  {
    if (ntetro === undefined) ntetro = tetro;

    for (let y = 0; y < TETRO_SIZE; y++) 
    {
      for (let x = 0; x < TETRO_SIZE; x++) 
      {
        if (ntetro[y][x]) 
        {
          let nx = tetro_x + mx + x;
          let ny = tetro_y + my + y;

          if (ny < 0 ||
              nx < 0 ||
              ny >= FIELD_ROW ||
              nx >= FIELD_COL ||
              field[ny][nx] ) 
          {
            return false;         
          }
        }
      }
    }
    return true;
  }

  // // テトロの回転
  function rotate() 
  {
    let ntetro = [];

    for (let y = 0; y < TETRO_SIZE; y++) 
    {
      ntetro[y] = [];
      for (let x = 0; x < TETRO_SIZE; x++) 
      {
        ntetro[y][x] = tetro[TETRO_SIZE-x-1][y];
      }
    }
    return ntetro;
  }

  // テトロを固定する
  function fixTetro()
  {
    for (let y = 0; y < TETRO_SIZE; y++) 
    {
      for (let x = 0; x < TETRO_SIZE; x++) 
      {
        if (tetro[y][x]) 
        {
          field[tetro_y + y][tetro_x +x] = tetro_t;
        }
      }
    }
  }

  // ラインが揃ったかチェックして消す
  function checkLine() 
  {
    let linec = 0;
    for (let y = 0; y < FIELD_ROW; y++) 
    {
      let flag = true;

      for (let x = 0; x < FIELD_COL; x++) 
      {
        if (!field[y][x]) 
        {
          flag = false;
          break;
        }
      }
      if (flag) 
      {
        linec++;

        for (let ny = y; ny > 0; ny--) 
        {
          for (let nx = 0; nx < FIELD_COL; nx++) 
          {
            field[ny][nx] = field[ny-1][nx]
          }
        }
      }
    }
  }

  // ブロックが落ちる処理
  function dropTetro() 
  {
    if (over) return;

    if (checkMove(0, 1)) tetro_y++;
    else 
    {
      fixTetro();
      checkLine();

      tetro_t = Math.floor(Math.random() * (TETRO_TYPES.length - 1)) + 1;
      tetro = TETRO_TYPES[tetro_t];
      tetro_x = START_X;
      tetro_y = START_Y;

      if (!checkMove(0,0)) 
      {
        over = true;
      }
    }

    drawAll();
  }

  document.onkeydown = function(e) 
  {
    // 
    if (over) return;
    switch (e.keyCode) 
    {
      case 37: // left
        if (checkMove(-1, 0)) tetro_x--;
        break; 
      // case 38: // up
      //   if (checkMove(0, -1)) tetro_y--;
      //   break; 
      case 39: // right
        if (checkMove(1, 0)) tetro_x++;
        break;
      case 40: // down
        if (checkMove(0, 1)) tetro_y++;
        break;
      case 32: // spaceKey
        let ntetro = rotate();
        if (checkMove(0, 0, ntetro,)) tetro = ntetro;
        break;

    }
    drawAll();
  }
}
  • 0
  • 0
anonymous タイトルなし
PHP
<?php
$filename = 'kadai2.txt';
    //初期値
    $flag = 11;
    //自動サイト更新
    $script_name = $_SERVER["SCRIPT_NAME"];
    //データを挿入
    if(isset($_POST["name"]) && isset($_POST["comment"]) && isset($_POST["toukou"])) {
    if($_POST["name"] == "" || $_POST["comment"] == "" || $_POST["pass"]){
        $flag = 10;
    }else{  
        
        // fopen ファイルオープン a 追記 w 上書き r 読み込み
        $FP = fopen($filename, 'a');
        // ファイルのデータの行数を数えて$numに代入
        $num = count( file( $filename ) ); 
        $num++;
        // 名前がポストされたら変数にいれる
        if(isset($_POST["name"])) {
            $name = $_POST["name"];
            $comment = $_POST["comment"];
            $time = date("Y/n/j G:i");
            // fwrite ファイルにデータを書き込む
            fwrite($FP,$num . '<>' . $name . '<>' . $comment . '<>' . $time . "\n");
        } 
            
        // fclose ファイルを閉じる
        fclose($FP);
        header("location: $script_name"); exit;
    }
}
?>
<?php
    // 削除部分
    if (isset($_POST["delete"])) {
        $delete = $_POST["delete"];
        $delCon = file("kadai2.txt");
        $fp = fopen("kadai2.txt", "w");
        for ($j = 0; $j < count($delCon); $j++) {
            $delDate = explode("<>", $delCon[$j]);
            if ($delDate[0] != $delete) {
                fwrite($fp, $delCon[$j]);
            } else {
                fwrite($fp, "消去しました。\n");
            }
        }
        fclose($fp);
    }
?>  
<?php
    // 編集部分
    $name = '';
    $message = '';
    $id = '';

    if(isset($_POST['btn_edit'])) {
        if (isset($_POST['editNo'])){
            $edit = $_POST['editNo'];
            $editCon = file("kadai2.txt");

                for ($k = 0; $k < count($editCon) ; $k++) {
                    $ediData = explode("<>", $editCon[$k]);
                    if ($ediData[0] == $edit) {
                        $name = $ediData[1];
                        $message = $ediData[2]; 
                        $id = $edit;
                    }
                }
        } else {
            echo '未入力';
        }
    }
    // 上書き部分
    if(isset($_POST["edit"])){
        $edit_num = $_POST['id'];
        $ediCon = file("kadai2.txt");
        $edit_name = $_POST["name"];
        $edit_comment = $_POST["comment"];
        $postDate = date('Y/n/j G:i');
        // 上書き
        $fp= fopen("kadai2.txt",'w');
          for($l = 0; $l < count($ediCon); $l++){
            $editData = explode("<>",$ediCon[$l]);
            if($editData[0] == $edit_num){
              $editData[1] = $edit_name;
              $editData[2] = $edit_comment;
              $editData[3] = $postDate;
              $text = $editData[0]."<>".$editData[1]."<>".$editData[2]."<>".$editData[3]."<>"."\n";
            }
            fwrite($fp,$text);
          }
          fclose($fp);
        }
        
?>
 
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>簡易掲示板 課題2</title>
</head>
<body>
    <form action="" method="post">
        <input type="hidden" name="id" value=<?php echo $id; ?> />
        <p>お名前 <br>
        <input type="text" name="name" value=<?php echo $name; ?>></p>
        <p>コメント <br>
        <textarea name="comment" cols="30" rows="5"><?php echo $message; ?></textarea></p>
        <input type="submit" name="toukou" value="投稿">
        <input type="submit"name="edit"value="編集">
        <?php if($flag == 10): ?>
          <?php echo "(未入力です)" ?>
        <?php endif; ?>
    </form>
    <form action="" method="POST">
        <p>削除対象番号 <br>
        <input type="text" name="delete"></p>
        <input type="submit" value="削除">
    </form>
    <form action="" method="POST">
        <p>編集対象番号 <br>
        <input type="text" name="editNo"></p>
        <input type="submit" name="btn_edit" value="編集番号">
    </form>
    
    <hr>
    <h3>[投稿一覧]</h3>
      
    <?php
        // ファイルを全て配列に入れる
        $ret_array = file( $filename );
        // 取得したファイルデータ(配列)を全て表示する
        for( $i = 0; $i < count($ret_array); ++$i ) {
            // 配列を順番に表示する
        echo ($ret_array[$i] . "<br />\n");
    }
            
    ?>
</body>
</html>
  • 0
  • 0
anonymous タイトルなし
PHP
<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <form action = "kadai_2.php" method="post">
              名前:
              <input type="text" name="name"><br />

              コメント:
              <input type="text" name="comment"><br />

              <input type="submit" value="送信" ><br />


              削除対象番号
              <input type="text" name="delete" ><br />
              <input type="submit" value="削除"><br />

              <input type="hidden" name="edit_post" value="">
              
              <form action="kadai_2.php" method="POST">
              編集対象番号<input type="text" name="number" value="">
              <input type="submit" name="edit" value="送信">
              <br/>
              編集後の名前
              <br/>
              <input type="text" name="edit_name" value="">
              
              <br/>
              編集後のコメント
              <br/>
              <input type="text" name="edit_comment"><br />
              <br/>
              </form>
              
  </form>
  
  <?php
   $dsn = ';
   $user =;
   $pass = ';
   try{ $dbh = new PDO($dsn, $user, $pass,
      [
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
        ]);
     
    } 
  catch (PDOException $e) {
  
    echo '接続失敗'. $e->getMessage();  
    exit();
    
  };


$name = $_POST['name'];
$comment = $_POST['comment'];
$date = date("Y/m/d H:i:s");
$id = 0;
$delete = $_POST['delete'];
$edit = $_POST['edit'];


if(isset($name) && ($comment)){
  // -- id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
  
  $sql  = "CREATE TABLE IF NOT EXISTS kadai2(
              id INT(6) AUTO_INCREMENT PRIMARY KEY, 
              name VARCHAR(30) NOT NULL,
              comment VARCHAR(30) NOT NULL,
              date DATETIME
          )";   

$res = $dbh->query($sql);
$sql = 
"INSERT INTO kadai2(
             name,comment,date
             )VALUES(
              :name,:comment,:date
             )";
             $stmt = $dbh->prepare($sql);
             
             $params = array(':name'=> $name, ':comment'=>$comment,':date'=>$date);
             $stmt->execute($params);
             
            }
            
            $sql = "SELECT * FROM kadai2";
            
            $res = $dbh->query($sql);
            
            foreach( $res as $value ) {
              echo
              "$value[id]","$value[name]","$value[comment]","$value[date]";
              echo"<br>";
            }
            if(isset($delete)){
            
              $id = $_POST["delete"];
            
            $sql = "DELETE FROM kadai2 WHERE id = $id";
            
            $stmt = $dbh->query($sql);
            }
            
            if(isset($edit)){
            
            $id = $_POST["number"];
            
            $stmt = $dbh->prepare("UPDATE kadai2 SET name = :name, comment = :comment WHERE id = $id");
            
            $stmt->execute(array(':name' => $_POST['edit_name'], ':comment' => $_POST['edit_comment']));
            
            
            }
            
            
            
            
            
            
            
            ?>

</body>
</html>
  • 0
  • 0