Indeed, now it works, I put the form tag by mistake... Thanks, Adrian ----- Original Message ----- From: "rija" <[EMAIL PROTECTED]> To: "Adrian Partenie" <[EMAIL PROTECTED]> Sent: Tuesday, December 03, 2002 11:30 PM Subject: Re: [PHP] mysql, php, checkbox
> There are <form></form> tags around <input type=checkbox ...> What are they > supposed to do? > I think your problem lies there, because ids[] belong to this new form not > to the first one and then ids[] cannot be set. > > Secondly, method='post' inside <input> does nothing. > > Hope that helps. > > ----- Original Message ----- > From: "Adrian Partenie" <[EMAIL PROTECTED]> > To: "php" <[EMAIL PROTECTED]> > Sent: Wednesday, December 04, 2002 4:50 AM > Subject: Re: [PHP] mysql, php, checkbox > > > > It works, but just for the first row selected from the table. I think that > > the problem is that the checkboxes are declared inside a while loop. If i > > declare manually all checkboxes it works. Any ideas ? Or maybe I'm doing > > something wrong? > > > > > ############################################################################ > > #### > > echo "<form method=\"post\" action=\"selectare.php?ids[]\">"; > > echo "<input type=\"Submit\" value=\"Trimite\">"; > > > > > > /* Connecting, selecting database */ > > $link = mysql_connect("localhost", "root", "adrian") > > or die("Could not connect"); > > print "Connected successfully"; > > mysql_select_db("menagerie") or die("Could not select database"); > > > > /* Performing SQL query */ > > $query = "SELECT * FROM reclamatie"; > > $result = mysql_query($query) or die("Query failed"); > > > > /* Printing results in HTML */ > > > > echo "<table border=1>"; > > echo > > > "<tr><td></td><td>ID</td><td>Subject</td><td>Open</td><td>Close</td></tr>"; > > > > while($row = MySQL_fetch_array($result)) { > > echo "<tr><td><form><input type=\"checkbox\" method=\"post\" > > name=\"ids[]\" value=\"{$row['id']}\"></form></td>"; > > echo "<td><a href=\"lowerframe.php?id={$row['id']}\" > > target=\"lowerframe\">{$row['id']}</a></td>"; > > echo "<td>{$row['subject']}</td>"; > > echo "<td>{$row['open']}</td>"; > > echo "<td>{$row['close']}</td></tr>"; > > } > > echo "</table>"; > > > > /* Free resultset */ > > mysql_free_result($result); > > > > /* Closing connection */ > > mysql_close($link); > > > > echo "</form>"; > > ?> > > ############################### > > //selectare.php (just displays the id's of selected checkboxes) > > > > > > //$useri=$_POST['useri']; > > $ids=$_POST['ids']; > > > > reset($ids); > > while (list ($key, $value) = each ($ids)) { > > echo "$value<br />\n"; > > } > > ?> > > ##################################################### > > > > As I said, when I select the first checkbox, I get the id, but when I > select > > any other checkbox, I get the errors > > PHP Notice: Undefined index: ids in selectare.php > > PHP Warning: Variable passed to each() is not an array or object in > > selectare.php > > > > > > > > > > > > ----- Original Message ----- > > From: "John W. Holmes" <[EMAIL PROTECTED]> > > To: "'Adrian Partenie'" <[EMAIL PROTECTED]>; "'php'" > > <[EMAIL PROTECTED]> > > Sent: Thursday, November 28, 2002 5:54 PM > > Subject: RE: [PHP] mysql, php, checkbox > > > > > > > > I'm displaying the content of a mysql table with autoincrement index. > > > I > > > > want to be able to select the each row from the table using the check > > > > boxes. In order to do that, i want to assign to each checkbox the > > > > name=index of selected row. > > > > I assign to the checkboxes the value of selected id, but I can't > > > > retreiveit later for further processing. My code looks like this > > > > > > > > $query = "SELECT * FROM reclamatie"; > > > > $result = mysql_query($query) or die("Query failed"); > > > > > > > > /* Printing results in HTML */ > > > > > > > > echo "<table border=1>"; > > > > echo > > > > > > > "<tr><td></td><td>ID</td><td>Subject</td><td>Open</td><td>Close</td></tr > > > >" > > > > ; > > > > > > > > while($row = MySQL_fetch_array($result)) { > > > > echo "<tr><td><form><input type=\"checkbox\" method=\"post\" > > > > name=\"{$row['id']}\"></form></td>"; // ?????????? > > > > > > It looks like your naming it as a number, which won't work for PHP. You > > > want to name all of your checkboxes the same, with a [] on the name to > > > make the results an array in PHP. > > > > > > ... name="id[]" value="{$row['id']}" > > > > > > Then, you'll have $_POST['id'][x] as an array in PHP. Only the > > > checkboxes that were selected will be in the array, from zero to however > > > many were checked. The value of $_POST['id'][x] will be whatever was in > > > the value="..." part of the HTML checkbox... > > > > > > ---John Holmes... > > > > > > > > > > > > > > > -- > > PHP General Mailing List (http://www.php.net/) > > To unsubscribe, visit: http://www.php.net/unsub.php > > > > > > > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php