View Full Version : building form names & values with php

02-15-2010, 02:54 PM

I have created a mysql table that contains the following fields

I have sucessfully written a php script where upto 30 records can be populated into this table.

What I am struggling with is I need to allow the user to edit the recipe record

the input fields are <input type=text name=QTY[1]><input type=text name=ING[1]>

Where this could be anything between 1 and 30 sets of these tags depending on how many pairs the user entered data into.

I am guessing that I need to get the records from the table as follows...

and I only need to display the pairs of fields where the quantity field is NOT blank.

$viewmemberssql3 = "SELECT * FROM recipe_item WHERE recipe_id='$id' order by id asc";
$viewmembersquery3 = @mysql_query($viewmemberssql3,$connection) or die(mysql_error());
while ($viewmembersrow3 = mysql_fetch_array($viewmembersquery3))


if ($viewmembersrow3['quantity']!="")


print $viewmembersrow3['quantity']; print "<br>"; print $viewmembersrow3['ingredient']; print "<br>"; print $viewmembersrow3['id']; print "<br>";


This code seems to be OK but I am struggling to automatically build the tags for the form so that the user can edit them?

I am sorry if I haven't made myself very clear???????

02-15-2010, 03:15 PM
In the function, put the variables to edit. Such as

function edit($id) {

02-15-2010, 03:20 PM

Thanks I seem to have it cracked now....

Could I please ask you this question.

Whilst pulling the records out of the table I increment var x in php by saying x++;

I could then do with using that counter in my javascript function that them immediatly follows with a for loop as follows...

<script type="text/javascript">
for ( var i = 2; i <= 30; ++i )
document.write( '<tr id="L' + i + '">'
+ '<td><input name="QTY[' + i + ']" onchange="showNextLine(this);" /></td>'
+ '<td><input name="ING[' + i + ']" onchange="showNextLine(this);" /></td>'

+ '</tr>');

What I need to do is to replace the highlighted red number to with the x php variable but when I simply replace the 2 with x I get a javascript error to say that x is not defined?

I suppose my question is how to I pass a variable from php to javascript?

I hope you can help.



02-15-2010, 03:55 PM
You can't, basically. What you can do is store the value of x somewhere on your page, such as in a hidden input:

<input type="hidden" name="x-val" id="x-val" value="<?php echo $x; ?>" />

Then in javascript:

var i = document.getElementById('x-val').value;

02-15-2010, 04:27 PM
Can't you just do:

for ( var i = <?php echo $x; ?>; i <= 30; ++i )


02-15-2010, 06:26 PM
great idea spudhead, I will give that a go!

02-15-2010, 08:12 PM
You could also just echo out that javascript loop using php instead. Theres no reason why php can't do that for you