PHP - Help Needed For Checkbox Issue
I'm currently developing a website which allows users to register and log into the system to read news articles in RSS form.
A subscription page with a list of checkboxes (like CNN, BBC etc) is provided for the users to choose which news site they want to include in their customized RSS feed page.
I successfully stored the checkbox values in array form into the database. For example, if the user ticks "CNN", "BBC", "ABC News", the values that will be stored in database will be: cnn, bbc, abc
Since I'm a beginner in web coding, especially in PHP and MYSQL, I have two questions here.
Q1. How can I retrieve the stored values and display it on the subscription page with the specific checkboxes checked based on user's subscription? For instance, if the user already subscribed to CNN, when he logs into the system next time, he should be able to see the already-ticked CNN checkbox.
Q2. How can I retrieve the stored values and put it onto the customised RSS page? It's something like: if cnn is selected, then add http://rss.cnn.com/r...ition_world.rss. Is there any tutorial on that?
Last but not least, forgive me for asking so many questions in one go in this lengthy piece and thanks for all the replies in advance! =)
Table structu
HTML for checkboxes:
<input type="checkbox" name="subs[]" value="mal-malins"> The Malaysian Insider</option> <input type="checkbox" name="subs[]" value="mal-malaymo"> The Malay Mail Online</option> <input type="checkbox" name="subs[]" value="mal-star"> The Star</option> <input type="checkbox" name="subs[]" value="mal-nst"> New Straits Times</option>Code for storing the checkbox values: //START: Subscription if(isset($_POST['subscribe'])){ if(isset($_POST['subs'])){ try { $data= $_POST['subs']; $subs = implode(",", (array)$data); $stmt = $db->prepare("UPDATE members SET subs = :subs WHERE username = '$username' "); $stmt->execute(array( ':subs' => $subs )); //show success message echo '<div class="alert alert-success"><a class="close" data-dismiss="alert">×</a>Subscription updated!</div>'; //else catch the exception and show the error. } catch(PDOException $e) { $error[] = $e->getMessage(); } } else { echo '<div class="alert alert-danger"><a class="close" data-dismiss="alert">×</a>You have not selected any subscription!</div>'; } } //END: Subscription Similar Tutorialshello, i have table that store p_id , p_name , p_visible. in my form code i put this : $sql = "select * from pages"; $rslt = connect($sql); print "<form name='links' method='GET' action='checks/check_links.php'>"; while ($links = mysql_fetch_array($rslt)) { print "<input type='checkbox' name='pagename' value='1'>$links[p_name]<br>"; } print "<input type='submit' value='update'></form>"; my question is.... how to pass the query string that hold: 1. if checkbox checked, then pass value 1 to my sql query 2. i have to define witch value has need to go to the right p_name please help. Hey basically i'm working on a multi checkbox way to delete messages stored in "crew_messages", i'm getting the error message "Unknown column 'Array' in 'where clause'" from the following code and i'm unsure as to why Code: [Select] if (isset($_POST["submit2"]) == "DELETE SELECTED") { for($i=0;$i<count($_POST["chkColor"]);$i++) { if(trim($_POST["chkColor"][$i]) != "") { $rawr = $_POST['chkColor']; $sql = "DELETE FROM crew_messages WHERE id = $rawr"; mysql_query($sql) or die(mysql_error()); } } } the check box itself Code: [Select] <input type="checkbox" name="chkColor[]" value="27"> any clues? cheers Hi, I just cannot seem to get this to work, have been testing and searching all morning and not getting anywhere. I have a form with a series of checkboxes which populates the MySqL database, this works fine. Trying to print the results from the form if the row is empty show an unchecked checkbox, if there is a value show a checked checkbox. I have tested my if statement and can echo correctly wether empty or not empty, just cannot get the checkbox to be unticked if there is no value in the row Code: [Select] while ($row = mysql_fetch_array($qry, MYSQL_BOTH)) { // show total fields for debugging // $totalfields = mysql_num_fields($qry); // print ($totalfields) ; // if ( ! empty ( $row ['acid_wash'] ['neutralise'] ['clean'] ) ) { if ( ! empty ( $row ['clean'] ) ) { ///if it's 1 (true) then we add 'checked' to a variable we will use in the input //to cause it to be checked $checked = 'checked'; // test if row has data echo "full"; }else{ //if the value is 0 (false) we set the variable to be empty, not checked $checked = ''; // test for no value echo "empty" ; } To Display Result: <tr> <td>High Pressure Clean <input style='font-size:10px;' name='clean[]' type='checkbox' checked='$checked'></td> </tr> The empty and full test echos do seem to work, showing me the if statement works. The problem is even when the row is empty the checkbox shows checked.... Thanks. i have an html form which is a "post" on it i have an array of checkboxes and a sumbit button, once button is clicked i go to another page where i handle those boxes checked the problem now is if NO checkboxes are checked and i hit the submit...i get errors on the other page my code: foreach($product_names as $product_row) { ?> <tr> <td > </td><td width='200px'><?php echo $product_row->getName(); ?></td> <td width='200px'><input type="checkbox" name="graphic[]" value="<?php echo $product_row->getId();?>" /></td> <td width='200px'><input type="checkbox" name="text[]" value="<?php echo $product_row->getId();?>" /></td> </tr> <?php } ?> </table> <table> <tr> <td> <input type='submit' name='submit' value='Submit'> <?php if ( (isset($graphic)) || (isset($text) )) { echo "checkboxes checked"; //show submit button } else { //hide submit botton and echo "no boxes check"; } ?> the above is NOT working please help???? okay so i have like 7 checkboxes and it all works fine but when i check "other" it gives me a value of "ON" when i check all 6 previous boxes it gives me the correct value. i am not sure why this happens I'm having a problem on how to get the values of those that are checked in my table.. so that i can insert them in my database. Someone help get those values pls. Heres my code Code: [Select] <?php $host="localhost"; $username="root"; $password=""; $db_name="dbprof"; $tbl_name="teacher"; mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB"); $sql="SELECT * FROM $tbl_name"; $result=mysql_query($sql); echo '<form name="formupload" method="post" action="val3.php">'; echo "<table border=\"5\" >"; echo "<tr><th>List of Instructor</th>"; if(mysql_num_rows($result)) { while($row = mysql_fetch_assoc($result)) { echo "<tr><td>"; echo "<input type='checkbox' name='list' 'value='" .$row['fullname']. "'> " .$row['fullname']. "<br/></td>"; echo "</tr>"; } } else { echo "<tr><td>No one to Approve</td></tr>"; } echo '<input type="image" src="images/reject.png" name="test" width="170" height="35" border="0" value="reject">'; echo '</form>'; ?> I dont know what to put in my val3.php' so that it can the values of the Checked data. thanks for those who can help. :confused:Hi I have a problem with check box in jquery directory tree... I can't get value from it !!! :S The value of $file show's as "array" in the echo"$files"; not as the real value of the file that is show'n in the directory tree. Can someone help mee with this ? <input type='checkbox' name='del[]' id='del' value='$file'/><a href=\"".$path.$file."\"><img src='slike_izgled/file.png'> $file</a> if(isset($_POST['filedel'])) { $id = $_POST[del]; $count = count($id); for ($i=0; $i<$count; $i++){ $files = $_POST['del']; echo"$files.$count"; } hallo everybody,
i have column in my guestbook table mysql database names vis.
i want make it possible for user to make theier comments invisible.
if user checked yes, the comment will be viewd. if he did not checked, the comment will not be viewed.
in my visibility.php the user can later change the value from yes to no or from no to yes.
i do not know how to make this possible in update.php file.
thank you very much for your help.
Rafal
here is my code which not work in visibility.php
<form action="update.php" method="post"> <input type="hidden" name="inp_id" value="<?php echo $row[id) ?>"> visible: <input type="checkbox" name="inp_vis" <?php if ($row[vis] == "yes") { echo "value='yes' checked"; } else { echo "value='no'"; } ?>> <br> <input type="submit" value="Save"> </form> Edited by rafal, 25 September 2014 - 08:54 AM. function get_checked($variable, $status){ if($variable == $status){ return 'checked="checked"'; }else{ return ''; } } <input type=\"checkbox\" name=\"emailNewsletter\" value=\"Yes\" ".get_checked($emailNewsletter, 'Yes')."> <input type=\"checkbox\" name=\"emailInbox\" value=\"Yes\" ".get_checked($emailInbox, 'Yes')."> $emailNewsletter = isset($_POST['emailNewsletter']) ? filter_input(INPUT_POST, 'emailNewsletter') : 'No'; $emailInbox = isset($_POST['emailInbox']) ? filter_input(INPUT_POST, 'emailInbox') : 'No';If no submit button clicked display mysql information $userInfo['emailInbox'] instead of 'NO' . How to do that? Here is the 'want' right now: I have a database with a table for customers and another one for projects. I want the user to have the ability to select which customer they want to be associated with their project. I understand how to do this logically (set up of the tables relationships) but I cant seem to figure out how to do this via checkbox arrays. For example, there should be a list of checkboxes with the values being pulled from the customer database. Whichever customers are selected, their IDs should get placed into a row in the project table called cust id. So the project table would read like the following: ID: 1 Project ID: 3-002-055 Customer ID: Whatever the ID number is in the customers table (I have customer IDs being pulled from the URL) ID: 2 Project ID: 3-002-055 (same as above) Customer ID: Whatever the ID number is So in this case, both customers are working on the same project. With that being said, I know for a fact that this is possible via some kind of checkbox statement. Something that pretty much says the following (I already started my lame attempt at coding this....I am no expert to bare with me!): Code: [Select] <?php $staff_id = $_SESSION['sid']; $company_id = $_GET['cid']; $company_id = mysql_real_escape_string($company_id ); $company_id = eregi_replace("`", "", $company_id); $sql = mysql_query("SELECT contact_fname, contact_lname FROM contact_info WHERE company_id='$company_id'"); while($row = mysql_fetch_array($sql)){ $contact_fname = $row["contact_fname"]; $contact_lname = $row["contact_lname"]; $select_contacts .= " <input name=\"contacts[]\" type=\"checkbox\" value=\"' . $contact_fname . ' ' . $contact_lname . '\" /><br /><br /> <input name=\"submit_contacts\" type=\"submit\"> "; } ?> This is where I am lost at. How do I say that whenever anything is checked, grab the value and store it into the database but in a separate record??? Bl4ck Maj1k Hi, This is part of my table code echo "<td align=\"center\"><font color=\"{$colors[$row['presenter1status']]}\">{$row['presenter1']}</font> <input type='checkbox' /></td>"; Now what I was hoping to do is write some code to check what is selected and what isnt to be then able to write some queries to the database. Can anyone give any pointers Thanks Hi, so i have a problem. I'm using a script to enable and disable checkboxes, and i'm id-ing them fetching values from a database: while($data = mysqli_fetch_array($sql)) { if ($count % 5 == 0) { echo '</tr><tr>'; $count = 0; } echo '<td><input name="subject_level[]" class="subject_a" disabled="disabled" type="checkbox" id="subject_level_'.$data['subject_level_id'].'" value="'.$data['subject_level_id'].'"/>'; echo '<label for="subject_level_'.$data['subject_level_id'].'" class="subject_1">'.$data['subject_name'].'</label></td>'; $count++; //Increment the count } The names of the checkboxes come out fine, just that, is there any way to retrieve the values of the checkboxes into an array of some sort so that i could build a search query later? if($_POST(subject_level)) or if($_POST(subject_level[])) doesn't return true. does it make sense? im new to php so please forgive my ignorance. Help appreciated. Thanks! I am retrieving data from mysql and printing this as a table. Now I want to print this as a checkbox. But not sure how to? <?php mysql_connect("localhost", "root", "")or die("cannot connect"); mysql_select_db("Examination")or die("cannot select DB"); $sql=mysql_query("SELECT * FROM question") or die(mysql_error()); Print "<table border cellpadding=5>"; while($info = mysql_fetch_array( $sql )) { Print "<th>Question:</th> <td>".$info['Que_Question'] . "</td> "; Print "<th>Choice1:</th> <td>".$info['Que_Choice1'] . "</td> "; Print "<th>Choice2:</th> <td>".$info['Que_Choice2'] . "</td> "; Print "<th>Choice3:</th> <td>".$info['Que_Choice3'] . "</td> "; Print "<th>Choice4:</th> <td>".$info['Que_Choice4'] . "</td> "; } Print "</table>"; ?> How do I post the values that are in a while loop and add them to mysql table? <form action="Test_Completed.php" method="post"> include '../Database/take_an_exam.php'; $intNumber = 1; while($info = mysql_fetch_array( $sql )) { echo "$intNumber, {$info['Que_Question']} <br />\n"; echo "<input type=\"checkbox\" name=\"choice1[]\" value=\"{$info['Que_Choice1']}\" /> "; echo "{$info['Que_Choice1']} <br />\n"; echo "<input type=\"checkbox\" name=\"choice2[]\" value=\"{$info['Que_Choice2']}\" /> "; echo "{$info['Que_Choice2']} <br />\n"; echo "<input type=\"checkbox\" name=\"choice3[]\" value=\"{$info['Que_Choice3']}\" /> "; echo "{$info['Que_Choice3']} <br />\n"; echo "<input type=\"checkbox\" name=\"choice4[]\" value=\"{$info['Que_Choice4']}\" /> "; echo "{$info['Que_Choice4']} <br />\n"; $intNumber++; } ?> <input type="submit" value="submit"/> </body> </html> </body> </html> Hello again, I have a form that has several options to select features of a computer (vga, dvi, ethernet, modem, zip, etc.) through checkboxes. In the database, it is stored as a 0/1 (false/true). What I am working on is an edit form to make changes if necessary, but I am having trouble populating the checkboxes that are marked as true already. Code: [Select] while($cmp = $_SESSION['DB']->fetch_array($cmpQ)){ $chkbxs = array('vga', 'ps2', 'usb', 'firewire', 'ethernet', 'cddvd', 'fdd', 'zip', 'dvi', 'serial', 'sound', 'wireless', 'modem', 'smartm'); foreach ($chkbxs as $value) { $check=""; if ($cmp[$value] == 1) { $check = "checked"; echo ''.$value.' <br/>'; } ...more code, form below This does it it should. I have an entry with vga, firewire, smartm, and zip selected, and $value returns that properly. In the form, this is how I have it set up. Code: [Select] echo '<input type="checkbox" name="hardware[]" value="vga" '.$check.'>'; Right now, every checkbox is selected, meaning that for some reason, $cmp[$value] == 1 is affecting all checkboxes in the form, even though it is only returning the 4 that are marked as selected when I echo $value. Am I missing something minor or am I going about this the wrong way? I am having issue creating a checkbox that uses a onClick() js method. I believe this might be due to the fact that I am echoing the html but if any one could help id appreciate it. echo "<tr><td>WrkComp</td><td><input type='checkbox'" ?> <script>onClick="show()" </script> <? "name='WrkComp[]' value='DEP' '.$checked.' '.$Disabled.'/></td>"; Hey, I have checkbox and with these I am setting an exam. I want the questions to contain numbers. So for each question a number would be displayed. So far I am Only getting the question and the choices to display. <html> <?php session_start(); include '../Database/connection.php'; $Value22 = mysql_real_escape_string(trim($_POST['myselects'])); $_SESSION['myselect23'] = $Value22; //echo $_SESSION['myselect23']; ?> <body> <form action="Staff_Menu.php" method="post"> <?php include '../Database/previous_q.php'; while($info = mysql_fetch_array( $sql )) { echo "{$info['Que_Question']} <br />\n"; echo "<input type=\"checkbox\" name=\"choice1[]\" value=\"{$info['Que_Choice1']}\" /> "; echo "{$info['Que_Choice1']} <br />\n"; echo "<input type=\"checkbox\" name=\"choice2[]\" value=\"{$info['Que_Choice2']}\" /> "; echo "{$info['Que_Choice2']} <br />\n"; echo "<input type=\"checkbox\" name=\"choice3[]\" value=\"{$info['Que_Choice3']}\" /> "; echo "{$info['Que_Choice3']} <br />\n"; echo "<input type=\"checkbox\" name=\"choice4[]\" value=\"{$info['Que_Choice4']}\" /> "; echo "{$info['Que_Choice4']} <br />\n"; } ?> <input type="submit" value="submit"/> </body> </html> </body> </html> I am wondering how to keep a checkbox checked? I have the folllowing code and it is outputting the correct info, but when i tick checkbox, and then click box "SAVE Days and Recipes Chosen" the checkbox doesn't get set. <?php for($i = 0; $i < $rows; $i++) { ?> <tr> <?php for($j = 0; $j < $columns; $j++) { echo "<TD><font color='8678E9'>" . $data[$i + ($j * $rows)] . "</font></TD>\n"; ?> <td><input type='checkbox' name=$R1 <?php if($R1=="checked"){$R1=="checked"; echo $R1;} elseif($R1=="unchecked"){$R1=="unchecked"; echo $R1;} ?> <td><?php echo"<TD><font color='3923D6'><font size=4>" . $data2[$i + ($j * $rows)] . "</TD>\n"; ?></font></td> <?php echo"<TD align='center'><font color='3923D6'><font size=4>" . $data4[$i + ($j * $rows)] . "</TD>\n"; ?></font></td> <?php echo"<TD align='center'><font color='3923D6'><font size=4>" . $data5[$i + ($j * $rows)] . "</TD>\n"; ?></font></td> <td align="centre"><input type="checkbox" name="ch1[]" method="POST" value=<?php echo $data3[$i + ($j * $rows)]?>,1 >M<br> <input type="checkbox" name="ch1[]" value=<?php echo $data3[$i + ($j * $rows)]?>,2 method="POST">Tu<br> <input type="checkbox" name="ch1[]" value=<?php echo $data3[$i + ($j * $rows)]?>,3 method="POST">W<br> <input type="checkbox" name="ch4[]" <?php if (!isset($ch4)){$Value='unchecked'; echo $Value;} elseif(isset($ch4)){$Value='checked'; echo $Value;}?> value=<?php echo $data3[$i + ($j * $rows)]?>,4 method="POST">Th<br></td> <td align="centre"><input type="checkbox" name="ch1[]" value=<?php echo $data3[$i + ($j * $rows)]?>,5 method="POST">F<br> <input type="checkbox" name="ch1[]" value=<?php echo $data3[$i + ($j * $rows)]?>,6 method="POST">Sa<br> <input type="checkbox" name="ch1[]" value=<?php echo $data3[$i + ($j * $rows)]?>,7 method="POST">Su<br></td> <?php echo"<TD><font color='3923D6'><font size=4>" . $data6[$i + ($j * $rows)] . "</TD>\n"; ?></font></td> <td style='font-weight: bold; text-align: left;'><font color='8678E9'>                    </font></td> <?php } echo "</TR>\n"; } echo "</TABLE>\n"; echo "<br>"; It is the following part that i cuurently need help with <td><input type='checkbox' name=$R1 <?php if($R1=="checked"){$R1=="checked"; echo $R1;} elseif($R1=="unchecked"){$R1=="unchecked"; echo $R1;} ?> I haven't looked at the other checkbox part of <td align="centre"><input type="checkbox" name="ch1[]" method="POST" value=<?php echo $data3[$i + ($j * $rows)]?>,1 >M<br> <input type="checkbox" name="ch1[]" value=<?php echo $data3[$i + ($j * $rows)]?>,2 method="POST">Tu<br> <input type="checkbox" name="ch1[]" value=<?php echo $data3[$i + ($j * $rows)]?>,3 method="POST">W<br> <input type="checkbox" name="ch4[]" <?php if (!isset($ch4)){$Value='unchecked'; echo $Value;} elseif(isset($ch4)){$Value='checked'; echo $Value;}?> value=<?php echo $data3[$i + ($j * $rows)]?>,4 method="POST">Th<br></td> <td align="centre"><input type="checkbox" name="ch1[]" value=<?php echo $data3[$i + ($j * $rows)]?>,5 method="POST">F<br> <input type="checkbox" name="ch1[]" value=<?php echo $data3[$i + ($j * $rows)]?>,6 method="POST">Sa<br> <input type="checkbox" name="ch1[]" value=<?php echo $data3[$i + ($j * $rows)]?>,7 method="POST">Su<br></td> Appreciate any suggestions Hi All, I'm very new to PHP so please bear with me. I have created a form with 3 fields. One field is a multi select / checkbox with the name 'tenCode'. How do I get all of the values selected from this box and add them to my database? My submission code (submit.php) Code: [Select] <?php $con = mysql_connect("localhost","dbname","dbpassword"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("dbname", $con); $sql="INSERT INTO tablename (tenFirst,tenPhone,tenID) VALUES ('$_POST[tenFirst]','$_POST[tenPhone]','$_POST[tenID]')"; if (!mysql_query($sql,$con)) { die('Error: ' . mysql_error()); } echo "Adding Ten. The page will refresh in 5 seconds."; echo "<meta http-equiv='Refresh' content='5; URL=nextpage.php'/>"; mysql_close($con) ?> Thanks dvent Hi guys! im new to phpfreaks *waving*
im trying to delete row from a table that is populated by data from database using checkbox(and it doesnt matter if its just one checkbox or multiple) but its not working, as in nothing happens. no delete, no errors or warnings, just a refresh.
table:
<form class="event-button-wrap" method="post" action="event.php"> <div class="button-wrap"> <input type="submit" id="del_event" name="del_event" value="Delete Event"/> </div> <div class="event-list-table2" > <table class="event-table"> <thead> <tr> <th>Event Name</th> <th class="head">Event Date</th> <th class="head">Venue</th> </tr> </thead> <tbody class="tbody-event-list-table2"> <?php require "connection.php"; $check = mysql_query("SELECT * FROM event"); if(mysql_num_rows($check) > 0) { while($row = mysql_fetch_array($check)) { $id = $row['event_id']; $name = $row['event_name']; $dstart = $row['start_date']; $venue = $row['event_venue']; echo "<tr> <td> <input type='checkbox' name='check[]' class='check' value='$id'>$name </td> </tr>"; } } else { echo "<tr> <td colspan='4'>There Are No Events.</td> </tr>"; } ?> </tbody> </table> </div> </form>process is before <!DOCTYPE html>: <?php if(isset($_POST['del_event'])) { if(isset($_POST['check'])) { foreach($_POST['check'] as $del_id) { $del_id = (int)$del_id; require "connection.php"; $sqlqueer = mysql_query("DELETE FROM event WHERE event_id = $del_id"); if($sqlqueer) { echo "<meta http-equiv=\"refresh\" content=\"0;URL=event.php\">"; } } } ?>thanks in advance! |