Jump to content

update multiple profiles


searls03

Recommended Posts

Ok, so I need to know how I can get these codes to interact and work to update multiple rows/columns in a database. 

 

this code is what pulls the query and displays info(it displays fine):

<?php
if (isset($_POST['submitted'])) {
include('connect1.php');
$category = $_POST['category'];
$criteria = $_POST['criteria'] ;
$query = ("SELECT name, badges, rank, userid FROM members WHERE $category LIKE '%".$criteria."%'");
$result = mysqli_query($dbcon, $query) or die('error getting data');
$num_rows = mysqli_num_rows($result);
echo "$num_rows results found";
echo "<table width=\"896\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
echo "<tr bgcolor=\"#F7E496\"><td bgcolor=\"#F7E496\"><strong>name</strong></td><td bgcolor=\"#F7E496\" ><strong>Merit Badges</strong></td><td  bgcolor=\"#F7E496\"><strong>Rank</strong></td><td bgclor=\"#F7E496\"></td></tr>";
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {$color = ($color == 'white')?'#fffccc':'white';
echo "<tr bgcolor='$color'><td>
";
echo $row['name'];
echo "
</td><td>
<form action=\"scout.php\" method=\"post\">
<input type=\"text\" name=\"userid\" id=\"userid\" value='".$row['userid']."'>
  
    <textarea name=\"badges[]\" id=\"badges\" cols=\"40\" rows=\"3\" type=\"textarea\">".$row['badges']."</textarea></td><td>
    <span class=\"adfa\"> 
    </span>
   
  
  <select name=\"rank[]\" id=\"rank\">
    <option value=\"Scout\">Scout</option>
    <option value=\"Tenderfoot\">Tenderfoot</option>
    <option value=\"Second Class Scout\">Second Class Scout</option>
    <option value=\"First Class Scout\">First Class Scout</option>
    <option value=\"Star Scout\">Star Scout</option>
    <option value=\"Life Scout\">Life Scout</option>
    <option value=\"Eagle Scout\">Eagle Scout</option>
    <option value=\"\" selected=\"selected\">".$row['rank']."</option>

</td><td>";



}
echo "</td></tr>";

echo "</table>";

echo "<input type=\"submit\" name='submit[]' id=\"submit\" value=\"Save\" />

</form>";

}
?>

 

and this code is what is supposed to update the database:

          if ($_POST[submit]){
  foreach ($_POST[rank] as $key => $value) {
       
       $badges = $_POST['email1'][$key];
       $userid1 = $_POST['userid'][$key];
             
   
   
  $q =  "UPDATE members SET badges='$badges', rank='$rank' where userid='$userid1'";
$sql = mysql_query($q) or die("Problem with the query: $q<br>" . mysql_error());
printf("Records updated: %d\n", mysql_affected_rows());}
  


exit();
} // close if post

 

again, I am really new to arrays and don't know If i am using them right here......... :confused: :confused: :confused: :confused: :confused: :confused: :confused: :confused:

Link to comment
Share on other sites

First make sure your <form></form> tags and submit button are outside of your while loop. Otherwise only one profile will be updated.

I'd place the opening form tag before this line

echo "<table width=\"896\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";

 

The submit button and closing form tag should be placed just before the closing php

}
?>

 

Also if you have multiple userids then you'll want to change this line

<input type=\"text\" name=\"userid\" id=\"userid\" value='".$row['userid']."'>

to

<input type=\"text\" name=\"userid[]\" id=\"userid\" value='".$row['userid']."'>

Notice the square brackets. If you didn't add that then only the last profile that is associated with that userid will be updated.

 

Now your form should submit all profiles to be edited.

 

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.