Perad Posted October 31, 2006 Share Posted October 31, 2006 I want the $columns variable to be able to be a value which i submit to my database. its scope seems to end just before the line.. if (isset($_POST['submit2'])) {How can i extend this so it will available in the above if statement?[code]<?php $dbc = mysql_connect ('localhost','root','admin'); mysql_select_db ('UNC',$dbc);function NumberOfPlayers() { global $columns; $players = 0; if (isset($_POST['submit1'])) { // Switch to generate player value + columns data switch($_POST['matchsize']) { case '1v1': $players = 2; $columns = "(player1, player2)"; break; case '2v2': $players = 4; $columns = "(player1, player2, player3, player4)"; break; case '3v3': $players = 6; $columns = "(player1, player2, player3, player4, player5, player6)"; break; case '4v4': $players = 8; $columns = "(player1, player2, player3, player4, player5, player6, player7, player8)"; break; case '5v5': $players = 10; $columns = "(player1, player2, player3, player4, player5, player6, player7, player8, player9, player10)"; break; case '6v6': $players = 12; $columns = "(player1, player2, player3, player4, player5, player6, player7, player8, player9, player10, player11, player12)"; break; case '7v7': $players = 14; $columns = "(player1, player2, player3, player4, player5, player6, player7, player8, player9, player10, player11, player12, player13, player14)"; break; case '8v8': $players = 16; $columns = "(player1, player2, player3, player4, player5, player6, player7, player8, player9, player10, player11, player12, player13, player14, player15, player16)"; break; case '9v9': $players = 18; $columns = "(player1, player2, player3, player4, player5, player6, player7, player8, player9, player10, player11, player12, player13, player14, player15, player16, player17, player18)"; break; case '10v10': $players = 20; $columns = "(player1, player2, player3, player4, player5, player6, player7, player8, player9, player10, player11, player12, player13, player14, player15, player16, player17, player18, player19, player20)"; break; case '11v11': $players = 22; $columns = "(player1, player2, player3, player4, player5, player6, player7, player8, player9, player10, player11, player12, player13, player14, player15, player16, player17, player18, player19, player20, player21, player22)"; break; case '12v12': $players = 24; $columns = "(player1, player2, player3, player4, player5, player6, player7, player8, player9, player10, player11, player12, player13, player14, player15, player16, player17, player18, player19, player20, player21, player22, player23, player24)"; break; default: $players = 0; } } //Start if statement if ($players !== 0) { //Start form echo '<form id="form2" name="form2" method="post" action="">'; echo 'UNC<br /><br />'; // use loop to generate form for ($i=0;$i<$players;$i++) { if (($players/2)==$i) { echo '<br /><br />Opponent<br />Player:<input type="text" name=player[] size="35" maxlength="35" /><br />'; } else { echo 'Player:<input type="text" name=player[] size="35" maxlength="35" /><br />'; } } echo '<input type="submit" name="submit2" value="Next" />'; echo '</form>'; } // Get form data if (isset($_POST['submit2'])) { foreach ($_POST['player'] as $key => $value) { $values .= " $value,"; } // Insert data into database $query = "INSERT INTO matchreports (".$columns.") VALUES(".$values.")"; $result = mysql_query($query) or die("Problem with the query: $query on line:" . __LINE__ . "<br>" . mysql_error()); if ($result) { // If it ran OK. // Confirmation. echo '<p><b>A new match report has been added!</b></p>'; exit(); // Quit the script. } else { // If it did not run OK. $message = '<p>The category couldn\'t be added. If the problem persists please e-mail the administrator.</p><p>' . mysql_error() . '</p>'; } mysql_close(); } } NumberOfPlayers(); ?>[/code] Link to comment https://forums.phpfreaks.com/topic/25692-increasing-variable-scope/ Share on other sites More sharing options...
trq Posted October 31, 2006 Share Posted October 31, 2006 Sorry but your code is pretty hard to read. Is $columns defined outside of the function? Link to comment https://forums.phpfreaks.com/topic/25692-increasing-variable-scope/#findComment-117239 Share on other sites More sharing options...
sinisake Posted October 31, 2006 Share Posted October 31, 2006 Also there is no need for so much code...it can be done easier.:-) Link to comment https://forums.phpfreaks.com/topic/25692-increasing-variable-scope/#findComment-117242 Share on other sites More sharing options...
Perad Posted October 31, 2006 Author Share Posted October 31, 2006 I know it can probably be done easier but hey i am still learning php and yeah my code is still a work in progress... to make it simpler...[code]function { case statement { $columns } if { loop to generate form } if (submit) { where $columns is needed } }[/code] Link to comment https://forums.phpfreaks.com/topic/25692-increasing-variable-scope/#findComment-117243 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.