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. 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>'; 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']); 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? 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. 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>'; 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 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? 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. 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. 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); } 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. 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 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
Archived
This topic is now archived and is closed to further replies.