Page 1 of 1

Sending extracted array data from MySQL to checkbox

Posted: Thu Aug 02, 2007 12:25 am
by trassalg
I have a list of checkboxes set up as a form that stores the data to a database cell in a comma separated string:
For example: "12,13,18,110,118,21,28,31"

Each checkbox has a name of "categories" with different values. What I'd like to do is the following:

1) Extract the data from the database
2) Separate each number it into an individual array value
3) Make the checkboxes in categories.php reflect the selected or non-selected state, based upon the results from the database (selected being the numbers in the database)

Step 1 - I know how to do.
Step 2 - I assume I need to use the explode function, no?
Step 3 - Not a clue....

Below is the categories.php file, which I'm assuming is the program I need to add to.

Code: Select all

<?php
	include("includes/misc.inc");
	include("includes/connection.inc");
?>
<table>
	<tr>
		<td>
    <strong>1. ALIMENTOS</strong><br>
    <input type="checkbox" name="categories" value="11">1.1 - AGRO<br>
    <input type="checkbox" name="categories" value="12">1.2 - INDUSTRIA<br><br>
		<strong>2. AMBIENTE</strong><br>
    <input type="checkbox" name="categories" value="21">2.1 - Ecolog&iacute;a<br>
    <input type="checkbox" name="categories" value="22">2.2 - Energ&iacute;a<br>
    <input type="checkbox" name="categories" value="23">2.3 - Urbanismo<br><br>
    <strong>3. CIENCIA: SU DESARROLLO</strong><br>
    <input type="checkbox" name="categories" value="31">3.1 - Biol&oacute;gicas<br>
    <input type="checkbox" name="categories" value="32">3.2 - Ciencias Todas<br>
    <input type="checkbox" name="categories" value="33">3.3 - De la Salud<br>
    <input type="checkbox" name="categories" value="34">3.4 - Duras<br>
    <input type="checkbox" name="categories" value="35">3.5 - Sociales<br><br>
    <strong>4. COMUNICACI&Oacute;N: SU DESARROLLO</strong><br>
    <input type="checkbox" name="categories" value="41">4.1 - Medios<br>
    <input type="checkbox" name="categories" value="42">4.2 - Transporte<br><br>
    <strong>5. CULTURA: SU DESARROLLO</strong><br>
    <input type="checkbox" name="categories" value="51">5.1 - Antropolog&iacute;a Cultural<br>
    <input type="checkbox" name="categories" value="52">5.2 - Arte y Espect&aacute;culo<br>
    <input type="checkbox" name="categories" value="53">5.3 - Educaci&oacute;n<br><br>
    <strong>6. ECONOM&Iacute;A: SU DESARROLLO</strong><br>
    <input type="checkbox" name="categories" value="61">6.1 - MACRO<br>
    <input type="checkbox" name="categories" value="611">6.1.1 - ma Cr&eacute;dito y Finanzas<br>
    <input type="checkbox" name="categories" value="612">6.1.2 - ma Expo Impo<br>
    <input type="checkbox" name="categories" value="613">6.1.3 - ma Impuestos<br>
    <input type="checkbox" name="categories" value="614">6.1.4 - ma Inversiones<br>
    <input type="checkbox" name="categories" value="615">6.1.5 - ma Marketing<br>
    <input type="checkbox" name="categories" value="616">6.1.6 - ma Panorama<br>
    <input type="checkbox" name="categories" value="617">6.1.7 - ma Tendencias<br>
    <input type="checkbox" name="categories" value="618">6.1.8 - ma Teor&iacute;as<br>
    <input type="checkbox" name="categories" value="62">6.2 - ma x Zona<br>
    <input type="checkbox" name="categories" value="621">6.2.1 - mi Empresas<br>
    <input type="checkbox" name="categories" value="622">6.2.2 - mi Capacitaci&oacute;n<br>
    <input type="checkbox" name="categories" value="623">6.2.3 - mi Marketing<br>
    <input type="checkbox" name="categories" value="624">6.2.4 - mi Panorama<br>
    <input type="checkbox" name="categories" value="625">6.2.5 - mi Tendencias<br><br>
    <strong>7. JUR&Iacute;DICA: SU DESARROLLO</strong><br>
    <input type="checkbox" name="categories" value="71">7.1 - Comercial<br>
    <input type="checkbox" name="categories" value="72">7.2 - Constitucional y Varios<br>
    <input type="checkbox" name="categories" value="73">7.3 - Familia<br>
    <input type="checkbox" name="categories" value="74">7.4 - Laboral<br>
    <input type="checkbox" name="categories" value="75">7.5 - Penal<br><br>
    <strong>8. POL&Iacute;TICA: SU DESARROLLO</strong><br>
    <input type="checkbox" name="categories" value="81">8.1 - Elecciones 2007<br>
    <input type="checkbox" name="categories" value="82">8.2 - Estado y Planificaci&oacute;n<br>
    <input type="checkbox" name="categories" value="83">8.3 - Gobierno Nacional<br>
    <input type="checkbox" name="categories" value="84">8.4 - Internacionales<br>
    <input type="checkbox" name="categories" value="85">8.5 - Noticias<br>
    <input type="checkbox" name="categories" value="86">8.6 - Partidos<br>
    <input type="checkbox" name="categories" value="87">8.7 - Politica Regional<br><br>
    <strong>9. SALUD: SU DESARROLLO</strong><br>
    <input type="checkbox" name="categories" value="91">9.1 - Calidad de Vida SA<br>
    <input type="checkbox" name="categories" value="92">9.2 - Conceptual<br>
    <input type="checkbox" name="categories" value="93">9.3 - Institucional<br>
    <input type="checkbox" name="categories" value="94">9.4 - Medicina<br>
    <input type="checkbox" name="categories" value="95">9.5 - Panorama<br><br>
    <strong>10. SOCIOLOG&Iacute;A: SU DESARROLLO</strong><br>
    <input type="checkbox" name="categories" value="101">10.1 - Calidad de Vida SO<br>
    <input type="checkbox" name="categories" value="102">10.2 - Clases<br>
    <input type="checkbox" name="categories" value="103">10.3 - Control Social<br>
    <input type="checkbox" name="categories" value="104">10.4 - Demograf&iacute;a<br>
    <input type="checkbox" name="categories" value="105">10.5 - Econom&iacute;a Social<br>
    <input type="checkbox" name="categories" value="106">10.6 - Futuro CF<br>
    <input type="checkbox" name="categories" value="107">10.7 - G&eacute;nero<br>
    <input type="checkbox" name="categories" value="108">10.8 - Globalizaci&oacute;n<br>
    <input type="checkbox" name="categories" value="109">10.9 - Historia Toda<br>
    <input type="checkbox" name="categories" value="1010">10.10 - Juventud<br>
    <input type="checkbox" name="categories" value="1011">10.11 - Modas<br>
    <input type="checkbox" name="categories" value="1012">10.12 - Modernidad PosModernidad<br>
    <input type="checkbox" name="categories" value="1013">10.13 - ONG<br>
    <input type="checkbox" name="categories" value="1014">10.14 - Religi&oacute;n<br>
    <input type="checkbox" name="categories" value="1015">10.15 - Seguridad<br>
    <input type="checkbox" name="categories" value="1016">10.16 - Sociolog&iacute;a<br>
    <input type="checkbox" name="categories" value="1017">10.17 - Trabajo<br><br>
    <strong>11. HERRAMIENTAS: SU DESARROLLO</strong><br>
    <input type="checkbox" name="categories" value="111">11.1 - ABC<br>
    <input type="checkbox" name="categories" value="112">11.2 - Anita<br>
    <input type="checkbox" name="categories" value="113">11.3 - Bibliograf&iacute;a<br>
    <input type="checkbox" name="categories" value="114">11.4 - Calendario 2007<br>
    <input type="checkbox" name="categories" value="115">11.5 - Clientes<br>
    <input type="checkbox" name="categories" value="116">11.6 - Gentes<br>
    <input type="checkbox" name="categories" value="117">11.7 - Medios<br>
    <input type="checkbox" name="categories" value="118">11.8 - Personal<br>
    <input type="checkbox" name="categories" value="119">11.9 - Tecnolog&iacute;s<br>
    <input type="checkbox" name="categories" value="1110">11.10 - Tema del...<br>
    <input type="checkbox" name="categories" value="1111">11.11 - Tendencias<br>
    <input type="checkbox" name="categories" value="1112">11.12 - Teor&iacute;as<br>
    </td>
  </tr>
 </table>

Posted: Thu Aug 02, 2007 3:01 am
by Christopher
You can convert the comma separated string to an array using the explode() function. I would also recommend creating an array that contains the option values as keys and the option text as values. Then you can generate the <option> and mark the ones as checked by seeing if they are in the stored array.