Foros del Web » Programando para Internet » PHP »

Ayuda con un Select con múltiples condiciones

Estas en el tema de Ayuda con un Select con múltiples condiciones en el foro de PHP en Foros del Web. Hola me presento soy nuevo acá en el foro ,ya tenia días leyendo algunos temas ya que me encuentro haciendo un proyecto y estaba consultando ...
  #1 (permalink)  
Antiguo 14/10/2010, 02:18
Avatar de Thedavids  
Fecha de Ingreso: octubre-2010
Mensajes: 16
Antigüedad: 13 años, 6 meses
Puntos: 0
Pregunta Ayuda con un Select con múltiples condiciones

Hola me presento soy nuevo acá en el foro ,ya tenia días leyendo algunos temas ya que me encuentro haciendo un proyecto y estaba consultando algunas dudas por acá , la cosa es que soy un novato en esto de la programación con PHP y Mysql

Bien la cosa va así; tengo una pantalla donde seleciono varias opciones mediantes varios checkbox a cada checkbox le coloque un name diferente y un valor difirente
despues de selecionar los checkbox le doy a el boton enviar el cual me lleva a otra pantalla donde capturo los valores de cada checkbox para eso hice los siguiente

Código PHP:
        //1.2.- aka me traigo el valor de los checkbox y los meto en un arreglo 
        
if (isset($_POST["p1"])) $perfiles_id[]=$_POST["p1"];
    if (isset(
$_POST["p2"])) $perfiles_id[]=$_POST["p2"];
    if (isset(
$_POST["p3"])) $perfiles_id[]=$_POST["p3"];
    if (isset(
$_POST["p4"])) $perfiles_id[]=$_POST["p4"];
    if (isset(
$_POST["p5"])) $perfiles_id[]=$_POST["p5"];
    if (isset(
$_POST["p6"])) $perfiles_id[]=$_POST["p6"]; 
eso me inserta lo valores de cada checkbox en un arreglo
bien , ¿que para que quiero el arreglo? y e aqui el por que me ecuentro aca haciendo la siguiente pregunta

la idea de esto es poder hacer una instruccion Select y traerme unos valores a pantalla pero los valores que me voy a traer van a depender de cada valor que tenga el checkbox.

en tonses la idea es hacer un select el cual solo valla cambiando el valor de arreglo que me contiene los valores de los checkbox´s
bien.. lo que yo tengo es asi :


Código PHP:
//2.- Abrir la conexion a la BD

$idc=mysql_connect ("localhost","root");
if(!
$idc// no abrio la conexion
die ("error en la conexion");


//3.- Seleeccione la BD

if(!mysql_select_db("proyectolab",$idc))
die (
"Error en la seleccion de la BD.");

//4.- la consulta

for($i=0;$i=count($perfiles_id);$i++){
$sql_1="select nombre_perfil , precio_perfil from perfiles where id_perfiles = $perfiles_id[$i]";
$res_1 mysql_query($sql_1,$idc);

bien lo que si probé específicamente fue que el arreglo me trajera los valores de los checkbox´s y si resulta hice un echo dentro de un for para recorrer el arreglo perfiles_id[] y si me trae los valores de los checkbox´s así que por esa parte estoy seguro de que el arreglo si contiene los valores seleccionados.

lo que tengo en la pantalla como tal es lo siguiente


Código PHP:
<table width="52%" cellpadding="0">
      <tr>
        <td width="31%" bgcolor="#77933C" class="Estilo2">Id del examen </td>
        <td width="42%" bgcolor="#77933C" class="Estilo2">Nombre del examen </td>
        <td width="27%" bgcolor="#77933C" class="Estilo2">Precio</td>
      </tr>
       <?php 
   
// cant. total de registros obtenidos
   
$total mysql_num_rows ($res_1);
   for (
$i =0;$i<$total;$i++){
       
$fila_1 mysql_fetch_array ($res_1);
       
?>
      <tr>
        <td><?php echo $fila_1['id_perfiles']; ?>&nbsp;</td>
        <td><?php echo $fila_1['nombre_perfil']; ?>&nbsp;</td>
        <td><?php echo $fila_1['precio_perfil']; ?>&nbsp;</td>
      </tr>
 <?php }?>
      </table>
Bien eso es lo que tengo así fue que me imagine como funcionaria pero la cosa es que no , no se si tengo algún error con respecto a la sintaxis

Y la pregunta en si es ¿como hago para hacer un Select intercambiando el valor de la condición?

para poder traerme a la pantalla varios valores pero con Id distintos

Bueno si alguien me pudiera ayudar de ante mano un millón de Gracias y que Dios los bendiga
  #2 (permalink)  
Antiguo 14/10/2010, 03:27
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: Ayuda con un Select con múltiples condiciones

Para ser sincero, no entendí muy bien tu idea, pero intentaré ayudarte en la medida de lo posible. Lo primero que veo es un error digamos que de estructuración (o también entiendo yo mal lo que quieres hacer)

Cuando haces la parte de la consulta:
Código PHP:
for($i=0;$i=count($perfiles_id);$i++){ 
$sql_1="select nombre_perfil , precio_perfil from perfiles where id_perfiles = $perfiles_id[$i]"
$res_1 mysql_query($sql_1,$idc); 

el resultado que tendrá $res_1 al acabar el bucle será SOLO el del último checkbox, ya que va sobrescribiendo los valores anteriores y solo se queda con el último.

Así que la 2º parte solo lo haría para el ultimo checkbox, no para los anteriores.

Lo que deberías hacer sería incluir la segunda parte (donde creas la tabla etc.) dentro de donde haces la consulta.

Es decir, a grosso modo hacer esto:
Código PHP:
<?php
for($i=0;$i=count($perfiles_id);$i++){ 
$sql_1="select nombre_perfil , precio_perfil from perfiles where id_perfiles = $perfiles_id[$i]"
$res_1 mysql_query($sql_1,$idc);
?>
<table width="52%" cellpadding="0"> 
      <tr> 
        <td width="31%" bgcolor="#77933C" class="Estilo2">Id del examen </td> 
        <td width="42%" bgcolor="#77933C" class="Estilo2">Nombre del examen </td> 
        <td width="27%" bgcolor="#77933C" class="Estilo2">Precio</td> 
      </tr> 
       <?php  
   
// cant. total de registros obtenidos 
   
$total mysql_num_rows ($res_1); 
   for (
$i =0;$i<$total;$i++){ 
       
$fila_1 mysql_fetch_array ($res_1); 
       
?> 
      <tr> 
        <td><?php echo $fila_1['id_perfiles']; ?>&nbsp;</td> 
        <td><?php echo $fila_1['nombre_perfil']; ?>&nbsp;</td> 
        <td><?php echo $fila_1['precio_perfil']; ?>&nbsp;</td> 
      </tr> 
 <?php }?> 
      </table>
<?php }  ?>
A grandes rasgos, eh? A ver si era esto lo que necesitabas.
  #3 (permalink)  
Antiguo 16/10/2010, 11:03
Avatar de Thedavids  
Fecha de Ingreso: octubre-2010
Mensajes: 16
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Ayuda con un Select con múltiples condiciones

Hola amigo, la verdad es q ne fue de mucha ayuda , la verdad es q si me aclaraste un poco el panorama .. si tenia un error en el for donde metia el query no era = era < por eso no ejecutaba el query .. y bueno si tenia q meter ese for entre la impresiones.. .. bueno ya lo logre hacer.. fue de mucha ayuda tu respuesta de nuevo un millon de gracias y q dios te bendiga

Etiquetas: condición, multiples, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:36.