0

I've following PHP code:

<?php
$rebate_no = 2;
echo "<table id='blacklistgrid_$rebate_no'  class='table table-bordered table-hover table-striped blacklistgrid'>
        <tr id='reb$rebate_no_1'>
          <td>
            <div class='btn-group'>
              <select name='product_id_$rebate_no[1]' id='product_id_$rebate_no_1' class='form-control prod_list'>
                <option value='1'>Alabama</option>
                <option value='2'>Alaska</option>
                <option value='3'>Arizona</option>
                <option value='4'>Arkansas</option>
                <option value='5'>California</option>
              </select>
            </div>
          </td>
        </tr>
      </table>";
?>

In above code I'm having issues in concatenation of variable and string at following lines:

<tr id='reb$rebate_no_1'>
<select name='product_id_$rebate_no[1]' id='product_id_$rebate_no_1' class='form-control prod_list'>

I tried following trick but it didn't work for me.

<tr id='reb'.$rebate_no.'_1'>
<select name='product_id_$rebate_no[1]' id='product_id_'.$rebate_no.'_1' class='form-control prod_list'>

If I check in HTML source I'm getting following HTML:

<tr id="reb" .2.'_1'="">
<select id="product_id_" class="form-control prod_list" .2.'_1'="" name="product_id_">

Actually I want the HTML in following desired format:

<tr id='reb2_1'>
<select name='product_id_2[1]' id='product_id_2_1' class='form-control prod_list'>

How to achieve this? Thanks in advance.

0

6 Answers 6

2

String concatenation

<?php
$rebate_no = 2;
echo "<table id='blacklistgrid_".$rebate_no."'  class='table table-bordered table-hover table-striped blacklistgrid'>
        <tr id='reb".$rebate_no_1."'>
          <td>
            <div class='btn-group'>
              <select name='product_id_".$rebate_no[1]." id='product_id_".$rebate_no_1."' class='form-control prod_list'>
                <option value='1'>Alabama</option>
                <option value='2'>Alaska</option>
                <option value='3'>Arizona</option>
                <option value='4'>Arkansas</option>
                <option value='5'>California</option>
              </select>
            </div>
          </td>
        </tr>
      </table>";
?>

OR If you want to use the Zend specification

<?php
    $rebate_no = 2;
    echo "<table id='blacklistgrid_{$rebate_no}'  class='table table-bordered table-hover table-striped blacklistgrid'>
            <tr id='reb{$rebate_no_1}'>
              <td>
                <div class='btn-group'>
                  <select name='product_id_{$rebate_no[1]} id='product_id_{$rebate_no_1}' class='form-control prod_list'>
                    <option value='1'>Alabama</option>
                    <option value='2'>Alaska</option>
                    <option value='3'>Arizona</option>
                    <option value='4'>Arkansas</option>
                    <option value='5'>California</option>
                  </select>
                </div>
              </td>
            </tr>
          </table>";
    ?>
Sign up to request clarification or add additional context in comments.

Comments

1

You started with double quotes, so you can do it this way:

<tr id='reb".$rebate_no."_1'>

or use curly braces {} around the variable:

<tr id='reb{$rebate_no}_1'>

Both are valid.

Comments

1

Try this:

   <tr id='re'".$rebate_no."_1'>
    <select name='product_id_$rebate_no[1]' id='product_id_".$rebate_no."_1' class='form-control prod_list'>

when you are concating the string you need use double quotes since you started string with double quotes.

Comments

1

the problem lies with $rebate_no[1]. you can either store the value of that into a regular variable, append the value to the string like below, or surround it in curly brackets like so {$rebate_no[1]}

echo "<table id='blacklistgrid_$rebate_no'  class='table table-bordered table-hover table-striped blacklistgrid'>
        <tr id='reb$rebate_no_1'>
          <td>
            <div class='btn-group'>
              <select name='product_id_" . $rebate_no[1] . "' id='product_id_$rebate_no_1' class='form-control prod_list'>
                <option value='1'>Alabama</option>
                <option value='2'>Alaska</option>
                <option value='3'>Arizona</option>
                <option value='4'>Arkansas</option>
                <option value='5'>California</option>
              </select>
            </div>
          </td>
        </tr>
      </table>";

1 Comment

i think what he wants is name='product_id_" . $rebate_no."[1]' instead of name='product_id_" . $rebate_no[1] . "'
1

you got the trick wrong.

instead of doing

<tr id='reb'.$rebate_no.'_1'>

do

<tr id='reb".$rebate_no."_1'>

Comments

1

There is easiest method Use (" ") double quotes instead of (' ') without making it complicated.

<tr id="reb$rebate_no_1">
<select name="product_id_$rebate_no[1]" id="product_id_$rebate_no_1" class='form-control prod_list'>

instead of

<tr id='reb$rebate_no_1'>
<select name='product_id_$rebate_no[1]' id='product_id_$rebate_no_1' class='form-control prod_list'>

Reff : PHP: different quotes?

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.