Foros del Web » Programando para Internet » PHP »

como hacer un for??

Estas en el tema de como hacer un for?? en el foro de PHP en Foros del Web. estimados estoy desarrollando una web de noticias y quisiera hacer que me cargue dinamicamente una cantidad X. Obtengo los datos de la db en un ...
  #1 (permalink)  
Antiguo 08/11/2014, 08:39
 
Fecha de Ingreso: febrero-2011
Ubicación: Azul
Mensajes: 12
Antigüedad: 13 años, 2 meses
Puntos: 0
Pregunta como hacer un for??

estimados estoy desarrollando una web de noticias y quisiera hacer que me cargue dinamicamente una cantidad X.

Obtengo los datos de la db en un array y quisiera hacer un bucle for(creo que es el mejor??) me podrian ayudar??

Aca les dejo el codigo: el for arrancaria desde la 4ta noticia.

<div class="col-md-10" style="padding:0; margin:0;">
<!--Primer Noticia-->
<div class="col-md-8">
<div id="<?php echo obtenerEstilos(obtenerSeccionDoble($portadita[5],$secciones)); ?>">
<h6 style="float:left;"><?php echo obtenerSeccionDoble($portadita[5],$secciones);?></h6>
<div class="fb-share-button" data-href="nota.php?id=<?php echo $portadita[0];?>"></div>
<a style="float:right; margin-left:2px;" data-href="https://www.facebook.com/dialog/feed?app_id=404023909670002&link=http%3A%2F%2Fnota .php?id=<?php echo $portadita[0];?>" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('iconos_sociales','','im g/facebook_2.png',1)">
<img src="img/facebook_1.png" width="30" height="30" id="iconos_sociales">
</a>
<a target="_blank" style="float:right; margin-left:2px; margin-right:5px;" href="www.twitter.com" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('twitter','','img/twitter_2.png',1)">
<img src="img/twitter_1.png" width="30" height="30" id="twitter"></a>
<div style="clear:both"></div>
</div>
<span>
<?php echo $portadita[1];?>
</span>
<h1>
<a href="nota.php?id=<?php echo $noticias[0][0];?>" style="color:#000"><?php echo $portadita[2];?></a>
</h1><spam>
<?php echo $portadita[3];?>
</spam>
<?php
$imagenes = obtenerImagenes($portadita[6]);
echo "<a href='nota.php?id=".$portadita[0]."'><img src='panel/noticias/imagenes/".$imagenes[0]."' width='95%'></a>";
?></div><!--Fin Primer Noticia-->
<!--Segunda Noticia-->
<div class="col-md-4">
<div id="<?php echo obtenerEstilos(obtenerSeccionDoble($noticias[1][5],$secciones)); ?>">
<h6 style="float:left;"><?php echo obtenerSeccionDoble($noticias[1][5],$secciones);?></h6>
<a target="_blank" style="float:right; margin-left:2px;" href="www.facebook.com" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('face2','','img/facebook_2.png',1)">
<img src="img/facebook_1.png" width="30" height="30" id="face2">
</a>
<a target="_blank" style="float:right; margin-left:2px; margin-right:5px;" href="www.twitter.com" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('twitter2','','img/twitter_2.png',1)">
<img src="img/twitter_1.png" width="30" height="30" id="twitter2">
</a>
<div style="clear:both"></div>
</div><span>
<?php echo $noticias[1][1];?>
</span>
<h4>
<a href="nota.php?id=<?php echo $noticias[1][0];?>" style="color:#000"><?php echo $noticias[1][2];?></a>
</h4>
<?php
$imagenes = obtenerImagenes($noticias[1][6]);
echo "<a href='nota.php?id=".$noticias[1][0]."'><img src='panel/noticias/imagenes/".$imagenes[0]."' width='95%'></a>";
?><br/><br/>
<spam>
<?php echo $noticias[1][3];?> </spam>
<!--Fin Segunda Noticia-->
<!--Tercera Noticia-->
<div id="<?php echo obtenerEstilos(obtenerSeccionDoble($noticias[2][5],$secciones)); ?>">
<h6 style="float:left;"><?php echo obtenerSeccionDoble($noticias[2][5],$secciones);?></h6>
<a target="_blank" style="float:right; margin-left:2px;" href="www.facebook.com" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('face3','','img/facebook_2.png',1)">
<img src="img/facebook_1.png" width="30" height="30" id="face3">
</a>
<a target="_blank" style="float:right; margin-left:2px; margin-right:5px;" href="www.twitter.com" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('twitter3','','img/twitter_2.png',1)">
<img src="img/twitter_1.png" width="30" height="30" id="twitter3">
</a>
<div style="clear:both"></div>
</div>
<span>
<?php echo $noticias[2][1];?>
</span>
<h3 style="padding-top:0px; margin-top:0; margin-botton:0;">
<a href="nota.php?id=<?php echo $noticias[2][0];?>" style="color:#000; line-height: 1em;"><?php echo $noticias[2][2];?></a>
</h3>
<?php
$imagenes = obtenerImagenes($noticias[2][6]);
echo "<a href='nota.php?id=".$noticias[2][0]."'><img src='panel/noticias/imagenes/".$imagenes[0]."' width='85%' style='margin-left:5%;'></a>";?>
</div>
<!--Fin Tercer Noticia-->
<!-- Fin Noticias Primer Fila-->
<div style="clear:both; margin:1%"></div><br/><br/>
<div class="col-md-4"><!-- Inicio Noticias Primer Columna-->
<!--=Cuarta Noticia-->
<div id="<?php echo obtenerEstilos(obtenerSeccionDoble($noticias[3][5],$secciones)); ?>">
<h6 style="float:left;"><?php echo obtenerSeccionDoble($noticias[3][5],$secciones);?></h6>
<a target="_blank" style="float:right; margin-left:2px;" href="www.facebook.com" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('face4','','img/facebook_2.png',1)">
<img src="img/facebook_1.png" width="30" height="30" id="face4">
</a>
<a target="_blank" style="float:right; margin-left:2px; margin-right:5px;" href="www.twitter.com" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('twitter4','','img/twitter_2.png',1)">
<img src="img/twitter_1.png" width="30" height="30" id="twitter4">
</a>
<div style="clear:both"></div>
</div>
<spam>
<?php echo $noticias[3][1];?> </spam>
<h4>
<a href="nota.php?id=<?php echo $noticias[3][0];?>" style="color:#000"><?php echo $noticias[3][2];?></a>
</h4>
<?php
$imagenes = obtenerImagenes($noticias[3][6]);
echo "<a href='nota.php?id=".$noticias[2][0]."'><img src='panel/noticias/imagenes/".$imagenes[0]."' width='95%'></a>";
?>
<spam>
<?php echo $noticias[3][3];?>
</spam>
<!--Fin Cuarta Noticia-->
<br/><br/>
</div><!-- Fin Noticias Primer Columna-->
<div class="col-md-4"><!-- Inicio Noticias Segunda Columna-->
<!--Quinta Noticia-->
<div id="<?php echo obtenerEstilos(obtenerSeccionDoble($noticias[4][5],$secciones)); ?>">
<h6 style="float:left;"><?php echo obtenerSeccionDoble($noticias[4][5],$secciones);?></h6>
<a target="_blank" style="float:right; margin-left:2px;" href="www.facebook.com" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('face8','','img/facebook_2.png',1)">
<img src="img/facebook_1.png" width="30" height="30" id="face8">
</a>
<a target="_blank" style="float:right; margin-left:2px; margin-right:5px;" href="www.twitter.com" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('twitter8','','img/twitter_2.png',1)">
<img src="img/twitter_1.png" width="30" height="30" id="twitter8">
</a>
<div style="clear:both"></div>
</div>
<spam>
<?php echo $noticias[4][1];?>
</spam>
<h4>
<a href="nota.php?id=<?php echo $noticias[4][0];?>" style="color:#000"><?php echo $noticias[4][2];?></a>
</h4>
<?php
$imagenes = obtenerImagenes($noticias[4][6]);
echo "<a href='nota.php?id=".$noticias[4][0]."'><img src='panel/noticias/imagenes/".$imagenes[0]."' width='95%'></a>";
?>
<spam>
<?php echo $noticias[4][3];?>
</spam>
<!--Fin Quinta Noticia-->
<br/><br/>
</div> <!--Fin Segunda Columna Noticia-->
<div class="col-md-4"><!--Inicio Tercer Columna Noticia-->
<!--Sexta Noticia-->
<div id="<?php echo obtenerEstilos(obtenerSeccionDoble($noticias[5][5],$secciones)); ?>">
<h6 style="float:left;"><?php echo obtenerSeccionDoble($noticias[5][5],$secciones);?></h6>
<a target="_blank" style="float:right; margin-left:2px;" href="www.facebook.com" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('face12','','img/facebook_2.png',1)">
<img src="img/facebook_1.png" width="30" height="30" id="face12">
</a>
<a target="_blank" style="float:right; margin-left:2px; margin-right:5px;" href="www.twitter.com" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('twitter12','','img/twitter_2.png',1)">
<img src="img/twitter_1.png" width="30" height="30" id="twitter12">
</a>
<div style="clear:both"></div>
</div>
<spam>
<?php echo $noticias[5][1];?> </spam>
<h4>
<a href="nota.php?id=<?php echo $noticias[5][0];?>" style="color:#000"><?php echo $noticias[5][2];?></a>
</h4>
<?php
$imagenes = obtenerImagenes($noticias[5][6]);
echo "<a href='nota.php?id=".$noticias[5][0]."'><img src='panel/noticias/imagenes/".$imagenes[0]."' width='95%'></a>";
?>
<spam>
<?php echo $noticias[5][3];?>
</spam>
<!--Fin Sexta Noticia-->
<br/><br/>
</div>
<!--Fin Decima Quinta Noticia-->

Muchas Gracias!!!
  #2 (permalink)  
Antiguo 08/11/2014, 09:03
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: como hacer un for??

Puedes utilizar cualquier estructura repetitiva. Particularmente, utilizo un While.

Código PHP:
Ver original
  1. //Realizo la conexión
  2. $conexion = mysqli_connect('servidor', 'usuario', 'contraseña', 'base_de_datos');
  3.  
  4. //Si no se realiza la conexión, muestro un mensaje y termino la ejecución del script
  5. if (!$conexion) exit ('No se pudo conectar: ' . mysqli_connect_error());
  6.  
  7. //Si todo va bien, elaboro la consulta
  8. $consulta = 'SELECT nombre, apellido FROM personas';
  9.  
  10. //Ejecuto la consulta o termino el script si se produce un error
  11. $query = mysqli_query($conexion, $consulta) or exit ('No se pudo ejecutar la consulta: ' . mysqli_connect_error());
  12.  
  13. //Si la consulta es exitosa y devuelve resultados
  14. if (mysqli_num_rows($query)){
  15.     //Utilizo un bucle para mostrarlos
  16.     while ($row = mysqli_fetch_array($query)){
  17.         echo 'Nombre: ' . $row['nombre'];
  18.         echo 'Apellido: ' . $row['apellido'];
  19.     }
  20.     //Terminado el proceso, libero a la memoria de los resultados obtenidos
  21.     mysqli_free_result($query);
  22. }
  23. //Si la consulta es exitosa pero no devuelve resultados
  24. else{
  25.     echo 'No se obtuvieron resultados';
  26. }
  27.  
  28. //Cierro la conexión
  29. mysqli_close($conexion);

Y solo como una recomendación, cuando vayas a publicar código, asegúrate de mostrar solo la parte crítica del problema, no es necesario que pongas todo, además, es mejor si usaras el highlight respectivo para que el código sea más legible, así será más fácil ayudarte.

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
  #3 (permalink)  
Antiguo 08/11/2014, 09:17
 
Fecha de Ingreso: febrero-2011
Ubicación: Azul
Mensajes: 12
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: como hacer un for??

Gracias Alexis88 por tu respuesta y tu recomendación.

traigo los resultados de la db en un array y necesitaría que el bucle empiece después del 4 resultado que traigo del array. porque los primeros 3 los muestro diferentes por una cuestión de diseño.

gracias
  #4 (permalink)  
Antiguo 08/11/2014, 10:04
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: como hacer un for??

Podrías hacer esto:

Código PHP:
Ver original
  1. $array = array();
  2. $array1 = array();
  3. $array2 = array();
  4.  
  5. while ($row = mysqli_fetch_array($query)){
  6.     $array[] = array('nombre' => $row['nombre'], 'apellido' => $row['apellido']);
  7. }
  8.  
  9. $array1 = array_slice($array, 0, 3);
  10. $array2 = array_slice($array, 3);

La función array_slice, extrae la parte de un array, indicando la posición de partida de la porción y la cantidad de elementos a extraer. Si no se especifica este último dato, se toman todos los elementos a partir de la posición indicada. En el ejemplo, lleno a $array con los datos de la BD agrupados en arrays, para seguir manteniendo la asociación de arrays. Luego, tomo a los tres primeros elementos del array y los asigno a $array1 y los siguientes a $array2. Teniendo esto, puedes utilizar cualquier bucle para mostrar los elementos de ambos arrays.

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
  #5 (permalink)  
Antiguo 10/11/2014, 14:00
 
Fecha de Ingreso: febrero-2011
Ubicación: Azul
Mensajes: 12
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: como hacer un for??

Gracias Alexis88.

Disculpame pero no tengo mucho conocimiento y no estoy llegando a entender lo que me quieres explicar.

Saludos
  #6 (permalink)  
Antiguo 10/11/2014, 16:25
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: como hacer un for??

Si me dice qué es lo que no entiendes, probablemente te pueda ayudar.
__________________
«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 12/11/2014, 06:07
 
Fecha de Ingreso: febrero-2011
Ubicación: Azul
Mensajes: 12
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: como hacer un for??

Alexis88 gracias por tu atención, nose como volcar tu explicación a mi cogido, intente hacer algo y me tira error por todos lados jeje, vos no lo podrás transformar y pasármelo. Gracias

Etiquetas: Ninguno
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 11:16.