As for a simple answer, if you want to base updates on the POSTED email address then email will need to be that hidden field, but as you have an input named email already I will call that hidden field oldemail. There however are many issues with you forms mainly
- Forms cannot wrap around <tr> cells
- Input attribute values are not quoted
- Input fields are missing closing tags
You could move your table tags inside the loop, but then each line would be a table and cell/table widths would be all over the place, which would negate the reason for having a table in the first place. One way to deal with a having a form for each line is to place input tags in floating divisions inside a wrapper. To mimic table-cell borders, I’m calling individual left, right, top and bottom borders as needed so there are no doubled borders.
As noted several times you should be using PDO. Making this sample page was a bit of a pain, fixing errors and converting everything but this should Add, Update and Delete records. Note: adnum and postdate are not in the ADD processing, even though those fields are in the form. I wasn’t sure if adnum was an Auto Increment DB field or how you are setting date and as your version didn’t have them for ADD I didn’t include them.
<?php
$host = "localhost";
//MySQL Database user name.
$login = "";
//Password for MySQL.
$dbpass = "";
//MySQL Database name.
$dbname = "";
//Establish a connection
try {
$pdo = new PDO("mysql:host=localhost;dbname=$dbname", "$login", "$dbpass");
} catch (PDOException $e) {
// echo "Database error: ".$e->getMessage();
echo "error connecting to DB";
}
// Update
if(isset($_POST['update'])):
$Updatesql = "UPDATE place_ad SET
adnum = :adnum
,postdate = :postdate
,company = :company
,firstname = :firstname
,lastname = :lastname
,email = :email
,phone1 = :phone1
,phone2 = :phone2
,state = :state
,cat = :cat
,buyerseller = :buyerseller
,detail= :detail
WHERE email = :oldemail";
$Updatequery = $pdo->prepare($Updatesql);
$Updatequery->bindParam(':adnum', $_POST['adnum']);
$Updatequery->bindParam(':postdate', $_POST['postdate']);
$Updatequery->bindParam(':company', $_POST['company']);
$Updatequery->bindParam(':firstname', $_POST['firstname']);
$Updatequery->bindParam(':lastname', $_POST['lastname']);
$Updatequery->bindParam(':email', $_POST['email']);
$Updatequery->bindParam(':phone1', $_POST['phone1']);
$Updatequery->bindParam(':phone2', $_POST['phone2']);
$Updatequery->bindParam(':state', $_POST['state']);
$Updatequery->bindParam(':cat', $_POST['cat']);
$Updatequery->bindParam(':buyerseller', $_POST['buyerseller']);
$Updatequery->bindParam(':detail', $_POST['detail']);
$Updatequery->bindParam(':oldemail', $_POST['oldemail']);
$Updatequery->execute();
$num = $Updatequery->rowCount();
$message = $num . "updated successfully\
";
endif;
// Delete
if(isset($_POST['delete'])):
$Deletesql = "DELETE FROM place_ad WHERE email = :oldemail";
$Deletequery = $pdo->prepare($Deletesql);
$Deletequery->bindParam(':oldemail', $_POST['oldemail']);
$Deletequery->execute();
endif;
//Insert
if(isset($_POST['add'])):
$Addsql = "INSERT INTO place_ad
(company, firstname, lastname, email, phone1, phone2, state, cat, buyerseller, detail)
VALUES
(:company, :firstname, :lastname, :email, :phone1, :phone2, :state, :cat, :buyerseller, :detail)";
$Addquery = $pdo->prepare($Addsql);
$Addquery->bindParam(':company', $_POST['ucompany']);
$Addquery->bindParam(':firstname', $_POST['ufirstname']);
$Addquery->bindParam(':lastname', $_POST['ulastname']);
$Addquery->bindParam(':email', $_POST['uemail']);
$Addquery->bindParam(':phone1', $_POST['uphone1']);
$Addquery->bindParam(':phone2', $_POST['uphone2']);
$Addquery->bindParam(':state', $_POST['ustate']);
$Addquery->bindParam(':cat', $_POST['ucat']);
$Addquery->bindParam(':buyerseller', $_POST['ubuyerseller']);
$Addquery->bindParam(':detail', $_POST['udetail']);
$Addquery->execute();
endif;
?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>Update Ads</title>
<style type="text/css">
.table-wrapper {
width:1253px;
overflow:hidden;
margin:0 auto;
padding:0;
}
.input-cells {
display:inline;
float:left;
height:30px;
line-height:30px;
width:85px;
text-align:center;
background-color:#FFF;
margin:0;
padding:0 1px;
}
.submit-cells {
display:inline;
float:left;
height:30px;
line-height:30px;
width:95px;
text-align:center;
background-color:#FFF;
margin:0;
padding:0 1px;
}
.add-cells {
display:inline;
float:left;
width:193px;
height:30px;
line-height:30px;
background-color:#FFF;
text-align:center;
padding:0 1px;
}
input {
width:90%;
}
.heading {
font-weight:700;
text-align:center;
}
.marbr {
border-bottom:1px solid #252525;
border-right:1px solid #252525;
}
.mart {
border-top:1px solid #252525;
}
.marl {
border-left:1px solid #252525;
}
.clear {
clear:left;
}
</style>
</head>
<body>
<?php
$sql = "SELECT * FROM place_ad";
$query = $pdo->prepare($sql);
$query->execute();
$showmessage = (isset($message) ? "<p>".$message."</p>" : "<p></p>");
echo $showmessage;
echo '<div class="table-wrapper">
<div class="input-cells marbr mart marl heading">Adnum</div>
<div class="input-cells marbr mart heading">Postdate</div>
<div class="input-cells marbr mart heading">Company</div>
<div class="input-cells marbr mart heading">Firstname</div>
<div class="input-cells marbr mart heading">Lastname</div>
<div class="input-cells marbr mart heading">Email</div>
<div class="input-cells marbr mart heading">Phone1</div>
<div class="input-cells marbr mart heading">Phone2</div>
<div class="input-cells marbr mart heading">State</div>
<div class="input-cells marbr mart heading">Cat</div>
<div class="input-cells marbr mart heading">Buyerseller</div>
<div class="input-cells marbr mart heading">Detail</div>
<div class="add-cells marbr mart heading">Submit</div>
<div class="clear"></div>'."\\r";
while($record = $query->fetch(PDO::FETCH_ASSOC)){
echo '<form action="dgdupdate.php" method="post">
<div class="input-cells marbr marl"><input type="text" name="adnum" value="' . $record['adnum'] . '" /></div>
<div class="input-cells marbr"><input type="text" name="postdate" value="' . $record['postdate'] . '" /></div>
<div class="input-cells marbr"><input type="text" name="company" value="' . $record['company'] . '" /></div>
<div class="input-cells marbr"><input type="text" name="firstname" value="' . $record['firstname'] . '" /></div>
<div class="input-cells marbr"><input type="text" name="lastname" value="' . $record['lastname'] . '" /></div>
<div class="input-cells marbr"><input type="text" name="email" value="' . $record['email'] . '" /></div>
<div class="input-cells marbr"><input type="text" name="phone1" value="' . $record['phone1'] . '" /></div>
<div class="input-cells marbr"><input type="text" name="phone2" value="' . $record['phone2'] . '" /></div>
<div class="input-cells marbr"><input type="text" name="state" value="' . $record['state'] . '" /></div>
<div class="input-cells marbr"><input type="text" name="cat" value="' . $record['cat'] . '" /></div>
<div class="input-cells marbr"><input type="text" name="buyerseller" value="' . $record['buyerseller'] . '" /></div>
<div class="input-cells marbr"><input type="text" name="detail" value="' . $record['detail'] . '" /></div>
<div class="submit-cells marbr">
<input type="hidden" name="oldemail" value="' . $record['email'] . '" />
<input type="submit" name="update" value="update" />
</div>
<div class="submit-cells marbr"><input type="submit" name="delete" value="delete" /></div>
<div class="clear"></div>
</form>'."\\r";
}
echo '<form action="dgdupdate.php" method="post">
<div class="input-cells marbr marl"><input type="text" name="uadnum" /></div>
<div class="input-cells marbr"><input type="text" name="upostdate" /></div>
<div class="input-cells marbr"><input type="text" name="ucompany" /></div>
<div class="input-cells marbr"><input type="text" name="ufirstname" /></div>
<div class="input-cells marbr"><input type="text" name="ulastname" /></div>
<div class="input-cells marbr"><input type="text" name="uemail" /></div>
<div class="input-cells marbr"><input type="text" name="uphone1" /></div>
<div class="input-cells marbr"><input type="text" name="uphone2" /></div>
<div class="input-cells marbr"><input type="text" name="ustate" /></div>
<div class="input-cells marbr"><input type="text" name="ucat" /></div>
<div class="input-cells marbr"><input type="text" name="ubuyerseller" /></div>
<div class="input-cells marbr"><input type="text" name="udetail" /></div>
<div class="add-cells marbr"><input type="submit" name="add" value="add" /></div>
<div class="clear"></div>
</form>
</div>'."\\r";
?>
</body>
</html>