Jump to content

how to do same as phpmyadmin add new fields, keeping current data in fields.


jasonc

Recommended Posts

The page loads and existing data is put in their correct fields.

 

When I click 'add more' to add more fields to the form it does so and I am able to add new data.

 

If on adding a new fields and its data I click 'add more' again it clears out the recently added data from the fields.  The existing data that was present when the page first loaded is still their but all the new fields added data is cleared.

 

how can I get it so the data stays, like in phpmyadmin when adding new fields.

 

 

JS

function addmore(addwhat) {
// count existing boxes to find out next number to use.
// ?
if (addwhat == 'addresses') {
fieldid = 'addressesdiv';
}
if (addwhat == 'namesnumbers') {
fieldid = 'namesdiv';
}
var dv = document.getElementById(fieldid).innerHTML;
var lines = dv.match(/<br>/ig).length;

	if (addwhat == 'addresses') {
				document.getElementById('addressesdiv').innerHTML += '<textarea name="address' + lines + '" cols="30" rows="2"></textarea><br>';
				}
	if (addwhat == 'namesnumbers') {
				document.getElementById('namesdiv').innerHTML += '<textarea name="name' + lines + '" cols="30" rows="2"></textarea><br>';
				document.getElementById('mobilesdiv').innerHTML += '<textarea name="mobile' + lines + '" cols="30" rows="2"></textarea><br>';
				}
}

 

PHP

<?
if ($_POST['Submit'] == 'Submit') {
echo("sent<br>");
for ($c = 1; $c <= (count($_POST)-1)/2; $c++) {
echo("name" . $c . " = " . $_POST['name'.$c] ."   mobile" . $c . " = " . $_POST['mobile'.$c] . "<br>");
}
}

$customer_id = "11";

// get existing data.

// if not yet sent get data from databases
$ok = "no";
	if ($_POST['Submit'] != "Submit") {
	echo("<br>not sent<br>");
	$res = db_query("SELECT * FROM `customer_client_names` WHERE `customer_id` = '". $customer_id ."'");
	$maincount = mysql_num_rows($res);
	echo("<br>number of clients = ".$maincount."<br>");
		for ($c = 1; $c <= $maincount; $c++) {
		$_POST['name'.$c] = mysql_result($res, $c-1, "client_name");
		$_POST['mobile'.$c] = mysql_result($res, $c-1, "client_mobile");
		echo("cn = ".$_POST['name'.$c] . " cm = ".$_POST['mobile'.$c] . "<br>");
		}
	} else {
					// display last posted info
					echo("<br>sent<br>");

					$ok = "yes";
					// check if info was entrted correctly or not.

					for ($c = 1; $c <= ((count($_POST)-1)/2); $c++) {
						if ($_POST['name'.$c] != "" && $_POST['mobile'.$c] == "") {
						echo("<br>" . $_POST['name'.$c] ." was not given a mobile number<br>");
						$ok = "no";
						$maincount ++;
						}
						if ($_POST['name'.$c] == "" && $_POST['mobile'.$c] != "") {
						echo("<br>" . $_POST['mobile'.$c] ." mobile was not given a name<br>");
						$ok = "no";
						$maincount ++;
						}
					}

			}

if ($ok == "no") {
				?>
				<form name="form1" method="post" action="?ac=<?=$menu_item;?><? echo("&phpsession=" . $phpsession); ?>">
				<div style="width: 850px;">
					<div id="namesdiv" style="float: left; padding-right: 10px;">Client's Names<br>
						<? for ($c = 1; $c <= ((count($_POST)-1)/2)+1; $c++) {
						if ($_POST['name'.$c] != "" || $_POST['mobile'.$c] != "") {
						?>
						<textarea name="<?='name'.$c;?>" cols="30" rows="2"><?=$_POST['name'.$c];?></textarea><br>
						<?
						}
						} ?>
					</div>
					<div id="mobilesdiv" style="float: left;">Client's Mobile numbers<br>
						<? for ($c = 1; $c <= ((count($_POST)-1)/2)+1; $c++) {
						if ($_POST['name'.$c] != "" || $_POST['mobile'.$c] != "") {
						?>
						<textarea name="<?='mobile'.$c;?>" cols="30" rows="2"><?=$_POST['mobile'.$c];?></textarea><br>
						<?
						}
						} ?>
					</div>
				</div>
				<br style="clear: both;">
				  <a href="#" onClick="javascript:addmore('namesnumbers'); return false;" >Add more</a> 
				  <input type="hidden" name="customer_id" value="<?=$customer_id;?>">
				  <input type="submit" name="Submit" value="Submit">
				</form>
				<?
				}
?>

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.