how to access array form position dynamically in html/php form?

General Tech Learning Aids/Tools 2 years ago

0 2 0 0 0 tuteeHUB earn credit +10 pts

5 Star Rating 1 Rating

Posted on 16 Aug 2022, this text provides information on Learning Aids/Tools related to General Tech. Please note that while accuracy is prioritized, the data presented might not be entirely correct or up-to-date. This information is offered for general knowledge and informational purposes only, and should not be considered as a substitute for professional advice.

Take Quiz To Earn Credits!

Turn Your Knowledge into Earnings.

tuteehub_quiz

Answers (2)

Post Answer
profilepic.png
manpreet Tuteehub forum best answer Best Answer 2 years ago

 

I am doing a little learning on php and and html using smarty to aid it. I am trying to build a very simple shop-alike list with a cart image that when it is clicked, it is supposed to return via form the info I want from that item, but I am failing to get the index of the items right....

This is the code relative to the loop inside the tlp (it is a HTML internally used by smarty):

{section name=i loop=$homeList}
     <div class="homemenu" align="right">
        <table class="menhome" border="0">
            
            <td width="102"><img src="{$homeList[i].img}"/>td>
            <td width="150">{$homeList[i].Nome} td>
            <td width="350">{$homeList[i].Descricao}td>
            <td width="80">{$homeList[i].Preco} td>
            <td width="80">{$homeList[i].Disponiblidade}td>
            <form action="updatecart.php"  method="POST">
                <input type="hidden" name="usr[]" value="abobora">
                <input type="hidden" name="iditem[]" value="{$homeList[i].IDItem}">
                <input type="hidden" name="qta" value="1">
                <input type="hidden" name="index" value="1">
                <input type="image" name="submit" src="../images/carro.png" width="52" height="52"> 
            td>
            tr>
        table>
    div>
{/section}

and this is the code relative to the "experimental" php update:

require_once("functions.php");
var_dump($_POST);

and this is a sample var_dump output:

array
'usr' => 
    array
      0 => string 'abobora' (length=7)
      1 => string 'abobora' (length=7)
      2 => string 'abobora' (length=7)
      3 => string 'abobora' (
                                                
                                                
0 views
0 shares
profilepic.png
manpreet 2 years ago

I´m not sure I understand the question correctly, but are you looking for something like:

 type="hidden" name="usr[{index_in_array}]" value="abobora">
 type="hidden" name="iditem[{index_in_array}]" value="{$homeList[i].IDItem}">

Edit: You are not closing the <form> correctly and that´s why you can´t rely on the index values that get sent in:

        <form action="updatecart.php"  method="POST">
             type="hidden" name="usr[]" value="abobora">
             type="hidden" name="iditem[]" value="{$homeList[i].IDItem}">
             type="hidden" name="qta" value="1">
             type="hidden" name="index" value="1">
             type="image" name="submit" src="../images/carro.png" width="52" height="52">
          form>            // added
        

0 views   0 shares

No matter what stage you're at in your education or career, TuteeHub will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.