Foros del Web » Programando para Internet » PHP »

PHP OO Php + Javascript

Estas en el tema de Php + Javascript en el foro de PHP en Foros del Web. Hola gente, como están? Soy Gaby, nueva en el foro... Los encontré buscando la solución a un problemita que se me presentó... Manejo lo básico ...
  #1 (permalink)  
Antiguo 28/04/2014, 08:30
 
Fecha de Ingreso: abril-2014
Ubicación: Concordia
Mensajes: 7
Antigüedad: 10 años
Puntos: 7
Php + Javascript

Hola gente, como están?
Soy Gaby, nueva en el foro...
Los encontré buscando la solución a un problemita que se me presentó...

Manejo lo básico (o quizá menos) de PHP... hago altas, bajas y modificaciones pero siguiendo un sitio ejemplo que hice hace un tiempo. El tema es que ahora una diseñadora me pidio un slide de fotos jquery (easyslider) pero que lea las fotos de la base... y me complicó.

Lo que hace el Easyslider es una lista de la siguiente forma:

Código:
<ul>
   <li> <img src="img/home-slide/foto2.jpg"/> </li>
   <li> <img src="img/home-slide/foto3.jpg"/> </li>
</ul>
Donde cada LI es una de las imagenes que corren en el slide...

Con este codigo yo logro que me lea de la base una foto por LI:

Código:
          
<ul>
        <?php while($row = mysql_fetch_array($result)) { ?>
        <li><img src="press/<?php echo ($row ['press']);?>"/></li>
        <?php } ?>
</ul>
Lo que yo quisiera es que... me muestre 3 fotos por li.
o sea.. que se abra el LI, me muestre 3 registros, cierre el li, abra otro y arranque de nuevo... hasta que ya no haya fotos q mostrar.
Supongo que yo q es con un bucle... pero no me sale! :(

Me podrán ayudar? se entendió la idea?

Gracias!!!
  #2 (permalink)  
Antiguo 28/04/2014, 09:58
 
Fecha de Ingreso: abril-2010
Ubicación: Peñaflor
Mensajes: 13
Antigüedad: 14 años
Puntos: 0
Respuesta: Php + Javascript

Facil, tienes que crear dos variables antes y ademas tener el total de elementos que vienen de la consulta, para que puedas hacer algo como esto .

Código PHP:
Ver original
  1. <ul>
  2.         <?php
  3.             $contador=1;$auxiliar=1;
  4.           while($row = mysql_fetch_array($result)) {
  5.            $total = count($row);
  6.          ?>
  7.          <?php if($auxiliar==1){ ?>
  8.               <li>
  9.         <?php } ?>
  10.       <img src="press/<?php echo ($row ['press']);?>"/>
  11.  
  12.         <?php if($auxiliar%3 || $contador==$total) {
  13.                      $auxiliar=0;
  14.          ?>
  15.                   </li>
  16.          <?php } ?>
  17.         <?php
  18.             $contador++;$auxiliar++;  
  19.          } ?>
  20. </ul>

Necesitas esos dos if para poder validar primero que sea el auxiliar igual a 1 y luego cierras con el auxiliar que debe tener resto 0 para poder agregar la etiqueta de cierre y vuelves a inicializar el auxiliar, si no te funciona me escribes,

Saludos.
  #3 (permalink)  
Antiguo 28/04/2014, 10:14
 
Fecha de Ingreso: abril-2014
Ubicación: Concordia
Mensajes: 7
Antigüedad: 10 años
Puntos: 7
Respuesta: Php + Javascript

Hola! Muchas gracias x tu respuesta...
me lee la foto de la base y me crea nuevos li, pero mi problema es que quiero que me muestre de a 3 fotos por li...

Cuando lo hago en html me queda así cada li.

Código:
            <li>
              <img src="img/reel/foto1.jpg" /><img src="img/reel/foto2.jpg" /><img src="img/reel/foto3.jpg" />
            </li>
me explico??
  #4 (permalink)  
Antiguo 28/04/2014, 13:00
 
Fecha de Ingreso: abril-2010
Ubicación: Peñaflor
Mensajes: 13
Antigüedad: 14 años
Puntos: 0
Respuesta: Php + Javascript

Cual es el codigo que tiene actualmente?, hiciste lo que puse arriba.

Saludos.
  #5 (permalink)  
Antiguo 28/04/2014, 13:18
 
Fecha de Ingreso: abril-2014
Ubicación: Concordia
Mensajes: 7
Antigüedad: 10 años
Puntos: 7
Respuesta: Php + Javascript

Sisi... hice lo que me pusiste arriba y me quedo así

<ul>
<?php
$contador=1;$auxiliar=1;
while($row = mysql_fetch_array($result)) {
$total = count($row);
?>
<?php if($auxiliar==1){ ?>
<li>
<?php } ?>
<img src="press/<?php echo ($row ['press']);?>"/>

<?php if($auxiliar%3 || $contador==$total) {
$auxiliar=0;
?>
</li>
<?php } ?>
<?php
$contador++;$auxiliar++;
} ?>
</ul>


http://www.gabybacigaluppe.com.ar/press.php Este es el archivo!
  #6 (permalink)  
Antiguo 28/04/2014, 14:54
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Php + Javascript

Reúne a todas las imágenes en un array, luego, utiliza la función array_chunk para separarlas en bloques de a 3 y luego procedes a imprimirlas.

Código PHP:
Ver original
  1. $imagenes = array();
  2. while ($row = mysql_fetch_array($result))
  3.     $imagenes[] = $row ['press'];
  4.  
  5. $bloques = array_chunk($imagenes, 3);
  6.  
  7. foreach ($bloques as $bloque){
  8.     echo "<li>";
  9.     foreach ($bloque as $foto){
  10.         echo "<img src = 'press/$foto' />";
  11.     }
  12.     echo "</li>";
  13. }

De este modo, se formarían bloques como estos:

Código HTML:
Ver original
  1. <li>
  2.     <img src = 'press/foto1.jpg' />
  3.     <img src = 'press/foto2.jpg' />
  4.     <img src = 'press/foto3.jpg' />
  5. </li>
  6.  
  7. <li>
  8.     <img src = 'press/foto4.jpg' />
  9.     <img src = 'press/foto5.jpg' />
  10.     <img src = 'press/foto6.jpg' />
  11. </li>
  12.  
  13. <li>
  14.     <img src = 'press/foto7.jpg' />
  15.     <img src = 'press/foto8.jpg' />
  16.     <img src = 'press/foto9.jpg' />
  17. </li>

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #7 (permalink)  
Antiguo 28/04/2014, 15:08
 
Fecha de Ingreso: abril-2014
Ubicación: Concordia
Mensajes: 7
Antigüedad: 10 años
Puntos: 7
Respuesta: Php + Javascript

Ayyy no te imaginás lo felíz que me acabas de hacer!!! jaja
Estoy peleando hace días y no había forma de encontrarle la solución...
Anduvo perfectoooo!

Muchisisisisimas gracias a los dossss!!!!!!
  #8 (permalink)  
Antiguo 07/05/2014, 09:45
 
Fecha de Ingreso: abril-2014
Ubicación: Concordia
Mensajes: 7
Antigüedad: 10 años
Puntos: 7
Respuesta: Php + Javascript

Estoy molestando de nuevo con lo mismo... me anduvo bárbaro!!
pero dentro de ese array, como puedo agregar tmb q me muestre la descripción de cada foto q tmb está en la base???
Perdoooon pero soy brutaa :(
  #9 (permalink)  
Antiguo 07/05/2014, 14:33
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Php + Javascript

Se me ocurren varias formas. Una de ellas sería usando un array asociativo para guardar los datos de la ruta de la imagen y la descripción en cada posición del array padre, luego, cuando muestres las imágenes, accedes a ellos por medio de índices.

Código PHP:
Ver original
  1. $imagenes = array();
  2. while ($row = mysql_fetch_array($result))
  3.     $imagenes[] = array('ruta' => $row ['press'], 'descripcion' => $row['descripcion']);
  4.  
  5. $bloques = array_chunk($imagenes, 3);
  6.  
  7. foreach ($bloques as $bloque){
  8.     echo "<li>";
  9.     foreach ($bloque as $foto){
  10.         echo "<img src = 'press/{$foto[ruta]}' />";
  11.         echo "<label>{$foto[descripcion]}</label>";
  12.     }
  13.     echo "</li>";
  14. }

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #10 (permalink)  
Antiguo 07/05/2014, 17:16
 
Fecha de Ingreso: abril-2014
Ubicación: Concordia
Mensajes: 7
Antigüedad: 10 años
Puntos: 7
Respuesta: Php + Javascript

Buenisimo Alexis, siempre listo :)

Estaría bien si modifico el código agregandole divs para q se muestre como yo quiero? (arriba de cada foto su descripcion) de esta forma...

<?php
$imagenes = array();
while ($row = mysql_fetch_array($result))
$imagenes[] = array('ruta' => $row ['press'], 'descripcion' => $row['descripcion']);

$bloques = array_chunk($imagenes, 3);

foreach ($bloques as $bloque){
echo "<li>";
foreach ($bloque as $foto){
echo "<div class='cuadro-foto'><img src = 'press/{$foto[ruta]}' width='314' height='390' /></div>";
echo "<div class='descripcion-press'>{$foto[descripcion]}</div>";
}
echo "</li>";
}
?>

Porque lo hago así y me pone todas las descripciones en la primer foto... y no me navega para nada. Es problema del php o lo q agregue no tiene nada q ver?
http://www.gabybacigaluppe.com.ar/press.php
  #11 (permalink)  
Antiguo 07/05/2014, 17:51
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Php + Javascript

Algo me dice que tiene que ver con los estilos, no creo que PHP tenga que ver en esto. Revisa tu hoja de estilos para que veas qué está causando esto. Y por favor, para postear código, usar el respectivo Highlight.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #12 (permalink)  
Antiguo 07/05/2014, 17:52
 
Fecha de Ingreso: abril-2014
Ubicación: Concordia
Mensajes: 7
Antigüedad: 10 años
Puntos: 7
Respuesta: Php + Javascript

Ay perdón :( Gracias de nuevo Alexis...
Saludos

Etiquetas: php+javascript+mysql
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 01:25.