Foros del Web » Programando para Internet » PHP »

Consulta MySQL y PHP como ubicar los resuldatos??

Estas en el tema de Consulta MySQL y PHP como ubicar los resuldatos?? en el foro de PHP en Foros del Web. Hice esta pregunta antes pero no hubo respuestas, es probable que no hayan entendido así que la exlplico mejor... Tengo una tabla: CATEGORIAS id_cat | ...
  #1 (permalink)  
Antiguo 01/04/2008, 12:57
Avatar de insyse  
Fecha de Ingreso: abril-2005
Ubicación: Colombia
Mensajes: 206
Antigüedad: 19 años
Puntos: 5
Consulta MySQL y PHP como ubicar los resuldatos??

Hice esta pregunta antes pero no hubo respuestas, es probable que no hayan entendido así que la exlplico mejor...

Tengo una tabla: CATEGORIAS

id_cat | nom_cat
cat1 | perros
cat2 | gatos
cat3 | caballos
cat4 | lobos


Tengo otra tabla: PRODUCTOS

id_prod | nom_prod | id_cat
pro1 | comida | cat1
pro2 | ropa | cat1
pro3 | ropa | cat2
pro4 | aseo | cat3
pro5 | aseo | cat1



Despues de hacer esta consulta

$consulta= "SELECT * FROM productos WHERE categoria='cat1" ;


me devuelve esto:

id_prod | nom_prod | id_cat
pro1 | comida | cat1
pro2 | ropa | cat1
pro5 | aseo | cat1


__________________________________

Ahora va mi pregunta, Como puedo hacer para que en alguna parte de mi pagina pueda imprimir (echo) solo el valor "pro1" y en otra parte diferente pueda imprimir (echo) el valor de "pro2" y en cualquier otra parte pueda imprimir (echo) "pro3" y así suscesivamente????

Gracias, por los aportes que me puedan dar..

Leonardo R
  #2 (permalink)  
Antiguo 01/04/2008, 13:13
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 4 meses
Puntos: 11
De acuerdo Re: Consulta MySQL y PHP como ubicar los resuldatos??

Si entiendo bien tu pregunta, la forma tradicional de recorrer los resultados den tu consulta SQL es con while:

$consulta= mysql_query("SELECT * FROM productos WHERE categoria='cat1");

Código PHP:
while($row=mysql_fetch_assoc($consulta))
{
 
echo 
$row['id_prod']; // aquí va a imprimir consecutivamente y de manera cíclica todos los id uno por uno
 

Obviamente, debes introducir más código html si lo deseas pero sólo podrás ubicar el resultado en un solo lugar. Sino ya deberías buscar algo más complejo.

Saludos
  #3 (permalink)  
Antiguo 01/04/2008, 13:34
 
Fecha de Ingreso: febrero-2008
Ubicación: Bogotá_Colombia
Mensajes: 72
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Consulta MySQL y PHP como ubicar los resuldatos??

Amigo prueba con esto estare poendiente de los errores suerte......

Codigo PHP
Código PHP:

<?php 
//invocamos la conexion de la base de datos
require_once('Connections.php');
mysql_select_db($database,$link);
//captura el id producto
$id_prod=$_POST['id_prod'];
//seleccionamos los datos de la tabla producrtos
$SQL=mysql_query("SELECT * FROM  productos WHERE categoria='$id_prod' ORDER BY ASC"$link); 
// si al condicion se cumple 
if(mysql_fetch_array($SQL))
{
?>
   <table>
      <tr>
          <td><div align="center"><strong>ID Producto</strong></div></td>
          <td><div align="center"><strong>Nombre producto</strong></div></td>
          <td><div align="center"><strong>ID Categoria</strong></div></td>
          
      </tr>
<?php
//muestra los datos consultados

while($row mysql_fetch_assoc($SQL))
   {
      echo 
"<tr>";
      echo 
"        <td>".$row['id_prod']."</td>";
      echo 
"         <td>".$row['nom_prod']."</td>";
      echo 
"         <td>".$row['id_cat']."</td>";
      echo 
"</tr>";
   }
   
?>
   </table>
    <?php
   
}//sino se cumple la condicion
       
else
         {
          echo
" NO SE PRODUJO NINGUN RESULTADO";
          }
     
//se libera la memoria de la consulta anterior 
     
mysql_free_result($row);
     
?>
  #4 (permalink)  
Antiguo 01/04/2008, 13:34
Avatar de insyse  
Fecha de Ingreso: abril-2005
Ubicación: Colombia
Mensajes: 206
Antigüedad: 19 años
Puntos: 5
Re: Consulta MySQL y PHP como ubicar los resuldatos??

Es que precisamente es eso lo que no quiero...

lo que necesito es que la impresion sea solo del primer registro de la consulta en un <td></td> y en otra parte me imprima el segundo registro en otro <td></td>... si me entiendes???

voy a tratar de hacerlo de forma grafica.
__________________
|_$pro1_|_vacio_|
|_vacio_|_vacio_|
|_vacio_|_$pro2_|
|_vacio_|_vacio_|
|_vacio_|_vacio_|
|_vacio_|_vacio_|
|_$pro3_|_vacio_|


La idea es que de forma grafica se vea en una tabla <table></table> que productos de una categoria estan ingresados en la base de datos, sin usar los listados que se puedan generar desde MySQL.

Gracias.
  #5 (permalink)  
Antiguo 01/04/2008, 14:14
 
Fecha de Ingreso: febrero-2008
Ubicación: Bogotá_Colombia
Mensajes: 72
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Consulta MySQL y PHP como ubicar los resuldatos??

No te entiendo bien que queires decir con eso de vacio si tu estas haciendo una consulta a la base de datos esta te genera unos resultados , explicame haber yo te ayudo en la programacion .

Suerte .--...........
  #6 (permalink)  
Antiguo 01/04/2008, 15:18
Avatar de insyse  
Fecha de Ingreso: abril-2005
Ubicación: Colombia
Mensajes: 206
Antigüedad: 19 años
Puntos: 5
Re: Consulta MySQL y PHP como ubicar los resuldatos??

Voy a copiar el codigo de la pagina que debe mostrar los resultados...

Código PHP:
<table width="300" border="1" cellpadding="0" cellspacing="0">
  <
tr>  
    <
td >RESULTADO1</td>
    <
td >RESULTADO2</td>
    <
td >RESULTADO3</td>
  </
tr>  
  <
tr>
    <
td >RESULTADO4</td>
    <
td >RESULTADO5</td>
    <
td >RESULTADO6</td>
  </
tr>
  <
tr>
    <
td >RESULTADO7</td>
    <
td >RESULTADO8</td>
    <
td >RESULTADO9</td>  
  </
tr>
</
table

Donde estan los RESULTADOS# es donde debo colocar los IP_PRO en el orden en que la consulta los muestra, pero no todos en un solo <TD></TD> sino uno en cada <TD></TD> teniendo en cuenta que cada 3 registros baja un <TR></TR>.

Leonardo R.
  #7 (permalink)  
Antiguo 01/04/2008, 15:46
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 4 meses
Puntos: 11
De acuerdo Re: Consulta MySQL y PHP como ubicar los resuldatos??

Es cuestión de ingeniártelas un poco.


Código PHP:
$consultamysql_query("SELECT * FROM productos WHERE categoria='cat1"); 
 
$salida '<table width="300" border="1" cellpadding="0" cellspacing="0">';
$salida .= '<tr>';
 
$contador =1;
while(
$row=mysql_fetch_assoc($consulta))
{
 
$salida .= "<td >$row[id_prod]</td>";
 
if  (
$contador == 3
{
$contador 1;
$salida .= "</tr><tr>";
}
else
$contador++;
 

 
$salida .= "</tr></table>";
 
echo 
$salida
Cada tres resultados va a agregar una nueva fila y estarás en difrerentes "td".
Este ejemplo decódigo te genberará exactamente lo que necesitas según tu ejemplo de arriba:

Cita:
<table width="300" border="1" cellpadding="0" cellspacing="0">
<tr>
<td >RESULTADO1</td>
<td >RESULTADO2</td>
<td >RESULTADO3</td>
</tr>
<tr>
<td >RESULTADO4</td>
<td >RESULTADO5</td>
<td >RESULTADO6</td>
</tr>
<tr>
<td >RESULTADO7</td>
<td >RESULTADO8</td>
<td >RESULTADO9</td>
</tr>
</table>
Saludos
  #8 (permalink)  
Antiguo 01/04/2008, 16:01
 
Fecha de Ingreso: febrero-2008
Ubicación: Bogotá_Colombia
Mensajes: 72
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Consulta MySQL y PHP como ubicar los resuldatos??

Amigo hazle esto aevr si funciona Suerte.....

Codigo PHP

Código PHP:
<?php
$a
=array("$id_prod");
  
//sentencia a la base ed datos//
  // Recorremos el array mostrando sus valores//
   
for($i=0;$i<count($a);$i++)
   {
 echo 
'<table width="300" border="1" cellpadding="0" cellspacing="0">
  <tr>  
    <td >RESULTADO1 $i es:  $a[$i]</td>
    <td >RESULTADO2 $i es:  $a[$i]</td>
    <td >RESULTADO3 $i es:  $a[$i]</td>
  </tr>  
  <tr>
    <td >RESULTADO4 $i es:  $a[$i]</td>
    <td >RESULTADO5 $i es:  $a[$i]</td>
    <td >RESULTADO6 $i es:  $a[$i]</td>
  </tr>
  <tr>
    <td >RESULTADO7 $i es:  $a[$i]</td>
    <td >RESULTADO8 $i es:  $a[$i]</td>
    <td >RESULTADO9 $i es:  $a[$i]</td>  
  </tr>
</table>  '
;
   }

?>
  #9 (permalink)  
Antiguo 01/04/2008, 17:29
Avatar de insyse  
Fecha de Ingreso: abril-2005
Ubicación: Colombia
Mensajes: 206
Antigüedad: 19 años
Puntos: 5
Re: Consulta MySQL y PHP como ubicar los resuldatos??

Aunque tu propuesta es la que mas facil de usar y de entender, lamentablemente no funciona...

Y es eso lo que en verdad necesito... Separar los resultados de la consulta en un array y que pueda tomar los valores para colocarlos donde los necesito...

Esta es la opcion que sería ideal, pero lamentablemente los valores salen en blanco...

copio el codigo que use a ver si hay errores y si alguien sabe como ayudarme.

Código PHP:
<?
$dbd 
mysql_connect('localhost','root',root) or die('No pudo conectarse : ' mysql_error());   
mysql_select_db('rodrigozaac_01'$dbd) or die('No pudo seleccionarse la BD.');

$sql "SELECT id_prod FROM productos WHERE categoria='MP4'";
$a=array("$id_prod"); 
$resu mysql_query($sql) or die('La consulta fall&oacute;: ' mysql_error());
   for(
$i=0;$i<count($a);$i++) 
   { 
 echo 
'<table width="600" border="1" cellpadding="0" cellspacing="0"> 
  <tr>   
    <td width="200">RESULTADO1 $i es:'
.  $a[$i].'</td> 
    <td width="200">RESULTADO2 $i es:'
.  $a[$i].'</td> 
    <td width="200">RESULTADO3 $i es:'
.  $a[$i].'</td> 
  </tr>   
  <tr> 
    <td width="200">RESULTADO4 $i es:'
.  $a[$i].'</td> 
    <td width="200">RESULTADO5 $i es:'
.  $a[$i].'</td> 
    <td width="200">RESULTADO6 $i es:'
.  $a[$i].'</td> 
  </tr> 
  <tr> 
    <td width="200">RESULTADO7 $i es:'
.  $a[$i].'</td> 
    <td width="200">RESULTADO8 $i es:'
.  $a[$i].'</td> 
    <td width="200">RESULTADO9 $i es:'
.  $a[$i].'</td>   
  </tr> 
</table>  '

   } 


?>
_____________________

No se que mas hacer....

Leonardo R.
  #10 (permalink)  
Antiguo 01/04/2008, 18:28
 
Fecha de Ingreso: marzo-2008
Mensajes: 5
Antigüedad: 16 años
Puntos: 0
Re: Consulta MySQL y PHP como ubicar los resuldatos??

Kreo que puedo ayudarte, solo una duda antes de postear, Lo que tu necesitas en solo el valor del campo "prod1" , o toda la Fila de "prod1"
  #11 (permalink)  
Antiguo 01/04/2008, 19:14
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 4 meses
Puntos: 11
De acuerdo Re: Consulta MySQL y PHP como ubicar los resuldatos??

Hola.
Si lees atentamente mi sugerencia anterior llegarás exactamente a lo que estás buscando. La probaste?

De esa forma lo puedes hacer sin ninguna complicación.
Ahora, si insistes en generar un array.... lo estas haciendo mal, lo debes hacer asi:

Código PHP:
<? 
$dbd 
mysql_connect('localhost','root',root) or die('No pudo conectarse : ' mysql_error());    
mysql_select_db('rodrigozaac_01'$dbd) or die('No pudo seleccionarse la BD.'); 
$sql "SELECT id_prod FROM productos WHERE categoria='MP4'";
$resu mysql_query($sql) or die('La consulta fall&oacute;: ' mysql_error()); 
// Aquí generamos el array
while($row mysql_fetch_assoc($resu))
{
$a[] = $row['id_prod'];
}
// YA cuantas con el array $a ahora lo recorramos
$total count($a);
// Al, count() loo pones afuera del for, sino en cada bucle sacará el cálculo nuevamente
// y es sobrecargar el server inecesariamente
   
for($i=0;$i<$total;$i++)  
   {  
 echo 
'<table width="600" border="1" cellpadding="0" cellspacing="0">  
  <tr>    
    <td width="200">RESULTADO1 $i es:'
.  $a[$i].'</td>  
    <td width="200">RESULTADO2 $i es:'
.  $a[$i].'</td>  
    <td width="200">RESULTADO3 $i es:'
.  $a[$i].'</td>  
  </tr>    
  <tr>  
    <td width="200">RESULTADO4 $i es:'
.  $a[$i].'</td>  
    <td width="200">RESULTADO5 $i es:'
.  $a[$i].'</td>  
    <td width="200">RESULTADO6 $i es:'
.  $a[$i].'</td>  
  </tr>  
  <tr>  
    <td width="200">RESULTADO7 $i es:'
.  $a[$i].'</td>  
    <td width="200">RESULTADO8 $i es:'
.  $a[$i].'</td>  
    <td width="200">RESULTADO9 $i es:'
.  $a[$i].'</td>    
  </tr>  
</table>  '
;  
   }  
 
?>
No probe este código pero debería funcionar.
Te insisto que generar un array es un paso totalmente innecesario.

Funciona pero estar cargando al motor php con un trabajo que puedes evitar si lees mi sugerencia más arriba. Además en cada $a[$i] te va a imprimir lexactamente lo mismo en cada vuelta del for. No te compliques no es la mejor forma de hacerlo.

Saludos
  #12 (permalink)  
Antiguo 01/04/2008, 19:34
Avatar de insyse  
Fecha de Ingreso: abril-2005
Ubicación: Colombia
Mensajes: 206
Antigüedad: 19 años
Puntos: 5
Re: Consulta MySQL y PHP como ubicar los resuldatos??

Solo el valor del campor prod1


Cita:
Iniciado por Skualo_O Ver Mensaje
Kreo que puedo ayudarte, solo una duda antes de postear, Lo que tu necesitas en solo el valor del campo "prod1" , o toda la Fila de "prod1"
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 08:02.