2016-06-28 3 views
-1

私がしようとしているのは、クリックすると行を編集できるデータベース上にボタンを作成することです。これはまた、ユーザーが行を見て編集内容を知ることができるようにする必要があります。今のところ、私のテーブルには各行に編集ボタンがあり、クリックすると適切なページに移動します。たとえば、ID = 23の行で編集をクリックすると、http://website.com/filepath/editForm.php?id=23このPHPフォームにDBからのデータを入力して、それを更新/編集するにはどうしたらいいですか?

になります。問題はフィールドがすべて空白であり、自分で入力してもテーブルを更新しないということです。私はeditform.phpを投稿し、もし必要ならばview.phpも投稿します。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
</head> 

<body> 
</form> 


<?php 
// Only process the form if $_POST isn't empty 
if (! empty($_POST)) { 

    // Connect to MySQL 
    $mysqli = new mysqli('localhost', 'user', 'mypass', 'dbname'); 

    // Check our connection 
    if ($mysqli->connect_error) { 
    die('Connect Error: ' . $mysqli->connect_errno . ': ' . $mysqli->connect_error); 
    }     
        $ID=$_POST['ID'] ; 
        $RYP=$_POST['RYP'] ; 
        $SHE=$_POST['SHE'] ; 
        $SCO=$_POST['SCO'] ; 
        $CName=$_POST['CName'] ; 
        $Contact= $_POST['Contact'] ;     
        $Address=$_POST['Address'] ; 
        $City=$_POST['City'] ; 
        $State=$_POST['State'] ; 
        $Zip=$_POST['Zip'] ; 
        $Phone1=$_POST['Phone1'] ; 
        $Phone2=$_POST['Phone2'] ; 
        $EMail=$_POST['EMail'] ; 
        $Web=$_POST['Web'] ; 


     $sql = ("SELECT * FROM DEALERS WHERE 'ID' = $ID"); 

     $sql = ("UPDATE dealers WHERE `ID`='$ID'(RYP, SHE, SCO, CName,Contact,Address,City, State, Zip, Phone1, Phone2, EMail, Web) 
     VALUES ('$RYP','$SHE','$SCO','$CName','$Contact','$Address','$City', '$State','$Zip','$Phone1','$Phone2','$EMail','$Web')"); 


      } 
?> 

     <form method="post"> 
<table> 
<tr> 
     <td>RYP</td> 
     <td><input type="checkbox" name="author" value="<?php $row['RYP'] ?>" class="form-control"/></td> 
    </tr> 
    <tr> 
     <td>SHE</td> 
     <td><input type="checkbox" name="author" value="<?php $row['SHE'] ?>" class="form-control"/></td> 
    </tr> 
    <tr> 
     <td>SCO</td> 
     <td><input type="checkbox" name="author" value="<?php $row['SCO'] ?>" class="form-control"/></td> 
    </tr> 
<tr> 
     <td>Contact</td> 
     <td><input type="text" name="author" value="<?php $row['Contact'] ?>" class="form-control"/></td> 
    </tr> 
    <tr> 
     <td>Address</td> 
     <td><input type="text" name="name" value="<?php $row['Address'] ?>" class="form-control"/></td> 
    </tr> 
    <tr> 
     <td>City</td> 
     <td><input type="text" name="copy" value="<?php $row['City'] ?>" class="form-control"/></td> 
    </tr> 

    <tr> 
     <td>State</td> 
     <td><input type="text" name="copy" value="<?php $row['State'] ?>" class="form-control"/></td> 
    </tr> 
    <tr> 
     <td>Zip</td> 
     <td><input type="text" name="copy" value="<?php $row['Zip'] ?>" class="form-control"/></td> 
    </tr> 
    <tr> 
     <td>Phone1</td> 
     <td><input type="text" name="copy" value="<?php $row['Phone1'] ?>" class="form-control"/></td> 
    </tr> 
    <tr> 
     <td>Phone2</td> 
     <td><input type="text" name="copy" value="<?php $row['Phone2'] ?>" class="form-control"/></td> 
    </tr><tr> 
     <td>EMail</td> 
     <td><input type="text" name="copy" value="<?php $row['EMail'] ?>" class="form-control"/></td> 
    </tr> 
    <tr> 
     <td>Web</td> 
     <td><input type="text" name="copy" value="<?php $row['Web'] ?>" class="form-control"/></td> 
    </tr> 
<tr> 
     <td>CName</td> 
     <td><input type="text" name="title" value="<?php $row['CName'] ?>"class="form-control"/></td> 
    </tr> 

    <tr> 
     <td>&nbsp;</td> 
     <td><input type="submit" name="submit" value="submit" class="btn btn-success btn-lg"/></td> 
    </tr> 
</table> 
</form></body> 
+1

これらの値を決して決して使用しないと、基本的にはそれらに注目しているので、スクリプトが読み込まれると、入力は常に 'value =" "'(空)として読み込まれます。実際にこれらのクエリを実行することは決してありません。したがって、データは取得されません。さらに、['error_reporting(E_ALL);'](http://php.net/manual/en/function.error-reporting.php) ['ini_set( 'display_errors '、1); '](http://php.net/manual/en/function.ini-set.php)は未定義の変数から多くの警告を出すでしょう。 – Qirel

+0

そして、同じ 'name'属性を持つたくさんの入力があります。 – Qirel

答えて

-1

私はこの種の隠しIDフィールドを考えています。

<input type="hidden" name="id" value="<?php $row['id'] ?>"> 

あなたはURLを介してこれを行うために探しているならば、あなたは

$id = $_GET['id']; 

隠されたIDの例

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
</head> 

<body> 
</form> 


<?php 
// Only process the form if $_POST isn't empty 
if (! empty($_POST)) { 

    // Connect to MySQL 
    $mysqli = new mysqli('localhost', 'user', 'mypass', 'dbname'); 

    // Check our connection 
    if ($mysqli->connect_error) { 
    die('Connect Error: ' . $mysqli->connect_errno . ': ' . $mysqli->connect_error); 
    }     
        $ID=$_POST['ID'] ; 
        $RYP=$_POST['RYP'] ; 
        $SHE=$_POST['SHE'] ; 
        $SCO=$_POST['SCO'] ; 
        $CName=$_POST['CName'] ; 
        $Contact= $_POST['Contact'] ;     
        $Address=$_POST['Address'] ; 
        $City=$_POST['City'] ; 
        $State=$_POST['State'] ; 
        $Zip=$_POST['Zip'] ; 
        $Phone1=$_POST['Phone1'] ; 
        $Phone2=$_POST['Phone2'] ; 
        $EMail=$_POST['EMail'] ; 
        $Web=$_POST['Web'] ; 


     $sql = ("SELECT * FROM DEALERS WHERE 'ID' = $ID"); 

     $sql = ("UPDATE dealers WHERE `ID`='$ID'(RYP, SHE, SCO, CName,Contact,Address,City, State, Zip, Phone1, Phone2, EMail, Web) 
     VALUES ('$RYP','$SHE','$SCO','$CName','$Contact','$Address','$City', '$State','$Zip','$Phone1','$Phone2','$EMail','$Web')"); 


      } 
?> 

     <form method="post"> 
<table> 
<tr> 
     <td>RYP</td> 
     <td><input type="checkbox" name="author" value="<?php $row['RYP'] ?>" class="form-control"/></td> 
    </tr> 
    <tr> 
     <td>SHE</td> 
     <td><input type="checkbox" name="author" value="<?php $row['SHE'] ?>" class="form-control"/></td> 
    </tr> 
    <tr> 
     <td>SCO</td> 
     <td><input type="checkbox" name="author" value="<?php $row['SCO'] ?>" class="form-control"/></td> 
    </tr> 
<tr> 
     <td>Contact</td> 
     <td><input type="text" name="author" value="<?php $row['Contact'] ?>" class="form-control"/></td> 
    </tr> 
    <tr> 
     <td>Address</td> 
     <td><input type="text" name="name" value="<?php $row['Address'] ?>" class="form-control"/></td> 
    </tr> 
    <tr> 
     <td>City</td> 
     <td><input type="text" name="copy" value="<?php $row['City'] ?>" class="form-control"/></td> 
    </tr> 

    <tr> 
     <td>State</td> 
     <td><input type="text" name="copy" value="<?php $row['State'] ?>" class="form-control"/></td> 
    </tr> 
    <tr> 
     <td>Zip</td> 
     <td><input type="text" name="copy" value="<?php $row['Zip'] ?>" class="form-control"/></td> 
    </tr> 
    <tr> 
     <td>Phone1</td> 
     <td><input type="text" name="copy" value="<?php $row['Phone1'] ?>" class="form-control"/></td> 
    </tr> 
    <tr> 
     <td>Phone2</td> 
     <td><input type="text" name="copy" value="<?php $row['Phone2'] ?>" class="form-control"/></td> 
    </tr><tr> 
     <td>EMail</td> 
     <td><input type="text" name="copy" value="<?php $row['EMail'] ?>" class="form-control"/></td> 
    </tr> 
    <tr> 
     <td>Web</td> 
     <td><input type="text" name="copy" value="<?php $row['Web'] ?>" class="form-control"/></td> 
    </tr> 
<tr> 
     <td>CName</td> 
     <td><input type="text" name="title" value="<?php $row['CName'] ?>"class="form-control"/></td> 
    </tr> 

    <input type="hidden" name="id" value="<?php $row['id'] ?>"> 

    <tr> 
     <td>&nbsp;</td> 
     <td><input type="submit" name="submit" value="submit" class="btn btn-success btn-lg"/></td> 
    </tr> 
</table> 
</form></body> 

、最終的には、URLの例

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
</head> 

<body> 
</form> 


<?php 
// Only process the form if $_POST isn't empty 
if (! empty($_POST)) { 

    // Connect to MySQL 
    $mysqli = new mysqli('localhost', 'user', 'mypass', 'dbname'); 

    // Check our connection 
    if ($mysqli->connect_error) { 
    die('Connect Error: ' . $mysqli->connect_errno . ': ' . $mysqli->connect_error); 
    }     
        $ID=$_POST['ID'] ; 
        $RYP=$_POST['RYP'] ; 
        $SHE=$_POST['SHE'] ; 
        $SCO=$_POST['SCO'] ; 
        $CName=$_POST['CName'] ; 
        $Contact= $_POST['Contact'] ;     
        $Address=$_POST['Address'] ; 
        $City=$_POST['City'] ; 
        $State=$_POST['State'] ; 
        $Zip=$_POST['Zip'] ; 
        $Phone1=$_POST['Phone1'] ; 
        $Phone2=$_POST['Phone2'] ; 
        $EMail=$_POST['EMail'] ; 
        $Web=$_POST['Web'] ; 

        $url_id = $_GET['id']; 


     $sql = ("SELECT * FROM DEALERS WHERE 'ID' = $url_id"); 

     $sql = ("UPDATE dealers WHERE `ID`='$ID'(RYP, SHE, SCO, CName,Contact,Address,City, State, Zip, Phone1, Phone2, EMail, Web) 
     VALUES ('$RYP','$SHE','$SCO','$CName','$Contact','$Address','$City', '$State','$Zip','$Phone1','$Phone2','$EMail','$Web')"); 


      } 
?> 

     <form method="post"> 
<table> 
<tr> 
     <td>RYP</td> 
     <td><input type="checkbox" name="author" value="<?php $row['RYP'] ?>" class="form-control"/></td> 
    </tr> 
    <tr> 
     <td>SHE</td> 
     <td><input type="checkbox" name="author" value="<?php $row['SHE'] ?>" class="form-control"/></td> 
    </tr> 
    <tr> 
     <td>SCO</td> 
     <td><input type="checkbox" name="author" value="<?php $row['SCO'] ?>" class="form-control"/></td> 
    </tr> 
<tr> 
     <td>Contact</td> 
     <td><input type="text" name="author" value="<?php $row['Contact'] ?>" class="form-control"/></td> 
    </tr> 
    <tr> 
     <td>Address</td> 
     <td><input type="text" name="name" value="<?php $row['Address'] ?>" class="form-control"/></td> 
    </tr> 
    <tr> 
     <td>City</td> 
     <td><input type="text" name="copy" value="<?php $row['City'] ?>" class="form-control"/></td> 
    </tr> 

    <tr> 
     <td>State</td> 
     <td><input type="text" name="copy" value="<?php $row['State'] ?>" class="form-control"/></td> 
    </tr> 
    <tr> 
     <td>Zip</td> 
     <td><input type="text" name="copy" value="<?php $row['Zip'] ?>" class="form-control"/></td> 
    </tr> 
    <tr> 
     <td>Phone1</td> 
     <td><input type="text" name="copy" value="<?php $row['Phone1'] ?>" class="form-control"/></td> 
    </tr> 
    <tr> 
     <td>Phone2</td> 
     <td><input type="text" name="copy" value="<?php $row['Phone2'] ?>" class="form-control"/></td> 
    </tr><tr> 
     <td>EMail</td> 
     <td><input type="text" name="copy" value="<?php $row['EMail'] ?>" class="form-control"/></td> 
    </tr> 
    <tr> 
     <td>Web</td> 
     <td><input type="text" name="copy" value="<?php $row['Web'] ?>" class="form-control"/></td> 
    </tr> 
<tr> 
     <td>CName</td> 
     <td><input type="text" name="title" value="<?php $row['CName'] ?>"class="form-control"/></td> 
    </tr> 

    <tr> 
     <td>&nbsp;</td> 
     <td><input type="submit" name="submit" value="submit" class="btn btn-success btn-lg"/></td> 
    </tr> 
</table> 
</form></body> 

が必要になります私はまた、MYSQLI Oを見てみましょうr PDOそれは古い古い、おそらく安全ではないメードを使用していると思われます

関連する問題