Fabrizio Botalla
Fabrizio Botalla

Reputation: 742

Inline JavaScript function within PHP Tag

I am running this code in a PHP file

<?php
if(empty($item)){
    echo "Your cart is empty";
 }
 else{
    echo '<table id="cart_table"><tr><th>Item</th><th>Price</th><th></th></tr>' ;
         for($i = 0;$i< count($item);$i++){
             if(!empty($item[$i])){    
                 $numRow++; 
                 echo '<tr><td>' . "<img src = 'images/$photo[$i].jpg'>" .'</td>';
                 echo '<td>' .'$' . $item[$i] . '</td>'; 
                 echo '<td>' . '<button id= "btn"   onclick = "function(){
                    <script type="text/javascript">
                    document.getElementById("cart_table").deleteRow('. $numRow .');
                 }"> Remove</button>'.'</tr>' ;   
                }        
         }
         echo '</table>';
         }

 ?>

Please consider these lines of code only from the above snippet:

echo '<td>' . '<button id= "btn"   onclick = "function(){
       <script type="text/javascript">
       document.getElementById("cart_table").deleteRow('. $numRow .');
       }"> Remove</button>'.'</tr>' ;   
     } 

The result of this code is:

enter image description here

The result I am trying to achieve is:

enter image description here

Is it possible to achieve this result? The result is going to be a button with the label "Remove" and with the onClick property that calls a INLINE(I know it's bad practice, but I have a good reason for it) function which executes some lines of code.

Upvotes: 1

Views: 920

Answers (1)

Not A Robot
Not A Robot

Reputation: 2684

Try not to mix up HTML and PHP together, if there is a need to mix HTML and PHP, try in proper formatting.

<?php
    if(empty($item)):
?>
         <span>Your cart is empty</span>
<?php
    else:
?>
        <table id="cart_table">
            <tr>
                <th>Item</th>
                <th>Price</th>
                <th></th>
            </tr>
            <?php
                for($i = 0;$i< count($item);$i++):
                    if(!empty($item[$i])):
                        $numRow++; 
            ?>
                        <tr>
                            <td><img src ='images/<?php echo $photo[$i].jpg; ?>'/></td>
                            <td>$<?php echo $item[$i]; ?></td> 
                            <td><button id= "btn" onclick = "deleteFromCart('<?php echo $numRow; ?>')"> Remove</button></td>
                        </tr>
            <?php
                    endif;
                endfor;
            ?>   
        </table>
<?php
    endif;
?>
 <script>
    function deleteFromCart(rowToDelete){
        document.getElementById("cart_table").deleteRow(rowToDelete);
    }
 </script>

Upvotes: 1

Related Questions