Jump to content

Update Rows - Checkbox - Array?


InfernalEternal

Recommended Posts

Hi there. I have a page that lists the records of a table. On this page I want to be able to edit/update two attributes of these records by a checkbox - e.g., being able to update multiple records at once. I thought the smartest way to achieve this would be by using arrays. I've implemented one checkbox array and have two fields. Currently when I change both fields and hit submit, the height value changes and the name value is changed to the last record displayed in the table.

 

E.g.

 

Height - 170 -> 160 -> UPDATED TO 160

Name - Test1 -> Test2 -> UPDATED TO VICTORY (last record listed in table; displayed alphabetically)

 

My code is as follows:

<?php
include("connection.php");
$conn = oci_connect($UName,$PWord,$DB) or die("Database Error - Contact Admin - ");
if (empty($_POST["check"]))
{
    $query = "SELECT * FROM HORSE ORDER BY HORSE_NAME";
    $stmt = oci_parse($conn,$query);
    oci_execute($stmt);
$Horses = oci_fetch_array ($stmt);
?>
    <form method="post" action="horse_multi.php">
      <table border="1" id="customers">
      <tr>
        <th>ID</th>
        <th>EDIT</th>
        <th>NAME</th>
        <th>HEIGHT</th>
      </tr>
<?php
while ($Horses = oci_fetch_array ($stmt))
{
?>
        <tr>
          <td><?php echo $Horses["HORSE_ID"]; ?></td>
          <td align="center"><input type="checkbox" name="check[]" value="<?php echo $Horses["HORSE_ID"]; ?>"></td>
          <td align="center"><input type="text" size="5" name="<?php echo $Horses["HORSE_ID"]; ?>" value="<?php echo $Horses["HORSE_HEIGHT"]; ?>"></td>
          <td align="center"><input type="text" size="20" name="HORSE_NAME" value="<?php echo $Horses['HORSE_NAME']; ?>"></td>
        </tr>
<?php
}
?>
      </table><p />
        <h4><input type="submit" value="Update Selected Horses"></h4>
    </form>
<?php
oci_free_statement($stmt);
}
else
{

foreach($_POST["check"] as $horse_id)
{
$query = "UPDATE HORSE SET HORSE_NAME= '$_POST[HORSE_NAME]', HORSE_HEIGHT = ".$_POST[$horse_id]." WHERE HORSE_ID ='".$horse_id."'";
$stmt = oci_parse($conn,$query);
oci_execute($stmt);
}
}
?>
</body>
</html>
Any ideas?  :shrug:
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.