Hola halizia, si lo que deseas es que los datos se muestrn abajo del formulario deberás hacer uso de
Ajax, ya que es la única forma(al menos que conozco) en que puede interactuar php-javascript, ya que el primero será el que haga la conexión a la base de datos y el último validará los checkboxes.
Ajax no es nada complicado, puedes revisar
este truco que he colocado en la
sección de trucos del club en el cual muestro como crear un pequeño formulario de contacto utilizando Ajax.
El formulario podría ser así:
Código:
<form name="frm">
<input type="checkbox" name="checkbox1" value="1" />Checkbox1<br>
<input type="checkbox" name="checkbox2" value="2" />Checkbox2<br>
<input type="checkbox" name="checkbox3" value="3" />Checkbox3<br>
<input type="button" name="button" value="Enviar" onClic="validar();" />
</form>
Para poder validar los checkboxes, como ya dije antes, necesitas hacer uso de javascript, que mas o menos sería de la siguiente manera:
Código:
function validar(){
if (document.frm.checkbox1.checked==true || document.frm.checkbox2.checked==true || document.frm.checkbox3.checked==true){
enviar();
} else {
alert('Debes seleccionar al menos una casilla');
}
}
Ahora que ya has validado el formulario, si al menos hay un checkbox seleccionado, hará la llamada a la función enviar, en el cual tendrás que recoger los datos de los checkbox activos y enviarlos a el script php que se conectará a la base de datos y te devolverá los datos que deseas, lo cual se podrá hacer de la siguiente manera:
Código:
var obj;
var div;
var pVars;
function crearObjeto() {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
} else if (window.ActiveXObject) {
return new ActiveXObject("Microsoft.XMLHTTP");
}
}
function procesar(){
pVars = '&cb1='+encodeURI(document.frm.checkbox1.checked);
pVars += '&cb2='+encodeURI(document.frm.checkbox2.checked);
pVars += '&cb3='+encodeURI(document.frm.checkbox3.checked);
obj=crearObjeto();
obj.onreadystatechange = cambio;
obj.open("POST",'script.php', true);
obj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
obj.send(pVars);
}
function cambio(){
div = document.getElementById("rdiv");
if(obj.readyState == 4){
div.innerHTML = obj.responseText;
} else {
div.innerHTML='Cargando...';
}
}
Recuerda que deberás colocar un div con el id "rdiv" en el lugar que desees que se muestre el resultado, ya que a este se le agregará el resultado obtenido por la consulta a la bas e de datos.
Ahora, en el script php deberás tomar los datos enviados utilizando el método post, mas o menos de la siguiente manera:
Código PHP:
<?php
$cb1 = $_POST['cb1'];
$cb2 = $_POST['cb2'];
$cb3 = $_POST['cb3'];
/*
Aquí has la consulta y luego has que se muestre el resultado que desees.
*/
?>
No he tenido la oportunidad de probarlo, pero si algo anda mal avísame y miramos que es.
Espero te sirva de algo.
Saludo.