Comunidad de diseño web y desarrollo en internet online

mostrar registro de bd en php :'(

Citar            
MensajeEscrito el 23 Feb 2011 08:52 pm
hola chicos de nuevo me dirijo a ustedes ahora con un enredo mas loco, resulta q en mi bd tengo varias tablas, en una (tabla_1) la informacion se carga desde php mientras q otras son precargadas con datos (tabla_2 )para q el usuario seleccione mediante checkbox las opciones q desea y el id de cada una de estas se almacene en un campo tipo text en tabla_1, hasta alli bn, el problema se da al momento de mostrar los registros, se supone q en pantalla el usuario pueda ver toda la informacion q lleno y las opciones que marco y todo eso, pero el problema es q no se como hacer una consulta a la bd desde php q diga por ej: "where id_img= '$tal_cosa'" donde $tal_cosa sea igual a por ejemplo 1,5,8,15,27,n que es la forma en que los id contenidos en tabla_2 se almacenan en tabla_1 .... por fa una ayudita!!! :'(

Por jakiras

Claber

148 de clabLevel



Genero:Femenino  

firefox
Citar            
MensajeEscrito el 23 Feb 2011 10:12 pm
Necesitas utilizar 'joins' entre tus tablas. p. ej. si tienes tus tablas asi:

tabla1
    t1_id
    t1_desc
    t2_id

tabla2
    t2_id
    t2_desc

Para mostrar la informacion correcta necesitas algo asi:

Código MySQL :

select tabla1.t1_desc, tabla2.t2_desc
from   tabla1, tabla2
where  tabla2.t2_id = tabla1.t2_id


Esto soluciona tu problema? no me quedo 100% claro.

Saludos.

Por gomezbjesus

6 de clabLevel



Genero:Masculino  

Friend, Programmer & Geek

chrome
Citar            
MensajeEscrito el 23 Feb 2011 11:24 pm
Muestra algo del codigo para que sea mas entendible el problema.


Saludos

Por dbspace

18 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 24 Feb 2011 01:10 am

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

chrome
Citar            
MensajeEscrito el 24 Feb 2011 03:41 pm
hola chicos gracias por su respuest ya lo solucione esto fue lo q hice

Código PHP :

<?php
$sql = "SELECT * FROM pages WHERE cid='$idColegio' AND idPag='$pag'"; 
$query = mysqli_query($conexion, $sql); 
while ($row = mysqli_fetch_array($query)) { 
   $insc = $row['insc'];
} 


$insc = explode(",",$insc);
      $c = count($insc);
      for($i = 0; $i < $c; $i ++)
      {
         $img = $insc[$i];
      
         $s = "SELECT * FROM insc WHERE idImg='$img'";
         $q = mysqli_query($conexion,$s);
         $im = "";
         while($r = mysqli_fetch_assoc($q))
         {
            $ima = $r['url'];
            $im .= '<li><img src="../../fichas/images/img_proc/'.$ima.'"/></li>';
         }
         echo $im;
      }

?>

Por jakiras

Claber

148 de clabLevel



Genero:Femenino  

firefox
Citar            
MensajeEscrito el 24 Feb 2011 06:00 pm
lo podrias optimizar

Código PHP :

$sql = "SELECT * FROM pages WHERE cid='$idColegio' AND idPag='$pag'";  
$query = mysqli_query($conexion, $sql);  
while ($row = mysqli_fetch_array($query))
{  
   $insc = $row['insc']; 
}  
 
 
$insc = explode(",",$insc);
foreach($insc as $img)
{
         $s = "SELECT * FROM insc WHERE idImg='$img'"; 
         $q = mysqli_query($conexion,$s); 
         $im = ""; 
         while($r = mysqli_fetch_assoc($q)) 
         { 
            $ima = $r['url']; 
            $im .= '<li><img src="../../fichas/images/img_proc/'.$ima.'"/></li>'; 
         } 
         echo $im; 
}

o mejor solo haciendo una consulta a la base de datos

Código PHP :

$sql = "SELECT * FROM pages WHERE cid='$idColegio' AND idPag='$pag'";  
$query = mysqli_query($conexion, $sql);  
while ($row = mysqli_fetch_array($query))
{  
   $insc = $row['insc']; 
}
$insc = preg_replace('/(\d+)/',"idImg='\$1'",$insc);
$insc = strtr($insc,array(',' => ' OR '));
$s = "SELECT * FROM insc WHERE ". $incs; 
$q = mysqli_query($conexion,$s); 
while($r = mysqli_fetch_assoc($q)) 
{ 
   $ima = $r['url']; 
   $im .= '<li><img src="../../fichas/images/img_proc/'.$ima.'"/></li>'; 
} 
echo $im;

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 27 Abr 2011 08:06 pm
hola admin, intente utilizar la segunda solucion que me diste pero me dice este error

Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\mic\exp.php on line 93

esto es lo que tengo:

Código PHP :


<?php

$sql = "SELECT * FROM insc_proceso";
$q = mysqli_query($conexion,$sql);
$r = mysqli_fetch_assoc($q);
$insc = $r['insc'];

$insc = preg_replace('/(\d+)/',"idImg='\$1'",$insc); 
$insc = strtr($insc,array(',' => ' OR ')); 
$s = "SELECT * FROM insc WHERE ". $incs;  
$q = mysqli_query($conexion,$s);  
while($r = mysqli_fetch_assoc($q))  
{  
   $ima = $r['url'];  
   $im .= '<li><img src="../../fichas/images/img_proc/'.$ima.'"/></li>';  
}  
echo $im;
?>

Por jakiras

Claber

148 de clabLevel



Genero:Femenino  

firefox
Citar            
MensajeEscrito el 27 Abr 2011 08:18 pm
disculpen la necedad... ya lo acomode

le aregle el nombre a esta variable $insc para la consulta ya q salia en lugar de $insc - $incs XD gracias


$s = "SELECT * FROM insc WHERE ". $insc;

Por jakiras

Claber

148 de clabLevel



Genero:Femenino  

firefox
Citar            
MensajeEscrito el 28 Abr 2011 07:36 pm
hola muchachos de nuevo yo molestando, tengo este cod q aunke me funciona me parece algo ilogico hacer 2 veces una consulta a la base de datos pero la neta no consegui otra forma de solucionar mi enredo

Código PHP :


<?php
$sql = "SELECT * FROM insc_proceso WHERE cid='$cid'"; /*consulta general*/
$qry = mysqli_query($conexion,$sql);
$num_rows = mysqli_num_rows($qry);
while($r = mysqli_fetch_assoc($qry)){
$cant = $r['cant'];
   $insc = $r['insc']; /**/
   $ins = $r['insc']; /*tomar 2 veces el mismo valor no me parece pero sino lo hago asi me da error , por fa una ayudita con esto*/
   
   $cant = explode(',',$cant);
   $insc = explode(",",$insc);
   $c = count($cant);
   for($i = 0; $i < $c; $i ++)
         {
            $img = $insc[$i];
            $cantidad = $cant[$i];
            $s = "SELECT * FROM insc WHERE idImg='$img'"; /*consulta 1*/
            $q = mysqli_query($conexion,$s);
            $im = "";
            while($r = mysqli_fetch_assoc($q))
            {
               $txt .= '<li><span><strong>'.$cantidad.'</strong> '.utf8_encode($r['titulo']).'</span></li>';
            }
            
         }
   $ins = preg_replace('/(\d+)/',"idImg='\$1'",$ins); /*consulta 2 a la misma bd... por fis una ayudita!!!*/
   $ins = strtr($ins,array(',' => ' OR ')); 
   $s = "SELECT * FROM insc WHERE ".$ins;  
   $q = mysqli_query($conexion,$s);  
   while($r = mysqli_fetch_assoc($q)){  
      $ima = $r['url']; 
      $im .= '<li><img src="../../fichas/images/img_proc/'.$ima.'"/></li>';  
   } 
}
?>



una consulta la hago para obtener los nombres de las imagenes y asi asignarles la cantidad q hay de cada una tomando ese valor (cantidad) de un array almacenado en un campo en la bd.

el otro problema q tengo es en la consulta principal: la idea es q me buske todos los resultados q se llamen de la misma forma, y aunke me los trae, el segundo resultado me combina los datos del primero con los del segundo O.o

Por jakiras

Claber

148 de clabLevel



Genero:Femenino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.