phprookie72 Posted November 21, 2010 Share Posted November 21, 2010 here's what i am trying to accomplish, I would get array of name from my db and run a loop to create my form for ie. while($row=mysql_fetch_array($result)) { echo '<input type=text name=' . playername[$row['name']] . ' value=' . $row['playernumber']></input>'; } is this possible? when i use playername[] it works but i get 0,1,2 for index but i would like to use keys as my index. Quote Link to comment https://forums.phpfreaks.com/topic/219385-loop-form-name-with-associative-array/ Share on other sites More sharing options...
sasa Posted November 21, 2010 Share Posted November 21, 2010 yes just move playername[ and ] inside qvotes echo '<input type=text name=playername[' . $row['name'] . '] value=' . $row['playernumber']></input>'; Quote Link to comment https://forums.phpfreaks.com/topic/219385-loop-form-name-with-associative-array/#findComment-1137586 Share on other sites More sharing options...
phprookie72 Posted November 21, 2010 Author Share Posted November 21, 2010 how come I get NULL from this statement after the user click the submit button var_dump($_POST['playername']); Quote Link to comment https://forums.phpfreaks.com/topic/219385-loop-form-name-with-associative-array/#findComment-1137604 Share on other sites More sharing options...
sasa Posted November 21, 2010 Share Posted November 21, 2010 are you submit your form? is your form use POST method? Quote Link to comment https://forums.phpfreaks.com/topic/219385-loop-form-name-with-associative-array/#findComment-1137607 Share on other sites More sharing options...
phprookie72 Posted November 21, 2010 Author Share Posted November 21, 2010 yes form use POST method. Quote Link to comment https://forums.phpfreaks.com/topic/219385-loop-form-name-with-associative-array/#findComment-1137611 Share on other sites More sharing options...
sasa Posted November 21, 2010 Share Posted November 21, 2010 try to add qvotes around your data echo '<input type="text" name="playername[' . $row['name'] . ']" value="'.$row['playernumber'] . '"></input>'; Quote Link to comment https://forums.phpfreaks.com/topic/219385-loop-form-name-with-associative-array/#findComment-1137621 Share on other sites More sharing options...
phprookie72 Posted November 22, 2010 Author Share Posted November 22, 2010 still not getting anything Quote Link to comment https://forums.phpfreaks.com/topic/219385-loop-form-name-with-associative-array/#findComment-1137986 Share on other sites More sharing options...
PFMaBiSmAd Posted November 22, 2010 Share Posted November 22, 2010 When you do a 'view source' of the page in your browser, what do you get? Quote Link to comment https://forums.phpfreaks.com/topic/219385-loop-form-name-with-associative-array/#findComment-1137989 Share on other sites More sharing options...
phprookie72 Posted November 22, 2010 Author Share Posted November 22, 2010 ok its assign values corectly to name=playername['john doe'] , name=playername['steve smith'] and so on in the form input properties. how do i get this array after the user click the submit buttom i tried var_dump($_POST['playername']); but get NULL as result. Quote Link to comment https://forums.phpfreaks.com/topic/219385-loop-form-name-with-associative-array/#findComment-1137997 Share on other sites More sharing options...
PFMaBiSmAd Posted November 22, 2010 Share Posted November 22, 2010 Either your form is invalid HTML or your php code is overwriting the values. You would need to post both your complete form code and the php form processing code to get the quickest solution. Quote Link to comment https://forums.phpfreaks.com/topic/219385-loop-form-name-with-associative-array/#findComment-1138000 Share on other sites More sharing options...
phprookie72 Posted November 22, 2010 Author Share Posted November 22, 2010 this is my form if(mysql_num_rows($result)>0) { $output= "<form action='' method= 'post'><table>"; while($row= mysql_fetch_array($result)) { $output .= "<tr><td>$row[name]</td>"; $output .= "<td><input type=text name=playername" . "[$row[name]]" . " value= $row[number]></td></tr>"; } $output .= '<tr><td colspan=2><input type=submit name=editplayers value=Submit </td></tr>'; $output .= '</table>'; $output .= '</form>'; } else $output .= 'no record found'; echo $output; } if(isset($_POST['editplayers'])) {$arrayname= $_POST['playername']; var_dump($arrayname); } Quote Link to comment https://forums.phpfreaks.com/topic/219385-loop-form-name-with-associative-array/#findComment-1138004 Share on other sites More sharing options...
PFMaBiSmAd Posted November 22, 2010 Share Posted November 22, 2010 The name=" ... " attribute you are using in your form is not the same one you are testing in your php code. Also, I think you missed sasa's last post where he put quotes around the type=, name=, and value= attribute parameters to make the HTML valid. Quote Link to comment https://forums.phpfreaks.com/topic/219385-loop-form-name-with-associative-array/#findComment-1138009 Share on other sites More sharing options...
phprookie72 Posted November 22, 2010 Author Share Posted November 22, 2010 ok I finally got it , dam quotes thank you everyone for your help Quote Link to comment https://forums.phpfreaks.com/topic/219385-loop-form-name-with-associative-array/#findComment-1138015 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.