Jump to content

breaking down an array


mrgrinch12

Recommended Posts

I have a form that produces an array when submitted and I need to strip out the use able data for an update query. The array contains the number of the row needing to be updated and what it needs to be updated with. Here is an example of what I need from the array:

1182 = Active

here is the output of the array:

array(21) { [2028]=>  string(6) "Active" [1176]=>  string(6) "Active" [1331]=>  string(6) "Active" [842]=>  string(6) "Active" [7816]=>  string(6) "Active" [2769]=>  string(5) "Bench" [2392]=>  string(6) "Active" [1916]=>  string(6) "Active" [1976]=>  string(6) "Active" [2131]=>  string(6) "Active" [313]=>  string(6) "Active" [1792]=>  string(6) "Active" [1803]=>  string(6) "Active" [1859]=>  string(6) "Active" [1714]=>  string(6) "Active" [1556]=>  string(6) "Active" [1321]=>  string(6) "Active" [2394]=>  string(6) "Active" [1268]=>  string(6) "Active" [761]=>  string(6) "Active" ["submit"]=>  string(6) "submit" } Array ( [0] => )

Link to comment
Share on other sites

neil beat me to it... but I typed all this out so I'm posting anyway  :P

<?php
foreach($name_of_your_array as $key => $val){

  echo $key; // this is the name of the row to be updated
  echo  $val; // this is the value of what needs to be updated
  $sql = "UPDATE tablename SET column_name = '$val' WHERE row_id_column_name = $key LIMIT 1";
  echo $sql;
}


?>

Link to comment
Share on other sites

A better method would be to loop through the array and group id's to statuses. This will results in less queries

i.e

<?php
$x['Active'] = array(1,2,3,4);
$x['Inactive'] = array(5,6,7,;

mysql_query("UPDATE table SET x='Active' WHERE id IN(".implode(",",$x['Active']).")");
mysql_query("UPDATE table SET x='Inactive' WHERE id IN(".implode(",",$x['Inactive']).")");
?>

Link to comment
Share on other sites

here is the code:

<?php
session_start();

require('/conn_ssfhl.php'); 

if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$colname_DetailRS1 = "-1";
if (isset($_SESSION['MM_Username'])) {
  $colname_DetailRS1 = $_SESSION['MM_Username'];
}
mysql_select_db($database_conn_ssfhl, $conn_ssfhl);
$query_DetailRS1 = sprintf("SELECT PlayerID, FanID, Type, InjuryID, Player, StatusID, StatusChangeChoice, CurrentWeek, GMEmail FROM tblplayers WHERE GMEmail = %s ORDER BY tblplayers.Type Asc", GetSQLValueString($colname_DetailRS1, "text"));
$DetailRS1 = mysql_query($query_DetailRS1, $conn_ssfhl) or die(mysql_error());
$row_DetailRS1 = mysql_fetch_assoc($DetailRS1);
$totalRows_DetailRS1 = mysql_num_rows($DetailRS1);


$colname_rsGMDetail = "-1";
if (isset($_SESSION['MM_Username'])) {
  $colname_rsGMDetail = $_SESSION['MM_Username'];
}
mysql_select_db($database_conn_ssfhl, $conn_ssfhl);
$query_rsGMDetail = sprintf("SELECT GMFirst, GMLast FROM tbluseradmin WHERE GMEmail = %s", GetSQLValueString($colname_rsGMDetail, "text"));
$rsGMDetail = mysql_query($query_rsGMDetail, $conn_ssfhl) or die(mysql_error());
$row_rsGMDetail = mysql_fetch_assoc($rsGMDetail);
$totalRows_rsGMDetail = mysql_num_rows($rsGMDetail);

// Count rows in table
$count=mysql_num_rows($DetailRS1);
?>
<?php
// Post variables
//$player = $_POST['hideplayerID'];
//$playerid = $_POST['PlayerID'];
//$select_id = $row['PlayerID'];
if (!isset($_POST['submit'])) { // if page is not submitted to itself echo the form
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>form</title>
</head>
<body bgcolor="#FFFFFF">
<form id="frmupdate" name="frmupdate" method="post" action="update2.php">
  <table width="500" border="0" cellspacing="1" cellpadding="0">
    <tr>
      <td align="center" bgcolor="#FFCC00"><strong>ID</strong></td>
      <td align="center" bgcolor="#FFCC00">Position</td>
      <td align="center" bgcolor="#FFCC00">Player</td>
      <td align="center" bgcolor="#FFCC00">Health</td>
      <td align="center" bgcolor="#FFCC00">Current Status</td>
      <td align="center" bgcolor="#FFCC00"><strong>Change Status</strong></td>
    </tr>
    <?php
// Fetch record rows in $DetailRS1 by while loop and put them into $row.
while($row=mysql_fetch_assoc($DetailRS1)){
?>
    <tr>
      <td bgcolor="#FFFFCC"><? echo $row['PlayerID']; ?></td>
      <td bgcolor="#FFFFCC"><? echo $row['Type']; ?></td>
      <td bgcolor="#FFFFCC"><? echo $row['Player']; ?></td>
      <td bgcolor="#FFFFCC"><? echo $row['InjuryID']; ?></td>
      <td bgcolor="#FFFFCC"><? echo $row['StatusID']; ?></td>
      <td bgcolor="#FFFFCC"><label>
        <select name=<?=$row['PlayerID']?>>
          <option value="Active" selected="selected">Active</option>
          <option value="Bench">Bench</option>
        </select>
      </label></td>
    </tr>
    <tr> </tr>
    <?php } // End while loop. ?>
  </table>
   <p>
                  <input type="submit" name="submit" value="submit" />
</p>
</form>

</body>
</html><?php
?>
//update page code starts here
<?php require_once('../conn_ssfhl.php'); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>update</title>
</head>
<body>
<?php
// If receive Submit button variable.
if($_POST['submit']){ 

// Select all data records in table "tblplayers" and put them into $result.
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}
# Script 2.5 - update.php

//Validate the status and combat Magic Quotes, if neccessary.
if (!empty($_REQUEST['select'])) {
$select = stripslashes($_REQUEST['select']);
} else {
$select = NULL;
echo '<p>You forgot to change your player status!</p>';
}

//If everything else is okay, print the message
echo "<p>Thank you</p>";

} 
else {//Selection was not made on form.
echo "<p>Please go back and complete your selections.</p>";
}

mysql_select_db($database_conn_ssfhl, $conn_ssfhl);
$query_result = "SELECT PlayerID FROM tblplayers ORDER BY PlayerID ASC";
$result = mysql_query($query_result, $conn_ssfhl) or die(mysql_error());
$row_result = mysql_fetch_assoc($result);
$totalRows_result = mysql_num_rows($result);

      if (mysql_num_rows($result) == 0) {
      echo "No rows found, nothing to print so am exiting";
      exit;

      }

       

      else {

       

      // Fetch record rows in $result by while loop and put them into $row.

       

      while($row = mysql_fetch_assoc($result)){

       

      //start a counter in order to number the input fields for each record
      for($i=0;$i<$count;$i++){

      // Update field "StatusChangeChoice", matching with "PlayerID" value by while loop.
      foreach ($_POST as $my_player_id) {
      $query_update = "UPDATE tblplayers SET StatusChangeChoice = '".$_POST[$my_player_id]."' where PlayerID = '$my_player_id'";
  
      mysql_query($query_update);
      }
      if (!$update) {

      $message = 'Invalid query: ' . mysql_error() . "\n";
      $message .= 'Whole query: ' . $query_update;
      die($message);
      }
      }
      }
      }
echo "--- Update Complete ---";

echo  "This is the query : ". $query_update;
?>
</body>
</html>
<?php
echo $my_player_id;
print_r($my_player_id);
var_dump($_POST);
mysql_free_result($result);?>

?>

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.