Foros del Web » Programando para Internet » PHP »

consulta mysql

Estas en el tema de consulta mysql en el foro de PHP en Foros del Web. Hola a todos! estoy haciendo la siguiente consulta: Código PHP: <?php mysql_select_db ( $database_portalma ,  $portalma ); $query_Recordset2  =  "SELECT * FROM interes_hija WHERE id_interes='1'" ; $Recordset2  =  mysql_query ( ...
  #1 (permalink)  
Antiguo 06/06/2005, 19:02
 
Fecha de Ingreso: agosto-2004
Mensajes: 347
Antigüedad: 13 años, 3 meses
Puntos: 3
consulta mysql

Hola a todos!

estoy haciendo la siguiente consulta:

Código PHP:
<?php
mysql_select_db
($database_portalma$portalma);
$query_Recordset2 "SELECT * FROM interes_hija WHERE id_interes='1'";
$Recordset2 mysql_query($query_Recordset2$portalma) or die(mysql_error());
$row_Recordset2 mysql_fetch_assoc($Recordset2);
$totalRows_Recordset2 mysql_num_rows($Recordset2);
?>

y muestro los resultados como:

Código PHP:
<?php do { ?>
      <a href="<?php echo $row_Recordset2['link']; ?>"><?php echo $row_Recordset2['titulo']; ?></a></br>
      <?php } while ($row_Recordset2 mysql_fetch_assoc($Recordset2)); ?>
el problema es que en lugar de listar los resultados (que son 3) me repite 3 veces el primero.

¿Alguien me puede ayudar?

Un Saludo
  #2 (permalink)  
Antiguo 06/06/2005, 19:04
 
Fecha de Ingreso: agosto-2004
Mensajes: 347
Antigüedad: 13 años, 3 meses
Puntos: 3
por cierto, el archivo que contiene esta consulta contiene otra (recordset1) que funciona correctamente
  #3 (permalink)  
Antiguo 06/06/2005, 19:12
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 14 años, 10 meses
Puntos: 10
no se si tendra que ver, pero estas repietiendo esto:

Código PHP:
$row_Recordset2 mysql_fetch_assoc($Recordset2); 
Proba borrando el que figura en el primer codigo
__________________
oohh... quisiera ser godines!!!
  #4 (permalink)  
Antiguo 06/06/2005, 19:22
 
Fecha de Ingreso: agosto-2004
Mensajes: 347
Antigüedad: 13 años, 3 meses
Puntos: 3
no, el problema persiste.

Lo más curioso es que aislando solo la consulta y el output en un arcivo, si que funciona, colocaré el código completo:

Código PHP:
<?php require_once('../Connections/portalma.php'); ?>
<?php
mysql_select_db
($database_portalma$portalma);
$query_Recordset1 "SELECT * FROM interes";
$Recordset1 mysql_query($query_Recordset1$portalma) or die(mysql_error());
$row_Recordset1 mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 mysql_num_rows($Recordset1);

$query_Recordset2 "SELECT * FROM interes_hija WHERE id_interes='1'";
$Recordset2 mysql_query($query_Recordset2$portalma) or die(mysql_error());
$row_Recordset2 mysql_fetch_assoc($Recordset2);
$totalRows_Recordset2 mysql_num_rows($Recordset2);
?>

 <div id="pageNav">
  <div id="topsubmenu">
    <img src="../images/submenutop.jpg" alt="" width="178" height="11"/></div>
    <div id="sectionLinks"> 
<?php do { ?>
      <a href="<?php echo $row_Recordset1['link']; ?>"><?php echo 

$row_Recordset1['titulo']; ?></a>
      <?php } while ($row_Recordset1 mysql_fetch_assoc($Recordset1)); ?>
   
 </div>   


      <div class="relatedLinks"> 
<?php do { ?>
      <a href="<?php echo $row_Recordset2['link']; ?>"><?php echo 

$row_Recordset2['titulo']; ?></a></br>
      <?php } while ($row_Recordset2 mysql_fetch_assoc($Recordset2)); ?>
    </div> 

 <div id="bottomsubmenu">
      <img src="../images/submenubottom.jpg" alt="" width="178" height="11"/></div>


</div>
Gracias por su ayuda
  #5 (permalink)  
Antiguo 07/06/2005, 03:44
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
... y solo por curiosidad... ¿el registro es único??... y si prueba limitando la consulta?:
Código:
SELECT * FROM interes_hija WHERE id_interes='1' LIMIT 0, 1
¿solo quieres recuperar un registro ¿no?

YO no veo nada en cuanto a programación que te haga tener un comportamiento indevido... ningún ciclo encerrando a otro (común) ni nada por el estilo... ¿por qué no manejas tus consultas de forma más independiente?:
1.- consulta 1
2.- imprime resultados
3.- consulta 2 (puedes hasta ocupar las mismas variabls.. incluso hacer un ciclo)
4.- imprimes resultados...

Temo no poder ayudar más...
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #6 (permalink)  
Antiguo 07/06/2005, 03:45
 
Fecha de Ingreso: agosto-2004
Mensajes: 347
Antigüedad: 13 años, 3 meses
Puntos: 3
gracias por la observación jam.

¿Alguien sabe como hacerlo?

Muchas gracias
  #7 (permalink)  
Antiguo 07/06/2005, 04:11
 
Fecha de Ingreso: agosto-2004
Mensajes: 347
Antigüedad: 13 años, 3 meses
Puntos: 3
No, lo que quiero es recuperar todos los registros (que por ahora son 3), pero lo que me hace es darme el primero 3 veces

Un saludo
  #8 (permalink)  
Antiguo 07/06/2005, 08:25
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 14 años, 10 meses
Puntos: 10
creo que deberias intentar aislar el problema.... intenta primero ejecutatar la consulta SQL directamente en tu base de datos (desde el phpmyadmin o la herramienta que te ofresca tu servidor). Si devuelve el resultado que estabas esperando, entonces prueba cambiando la forma en el que muestra el resultado por ejemplo:

Código PHP:
<?php  while($row_Recordset2 mysql_fetch_assoc($Recordset2)){ ?>
      <a href="<?php echo $row_Recordset2['link']; ?>"><?php echo $row_Recordset2['titulo']; ?></a></br>
      <?php ?>
__________________
oohh... quisiera ser godines!!!
  #9 (permalink)  
Antiguo 07/06/2005, 08:42
 
Fecha de Ingreso: marzo-2005
Mensajes: 9
Antigüedad: 12 años, 9 meses
Puntos: 0
Hola tu problema esta en que estas condicionando tu consulta a la primera fila:

$query_Recordset2 = "SELECT * FROM interes_hija WHERE id_interes='1'";

Simplemente quita el condicional WHERE:

$query_Recordset2 = "SELECT * FROM interes_hija";

Y recuperarás todos los registros de la tabla interes_hija; si tu intención es mostrar sólo los últimos registros puedes, como ya te han dicho, colocar un LIMIT.

Saludos
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 15:05.