Ver Mensaje Individual
  #4 (permalink)  
Antiguo 05/12/2013, 09:25
raulgranadosraul
 
Fecha de Ingreso: julio-2013
Mensajes: 174
Antigüedad: 10 años, 9 meses
Puntos: 1
Respuesta: Slide con datos de dos tablas distintas

Cita:
Iniciado por Triby Ver Mensaje
Si la cantidad de frases es igual a la de imágenes, entonces al finalizar el ciclo (donde incrementas el contador) solo asigna nuevamente $row_Recordset2, tal vez sería algo como:
$row_Recordset2 = mysql_fetch_assoc($Recordset2);

Por cierto, aparte de que la librería mysql ya es obsoleta y deberías usar mysqli o PDO, creo que hay muchas cosas por mejorar en tu código, por ejemplo:

1- No es necesario recorrer los registros de la primera consulta para armar los enlaces y luego rebobinar el apuntador con mysql_data_seek, en su lugar, puedes usar:

Código PHP:
Ver original
  1. for($contador = 1; $contador <= mysql_num_rows($Recordset1); $contador ++) {
  2.       // Aquí los <li> con sus respectivos enlaces
  3. }

2- En lugar de leer la consulta con mysql_fetch_assoc() y después tener un bucle do {} while(condición); podrías hacerlo directamente con while(condición) {}

Código PHP:
Ver original
  1. $contador = 1;
  2. while($row_Recordset1 = mysql_fetch_assoc($Recordset1)) {
  3.     // Aquí muestras la imagen
  4.     // Aquí lees la frase con mysql_fetch_assoc() y la muestras
  5.     $contador ++;
  6. }

3- O mejor aún, si requieres el contador, puedes hacer el for igual al anterior

Código PHP:
Ver original
  1. for($contador = 1; $contador <= mysql_num_rows($Recordset1); $contador ++) {
  2.       $row_Recordset1 = mysql_fetch_assoc($Recordset1)
  3.     // Aquí muestras la imagen
  4.     // Aquí lees la frase con mysql_fetch_assoc() y la muestras
  5. }

Gracias por la respuesta. Aún no se ha solucionado. He arreglado el código como me dijiste y me hace la misma acción, hace el slide con las imágenes bien pero siempre aparece la primera frase. Cuando le coloco un do-while a la parte donde se muestran las frases no funciona, asi es como tengo el código ahora:


Código HTML:
<div id="featured" >
    <ul class="ui-tabs-nav">
    <?php for($contador = 1; $contador <= mysql_num_rows($Recordset1); $contador ++) { ?>
        <li class="ui-tabs-nav-item ui-tabs-selected" id="nav-fragment-<?php echo $contador; ?>">
            <a href="#fragment-<?php echo $contador; ?>">
            </a>
        </li>
    <?php } ?>
    </ul>
        <!-- First Content -->
        <?php $contador=1;
        while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)) { ?>
        <div id="fragment-<?php echo $contador; ?>" class="ui-tabs-panel" style="">
            <img src="../includes/slider/<?php echo $row_Recordset1['strImagen']; ?>" alt="" width="330px" height="330px" />
            <div class="info" >
                <p style="color:#600" align="center">
                  <?php echo $row_Recordset2['strFrase']; ?>
                  </p>
                <p style="color:#600; margin-top:-15px" align="right" >
                  <strong><em>- <?php echo $row_Recordset2['strAutor']; ?> -</em></strong>
                  </p>
              </div>
        </div>
        <?php 
        $contador++;
        } ?>
    </div> 

¿Dónde he de colocarlo?
Gracias una vez más.