Reputation: 329
I really hope you can help me with my problem. I have my form completed and all buttons working and everything was hunky dory but today I've decided to add one extra column in my table. Column is called 'Country'. Now, all of my buttons are still working and data is added or updated no problem, except for that one column. Nothing goes there but I can retrieve data from that column no bother.Not sure where did I mess up. This is my first ever contact with php and mysql so please forgive me if I made some silly mistake.Can you help me please???
<?php
//adding functions
function initVars() {
//declaring variables
global $ID, $First_name, $Last_name, $Address,$Country,
$Ph_number,$add,$find,$reset, $delete,
$update, $next, $previous;
$ID="";
$First_name = "";
$Last_name="";
$Address = "";
$Country="";
$Ph_number="";
$add = "";
$find = "";
$reset="";
$delete="";
$update="";
$next="";
$previous="";
}
initVars();
function getRecord($query,$resultOffset){
global $ID, $First_name, $Last_name, $Address,$Country, $Ph_number;
$result = mysql_query($query);
$resultCount = mysql_num_rows($result);
echo "FOUND ", $resultCount, " RESULTS";//3
$r=0;
while ($r <= $resultOffset) {
$rec = mysql_fetch_assoc($result);
$r = $r + 1;
}
$ID=$rec['ID'];
$First_name = $rec['First_name'];
$Last_name = $rec['Last_name'];
$Address = $rec['Address'];
$Country= $rec['Country'];
$Ph_number = $rec['Ph_number'];
return($resultCount);
}
// collecting form input
if ( isset($_POST['First_name'])) $First_name = $_POST['First_name'];
if ( isset($_POST['Last_name'])) $Last_name = $_POST['Last_name'];
if ( isset($_POST['Address'])) $Address = $_POST['Address'];
if ( isset($_POST['Country'])) $$Country = $_POST['Country'];
if ( isset($_POST['Ph_number'])) $Ph_number = $_POST['Ph_number'];
if ( isset($_POST['add'])) $add = $_POST['add'];
if ( isset($_POST['find'])) $find = $_POST['find'];
if ( isset($_POST['reset'])) $reset = $_POST['reset'];
if ( isset($_POST['delete'])) $delete = $_POST['delete'];
if ( isset($_POST['update'])) $update = $_POST['update'];
if ( isset($_POST['ID'])) $ID = $_POST['ID'];
if ( isset($_POST['next'])) $next = $_POST['next'];
if ( isset($_POST['previous'])) $previous = $_POST['previous'];
if ( isset($_POST['resultOffset'])) $resultOffset = $_POST['resultOffset'];
if ( isset($_POST['resultCount'])) $resultCount = $_POST['resultCount'];
if ( isset($_POST['query'])) $query = $_POST['query'];
// connecting to database
$connection = mysql_connect('localhost', 'root', '*******')
or die('Connection to MySql server failed');
$db = mysql_select_db('myaddressbook', $connection)
or die('Cannot connect');
//////////////////////////////////////////////////////////////////////////////
//BUTTONS
if ( $add ) {
if($First_name && $Last_name) {
echo 'Adding to database';
// adding records to database
$ins = mysql_query("INSERT INTO people SET First_name='$First_name',
Last_name='$Last_name',
Address='$Address', Country='$Country',Ph_number='$Ph_number'");
if($ins) echo "Your address book was updated succesfully";
else echo "Adding data failed";
initVars();
}
else echo 'First and last name needed';
}
////////////////////////////////////////////////////////////////////////
if ( $find ) {
if($First_name || $Last_name) {
$query = " SELECT ID, First_name, Last_name, Address , Ph_number FROM people WHERE
First_name LIKE '%{$First_name}%'";
$result = mysql_query($query);//1
$resultCount = mysql_num_rows($result);//2
$resultOffset= 0;
echo "FOUND ", $resultCount, " RESULTS";//3
$rows = mysql_fetch_array($result, MYSQL_ASSOC);
$ID=$rows['ID'];
$First_name = $rows['First_name'];
$Last_name = $rows['Last_name'];
$Address = $rows['Address'];
$Country= $rows['Country'];
$Ph_number = $rows['Ph_number'];
}
else echo "Enter required field";
}
/////////////////////////////////////////////////////////////////
if ($delete){
mysql_query(" DELETE FROM people WHERE ID = '{$ID}' ");
echo('Record deleted');
}
//////////////////////////////////////////////////////////////////////
if ($update){
mysql_query ("UPDATE people
SET First_name='$First_name',
Last_name='$Last_name',Address='$Address',Country='$Country', Ph_number='$Ph_number'
WHERE ID = '{$ID}'");
echo ('Update succesfull');
}
/////////////////////////////////////////////////////
if ($reset){
initVars();
}
/////////////////////////////////////////////////////////////
if($next){
if ($resultOffset < $resultCount - 1){
$resultOffset= $resultOffset + 1;
$resultCount=getRecord($query,$resultOffset);
}
echo "next ", $resultOffset, " of ", $resultCount;
}
if ($previous){
if ($resultOffset > 0){
$resultOffset= $resultOffset - 1;
$resultCount=getRecord($query,$resultOffset);
}
echo "prev ", $resultOffset, " of ", $resultCount;
}
mysql_close($connection);
?>
And my piece of HTML:
<html>
<head><h1 align="center">
My Address Book </h1>
<hr></br></br></br>
</head>
<body style="color: #000; background-color:#e0e2e6; background-image:url(C:/Users/Marta
/Desktop/old.jpg);">
<form action="people.php" method="post">
<table "width="500"; border="0"; align="center">
<tr>
<th>ID:</th>
<td><label for="textfield"></label>
<input type="text"name="ID" size="50" value="<?php echo $ID ?>"/></td>
<tr><th>First Name:</th>
<td><input type="text" name="First_name" size="50" value="<?php echo $First_name ?>"
/></td></tr>
<tr><th>Last Name:</th>
<td><input type="text" name="Last_name" size="50" value="<?php echo $Last_name ?>"
/></td></tr>
<tr><th>Address:</th>
<td><input type="text" name="Address" size="50" value="<?php echo $Address ?>" /></td>
</tr>
<tr><th>Country:</th>
<td><input type="text" name="Country" size="50" value="<?php echo $Country ?>" /></td>
</tr>
<tr><th>Ph number:</th>
<td><input type="text" name="Ph_number" size="50" value="<?php echo $Ph_number ?>"
/></td></tr></table>
<hr>
<table align="center">
<tr><td>
<td><input type="submit" name="find" value="Find" /></td>
<td><input type="submit" name="add" value="Add" /></td>
<td><input type="submit" name="delete" value="Delete"/></td>
<td><input type="submit" name="update" value="Update"/></td>
<td><input type="submit" name="previous" value="<< Previous" /></td>
<td><input type="submit" name="next" value="Next >>" /></td>
<td align="center" colspan="3"><input type="submit" name="reset" value="Reset"/>
</td></tr></table>
<input type="hidden" id="resultOffset" name="resultOffset" value="<?php echo
$resultOffset ?>">
<input type="hidden" id="resultCount" name="resultCount" value="<?php echo
$resultCount ?>">
<input type="hidden" id="query" name="query" value="<?php echo $query ?>">
</form>
</body>
</html>
Upvotes: 0
Views: 655
Reputation: 619
change your code: $Country = $_POST['Country'];
instead of $$Country = $_POST['Country'];
Upvotes: 2