By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
424,652 Members | 1,460 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 424,652 IT Pros & Developers. It's quick & easy.

post without form ?

P: n/a
I have this list of logs stored in a MySQL DB.
I display them in a list and next to each log I have a del view LINK

I want to add Checkboxes next to each log and keep del and view links as
well.

Then you can select all the logs you want to delete, hit a delete Link and
send the variables in a script...
Can you do that without having a form ?

Can you have a checkbox without having a form ?

It sounds a bit awkward but I am just wandering

<li><a href="transaction.php?contCat=<? echo $contCat
?>&action=delete&contSubCat=<? echo $contSubCat ?>&content_id=<?php echo
$row['backup_id']; ?>"onClick="return formConfirm('del')">Del</a><input
name="<?php echo $row['backup_id']; ?>" type="checkbox" value="1">
</li>
Jul 17 '05 #1
Share this Question
Share on Google+
6 Replies


P: n/a
Nope -- without a <form> tag the checkbox values won't make it to the
next page.

Jul 17 '05 #2

P: n/a
"Angelos" <an*****@redcatmedia.net> wrote in message
news:d8**********@nwrdmz02.dmz.ncs.ea.ibs-infra.bt.com...
I have this list of logs stored in a MySQL DB.
I display them in a list and next to each log I have a del view LINK

I want to add Checkboxes next to each log and keep del and view links as
well.

Then you can select all the logs you want to delete, hit a delete Link and
send the variables in a script...
Can you do that without having a form ?

Can you have a checkbox without having a form ?


Not one that will do anything, unless you also want to use JavaScript. Of
course, that brings on a whole pile of other issues.

Why would you not want to have a form?

Jul 17 '05 #3

P: n/a
Angelos wrote:
I have this list of logs stored in a MySQL DB.
I display them in a list and next to each log I have a del view LINK

I want to add Checkboxes next to each log and keep del and view links as
well.

Then you can select all the logs you want to delete, hit a delete Link and
send the variables in a script...
Can you do that without having a form ?

Can you have a checkbox without having a form ?

It sounds a bit awkward but I am just wandering

<li><a href="transaction.php?contCat=<? echo $contCat
?>&action=delete&contSubCat=<? echo $contSubCat ?>&content_id=<?php echo
$row['backup_id']; ?>"onClick="return formConfirm('del')">Del</a><input
name="<?php echo $row['backup_id']; ?>" type="checkbox" value="1">
</li>


If you want to use javascript you can do this. In place of a submit button
you have a button that runs a script in the browser. The script walks
through the checkboxes and builds a list of the ones that are checked. It
generates a link that might look like this:

var Destination = "deletes.php?list=" + list;

Then it jumps to that location with:

window.navigate(Destination);
--
Kenneth Downs
Secure Data Software, Inc.
(Ken)nneth@(Sec)ure(Dat)a(.com)
Jul 17 '05 #4

P: n/a
> <li><a href="transaction.php?contCat=<? echo $contCat
?>&action=delete&contSubCat=<? echo $contSubCat ?>&content_id=<?php echo
$row['backup_id']; ?>"onClick="return formConfirm('del')">Del</a><input
name="<?php echo $row['backup_id']; ?>" type="checkbox" value="1">
</li>


Ok considering wi have the above code tha loops and lists a Number of DB
entries
how can we assign a checkbox in each of them and then retrieve each
checkboxs' value in order to delete the appropriate record when the form is
submited ?

THanks !!!

Jul 17 '05 #5

P: n/a
Ok try something like this (example code... i tried to comment in it as
much as possible):

for this example.. logs table structure:
id (primary, auto-increment)
description

---------------------

<?

include("db.php");
//connect to db

if(!isset($_POST['submit'])) {
//form isn't submitted

echo "<b>Logs</b><br><br>";

echo "<form action=\"\" method=\"post\">";
$query = "SELECT * FROM logs";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)) {
$id = $row['id'];
$description = $row['description'];
echo "Log: $description <input type=\"checkbox\" name=\"log_$id\"
value=\"1\"><br>";
}
//get all log values, and present checkbox
//NOTE: checkbox values are prefixed with 'log_', explained later..

echo "<input type=\"submit\" name=\"submit\" value=\"Delete\">";
//input button

} else {

foreach ($_POST as $key => $value) {
if(strstr($key, 'log_')){
//if the value contains log_ then its used
if($value == '1'){
$id = str_replace("log_", "", $key);
//log_ prefix is removed to get the id
$query = "DELETE FROM logs WHERE id='$id'";
mysql_query($query) or
die (mysql_error());
//deleted..
}

}

}

echo "<b>Done</b>";

}

?>

---------------------

ok basics behind the script...

since theres an unknown number of form values the following is used:

foreach ($_POST as $key => $value) {
//code
}

....which loops through all the form elements and their values.
However this can cause a problems, because other form elements will be
picked up other than the checkboxes, such as the input button. THIS is
the reason that i prefixed all checkboxs with 'log_', so it can later
be checked.

i hope this is the kind of thing you are after ;)

-eilks

Angelos wrote:
<li><a href="transaction.php?contCat=<? echo $contCat
?>&action=delete&contSubCat=<? echo $contSubCat ?>&content_id=<?php echo
$row['backup_id']; ?>"onClick="return formConfirm('del')">Del</a><input
name="<?php echo $row['backup_id']; ?>" type="checkbox" value="1">
</li>


Ok considering wi have the above code tha loops and lists a Number of DB
entries
how can we assign a checkbox in each of them and then retrieve each
checkboxs' value in order to delete the appropriate record when the form is
submited ?

THanks !!!


Jul 17 '05 #6

P: n/a
> i hope this is the kind of thing you are after ;)

-eilks

Yep ... it looks to be what I want ;-)
That _log prefix does the work !!! :)
Thanks a lot !
Jul 17 '05 #7

This discussion thread is closed

Replies have been disabled for this discussion.