jackie777
asked on
formatting php output in to a variable
Hi,
I have been trying unsuccessfully to get the output from the code below into a single variable. I need to be able to pass the output from the info shown here in an email receipt. I have been trying to get the output into a hidden form field which I could then pass along. Would this be a good way to do it? If so how?
I have been trying unsuccessfully to get the output from the code below into a single variable. I need to be able to pass the output from the info shown here in an email receipt. I have been trying to get the output into a hidden form field which I could then pass along. Would this be a good way to do it? If so how?
<?php
for($i=0; $i<=4; $i++)
if($_REQUEST['L_QTY'.$i]>=1)
{
?>
<tr>
<td align="left" valign="top"><?=$_REQUEST['L_QTY'.$i]?></td>
<td align="left" valign="top"> </td>
<td align="left" valign="top"><?=$_REQUEST['L_NAME'.$i]?></td>
<td align="left" valign="top"> </td>
<td align="left" valign="top"><?=$_REQUEST['L_DESC'.$i]?></td>
</tr>
<?php
}
?>
or even
<?php
$htmlString = "<table>";
for($i=0; $i<=4; $i++) {
if($_REQUEST['L_QTY'.$i]>=1)
{
$htmlString .= '<tr valign="top">';
$htmlString .= '<td>'.$_REQUEST['L_QTY'.$i].'</td>';
$htmlString .= '<td> </td>';
$htmlString .= '<td>'.$_REQUEST['L_NAME'.$i].'</td>';
$htmlString .= '<td> </td>';
$htmlString .= '<td>'.$_REQUEST['L_DESC'.$i].'</td>';
$htmlString .= '</tr>';
}
}
$htmlString.='</table>';
echo $htmlString;
?>
ASKER
Thanks mplungjan
I think that might be the right idea, but I still cannot seem to get the value for $htmlString to pass to the next page. Here is how I formatted my hidden input.
I think that might be the right idea, but I still cannot seem to get the value for $htmlString to pass to the next page. Here is how I formatted my hidden input.
<input type="hidden" name="products" value="<? $htmlString ?>" />
ASKER
I don't need to pass along the entire <table>, only the values of ['L_QTY'.$i] ['L_NAME'.$i] ['L_DESC'.$i]
how about
<?php
for($i=0; $i<=4; $i++) {
if($_REQUEST['L_QTY'.$i]>=1)
{ ?>
<input type="hidden" name="L_QTY[]" value="<? echo $_REQUEST['L_QTY'.$i]; ?>">
<input type="hidden" name="L_NAME[]" value="<? echo $_REQUEST['L_NAME'.$i]; ?>">
<input type="hidden" name="L_DESC[]" value="<? echo $_REQUEST['L_DESC'.$i]; ?>">
<? }
}?>
ASKER
No, that didn't work either, I did manage to figure out how to pass along all the variables, however I am now having trouble writing an if statement to only pass along the variables that have a L_QTY value that is greater than 0
<input type="hidden" name="L_QTY0" value="<? echo $_REQUEST['L_QTY0']; ?>" />
<input type="hidden" name="L_NAME0" value="<? echo $_REQUEST['L_NAME0']; ?>" />
<input type="hidden" name="L_DESC0" value="<? echo $_REQUEST['L_DESC0']; ?>" />
<input type="hidden" name="L_QTY1" value="<? echo $_REQUEST['L_QTY1']; ?>" />
<input type="hidden" name="L_NAME1" value="<? echo $_REQUEST['L_NAME1']; ?>" />
<input type="hidden" name="L_DESC1" value="<? echo $_REQUEST['L_DESC1']; ?>" />
<input type="hidden" name="L_QTY2" value="<? echo $_REQUEST['L_QTY2']; ?>" />
<input type="hidden" name="L_NAME2" value="<? echo $_REQUEST['L_NAME2']; ?>" />
<input type="hidden" name="L_DESC2" value="<? echo $_REQUEST['L_DESC2']; ?>" />
<input type="hidden" name="L_QTY3" value="<? echo $_REQUEST['L_QTY3']; ?>" />
<input type="hidden" name="L_NAME3" value="<? echo $_REQUEST['L_NAME3']; ?>" />
<input type="hidden" name="L_DESC3" value="<? echo $_REQUEST['L_DESC3']; ?>" />
<input type="hidden" name="L_QTY4" value="<? echo $_REQUEST['L_QTY4']; ?>" />
<input type="hidden" name="L_NAME4" value="<? echo $_REQUEST['L_NAME4']; ?>" />
<input type="hidden" name="L_DESC4" value="<? echo $_REQUEST['L_DESC4']; ?>" />
If you add the [], php makes it into an array for you
If you need to check a string you might want to make it a number first - I do not have the php syntax to do that
If you need to check a string you might want to make it a number first - I do not have the php syntax to do that
I don't know exaktly where the problem is. You have to make a hidden input field for every variable and not for the hole html code.
If you need this html code more than once, you can make a function.
But if it is only a display site, you can send your mail direktly or not?
Try this:
If you need this html code more than once, you can make a function.
But if it is only a display site, you can send your mail direktly or not?
Try this:
<?php
for($i=0; $i<=4; $i++)
if($_REQUEST['L_QTY'.$i]>=1)
{
?>
<input type="hidden" name="<?=$_REQUEST['L_QTY'.$i]?>" value="<?=$_REQUEST['L_QTY'.$i]?>" />
<input type="hidden" name="<?=$_REQUEST['L_NAME'.$i]?>" value="<?=$_REQUEST['L_NAME'.$i]?>" />
<input type="hidden" name="<?=$_REQUEST['L_DESC'.$i]?>" value="<?=$_REQUEST['L_DESC'.$i]?>" />
<?php
}
?>
That does not make sense. To pass the value as name.
Sorry, I'am tired
<?php
for($i=0; $i<=4; $i++)
if($_REQUEST['L_QTY'.$i]>=1)
{
?>
<input type="hidden" name="<?='L_QTY'.$i?>" value="<?=$_REQUEST['L_QTY'.$i]?>" />
<input type="hidden" name="<?='L_NAME'.$i?>" value="<?=$_REQUEST['L_NAME'.$i]?>" />
<input type="hidden" name="<?='L_DESC'.$i?>" value="<?=$_REQUEST['L_DESC'.$i]?>" />
<?php
}
?>
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
That worked, Thanks!
My english is not very good.
I like the [] notation too. But maybe he need the combination of the name (1,2,3,4) and the value.
I like the [] notation too. But maybe he need the combination of the name (1,2,3,4) and the value.
<?php
for($i=0; $i<=4; $i++) {
if(intval($_REQUEST['L_QTY'.$i])>=1)
{ ?>
<input type="hidden" name="L_QTY[<?=$i?>]" value="<? echo $_REQUEST['L_QTY'.$i]; ?>">
<input type="hidden" name="L_NAME[<?=$i?>]" value="<? echo $_REQUEST['L_NAME'.$i]; ?>">
<input type="hidden" name="L_DESC[<?=$i?>]" value="<? echo $_REQUEST['L_DESC'.$i]; ?>">
<? }
}?>
Open in new window