| re: "<td><input name='".$i-2."'
.oO(aa)
[color=blue]
>I am traing to output the following HTML string from PHP:
>"<td><input name='".$i-2."' size='2' type='text'
>onBlur='myfunction(".$i-2.")'></td>"
>But it somehow mistreats $i-2. PHP does not throw any errors but the
>browser renders the table incorrectly.[/color]
I get a parse error, but even without that the above would not do what
you want. In fact what you are trying do to is to print a difference of
these three strings:
"<td><input name='".$i
2."' size='2' type='text' onBlur='myfunction(".$i
2.")'></td>"
[color=blue]
>I got round this by introducing another variable
>j=i-2 and using it in place of i-2
>It works.[/color]
There are some other ways to solve that issue:
1) Use parentheses around the $i-2, e.g.
print "<td><input name='".($i-2)."' size='2' ...";
2) Use printf() and a format string with placeholders, which are then
replaced with $i-2. See the manual on sprintf() for details.
Micha |