2017-01-22 1 views
-1

ユーザーの詳細が10個あるテーブルがあります。これらのユーザーの詳細をadmin入力と共に別のテーブルに挿入しようとしています。したがって、adminがコードを挿入してそれを送信すると、利用可能なユーザーの詳細とともにコードがテーブルに挿入されます。したがって、そのコードと共にすべてのユーザーの行が存在します。すべてのユーザーの詳細をサブミットボタンによってトリガーされたテーブルに挿入します

は、これまでのところ、これは私のコード::

<?php include('db.php'); ?> 
<?php 

$code = $_POST['code']; 


if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$sql = "SELECT name FROM users"; 
$result = $conn->query($sql); 
if ($result->num_rows > 0) {        
while($row = $result->fetch_assoc()) { 
$name = row(name); 

$sql2 = "INSERT INTO table1 (code, name) 
VALUES ('$code', '$name')"; 
if ($conn->query($sql2) === TRUE) { 

echo '<a href="home.php"></a>'; 
} 
    else { 
     echo "ERROR" . $sql2 . "<br>" . $conn->error; 
    } 
} 
    else { 
     echo "ERROR" . $sql . "<br>" . $conn->error; 
    } 

$conn->close(); 
?> 
+0

あなたが達成しようとしていることをさらに深く説明してください。それを直接ステップに分解してください。 – Kray

+0

@Kray私はコンセプトを明確にしたいと思っています。私は、管理入力データとともに、別のテーブルから既存のデータを使って複数の行を作成しようとしています。 – harishk

+0

私に2分を与える、私はあなたがしようとしていることを知っている。病気を覚えてください。 – Kray

答えて

0

私はあなたがPDOを使用することをお勧めです。その簡単で安全な。

$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
$sql = "SELECT * FROM users"; 
$q = $pdo->prepare($sql); 
$q->execute(array()); 
$data = $q->fetch(PDO::FETCH_ASSOC); 
    if ($q->rowCount() > 0) { 

     $Name = $data['name']; 
     $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
     $sql = "INSERT INTO table1 (" 
      ."code = ?," 
      ."name = ?,"  
      .")" 
      ." VALUES(?,?)"; 
     $q = $pdo->prepare($sql); 
     $q->execute(array($code,$Name)); 

     if ($q->rowCount() > 0) { 
      echo '<a href="home.php">Click Here to go Home!</a>'; 
     } 


    } 

注*あなたはまた、名前がすでにテーブルに入力されたものであれば検討する必要があり、あなたの「デザイン」に問題があるのでしょうか?いくつかの異なる方法でこれを行うことができます。

名前とコードを新しいテーブルに更新したら、UPDATE usersテーブルにstmtを実行し、特定の列をブール値に更新することができます。ない。

このブロックが実行されるたびに、新しいテーブルに重複レコードを入力します。

選択*表から

$pdo->setAttribute(PDO::ATTR_ERRMODE, DO::ERRMODE_EXCEPTION); 
    $sql = "SELECT * FROM table"; 
    $q = $pdo->prepare($sql); 
    $q->execute(array($varhereforsearchingwherecolumnvalueequalsthisvarvalue)); 
    $Email = $q->fetch(PDO::FETCH_ASSOC); 

テーブルに挿入します。

$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
      $sql = "INSERT INTO table (" 
             . "columnnameetc," 

             .")" 
             ." VALUES(?)"; // add ?, for each var you add. 
      $q = $pdo->prepare($sql); 
      $q->execute(array(
           vars here 
          )); 

UPDATE

$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
      $sql = "UPDATE table SET region = ?"; 
      $q = $pdo->prepare($sql); 
      $q->execute(array(
      $vars 
      )); 
+0

こんにちはクレイ、お時間をありがとうございます。しかし、私はそれを使用することはできませんコードを理解するまで、私はPDOについての考えを持っていないと認めなければならない。だから、私は質問を投稿した形式で解決策を書き留めてください。私はその安全ではないと理解していますが、私はここで論理を理解したいと思います。その要求の男。ありがとう。 – harishk

+0

私は一度そこにいたので、あなたの欲求不満をどれほど理解できますか、私は自分のやり遂げられたことを広めるのを助けたいと思います。それは簡単ではありません。 Googleのクイックpdoクラスとページの上部に置く。私が書いたことを実行すれば、mysql_またはmysqliよりも簡単にIMOを簡単に見ることができます。 – Kray

+0

mysqliまたはmysqlが難しいと思うならば、PDOはケーキウォークです。 UPDATE、INSERT、SELECTの簡単なスニペットを投稿します。 – Kray

0

私はあなたの$code

insert into table1 (code,name) select '.$code.',name from users

コード全体でinsert from selectを与えないだけで1声明にあなたのコードを簡素化するためにあなたを示唆しているだろう

のように見えます
<?php include('db.php'); ?> 
<?php 

$code = $_POST['code']; 

if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$sql = 'insert into table1 (code,name) select '.$code.',name from users'; 
if ($conn->query($sql) === TRUE) { 
echo '<a href="home.php"></a>'; 
} 
    else { 
     echo "ERROR" . $sql2 . "<br>" . $conn->error; 
    } 
} 
    else { 
     echo "ERROR" . $sql . "<br>" . $conn->error; 
    } 
$conn->close(); 
?> 
関連する問題