Foros del Web » Programando para Internet » PHP »

Ordenar bien una consulta

Estas en el tema de Ordenar bien una consulta en el foro de PHP en Foros del Web. Bueno, andaba haciendo una pagina "random", y se me presento un problema, al mostrar los resultados con PHP, acá os dejo el código, para hacerme ...
  #1 (permalink)  
Antiguo 12/07/2012, 10:44
 
Fecha de Ingreso: diciembre-2011
Ubicación: Medellín
Mensajes: 68
Antigüedad: 12 años, 10 meses
Puntos: 7
Ordenar bien una consulta

Bueno, andaba haciendo una pagina "random", y se me presento un problema, al mostrar los resultados con PHP, acá os dejo el código, para hacerme explicar mejor.

HTML / PHP

Código:
<?php
	include('config.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="random.css" />
<title>Memes random</title>
<?php

	$consulta = mysql_query("SELECT * FROM entradas ORDER BY RAND() LIMIT 10", $conexion) or die("Se ha presentado un error."); 
	 
?> 
</head>
<body>
<div id="contenedor">
<?php
if(isset($_SESSION['username'])) {
?>
		<ul id='miembro'>
		<a href='index.php'><li class="nombreAlto">Bienvenido: <?php echo $_SESSION['username']; ?></li></a>
		<a href='cuenta.php'><li>Mi cuenta</li></a>
		<a href='subir.php'><li>Sube tu meme</li></a>
		<a href='cerrando.php'><li>Cerrar sesión</li></a>
		</ul>
<?php 
}
?> 
<div id="barra1">
<?php
	while($resultado=mysql_fetch_array($consulta)) {
		echo "<a href='$resultado[url]'><img src='$resultado[imagen]' /></a><br />$resultado[usuario]";
?>
</div>
<div id="barra2">
<?php
?>
</div>
<div id="barra3">
<?php

	}

?>	
</div>
</div>
</body>
</html>
CSS


Código:
@charset "utf-8";
/* CSS Document */

body {
	font-family:georgia, arial;
	font-size:16px;	
}

a {
	color:#FFF;	
	text-decoration:none;
}

#contenedor {
	text-align:center;	
}

#miembro {
	margin-bottom:40px;	
}

#miembro li{
	background-color:#000;
	border-radius:10px;
	display:inline-block;
	margin:0 5px;
	padding:10px 50px;	
}

#miembro li:hover {
	box-shadow:10px 10px 20px #C0C0C0;
	color:#F00;
	font-weight:bold;
	text-decoration:underline;
}

#miembro .nombreAlto {
	color:#FFF;
}	

#barra1, #barra2, #barra3 {
	background-color:#F1F1F1;
	border-radius:10px;
	display:inline-block;
	font-size:0.6em;
	min-height:400px;
	margin-left:10px;
	margin-right:10px;
	vertical-align:top;
	width:300px;
	word-wrap:break-word;
}


#contenedor img {
	border:10px solid #000;
	border-radius:10px;
	margin-bottom:15px;
	margin-top:15px;
	max-width:250px;	
}



#barra1:hover, #barra2:hover, #barra3:hover {
	background-color:#999;
	transition:all 1.5s;
	-ms-transition:all 1.5s;
	-o-transition:all 1.5s;
	-moz-transition:all 1.5s;	
	-webkit-transition:all 1.5s;
}

Bueno, mi único error solamente se presenta aquí:

Código:
<?php
	while($resultado=mysql_fetch_array($consulta)) {
		echo "<a href='$resultado[url]'><img src='$resultado[imagen]' /></a><br />$resultado[usuario]";
?>
</div>
<div id="barra2">
<?php
?>
</div>
<div id="barra3">
<?php

	}

?>
Lo que yo deseo hacer, es que la consulta a la base de datos, los resultados se repartan en las 3 columnas, limitando estas a 10:

Código:
$consulta = mysql_query("SELECT * FROM entradas ORDER BY RAND() LIMIT 10", $conexion) or die("Se ha presentado un error.");
Pero no se como insertarlos con el while en los 3 divs a la vez, y en eso es en lo que tengo dudas.

PD: Si resulta algo incomprensible lo que deseo transmitir, avisadme así trato de arreglar mejor el post .
  #2 (permalink)  
Antiguo 12/07/2012, 13:23
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 9 meses
Puntos: 55
Respuesta: Ordenar bien una consulta

puedes incluir un contador dentro del while y dependiendo el valro que tenga vas creando los divs.

Etiquetas: html, mysql, sql, usuarios
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:06.