Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: LogMare en 25 Junio 2008, 02:46 AM

Título: pagina De registros Duda
Publicado por: LogMare en 25 Junio 2008, 02:46 AM
Hola

El siguiente codigo que voy a mostrar tiene un problema de orden. lo que hace es crear un registro de la pagina, es decir, cuando yo le agrego cualquier cosa a la base de datos este, me lo interpreta en una pagina php, pero me lo va haciendo de este modo.

Al agregar por primera ves supongamos dracula este me lo coloca en 1er lugar asi

1 = dracula

Luego cuando agrego por ejemplo hola a la base de datos este, en lugar de agregarmelo  en el lugar primero lo que hace es agregarmelo en 2do lugar de este modo

1 = dracula
2 = hola

lo que quiero es lo contrario que cuando yo vaya agregando informacion este codigo me lo vaya poniendo en primer lugar, y la demas informacion se valla para abajo.

Este es el codigo

<?php
include ("conexion.php");

######Configuración#######
                         #
$paginas 3;            #
$tabla "registros";    #
                         #
##########################

$actual = (!isset ($pg))?1:$pg;
$sql mysql_query ("SELECT * FROM ".$tabla."");
$total mysql_num_rows ($sql);
if (
$actual == 1) {
$desde "0";
}
elseif (
$actual != 1) {
$desde $actual $paginas $paginas;
}
$tp = ($total $paginas);
if (
strstr($tp,'.')){ 
$tp explode (".",$tp);
$tp = ($tp[0]+1);
}
$resp mysql_query ("SELECT * FROM ".$tabla." ORDER BY id LIMIT ".$desde.",".$paginas."");

while (
$row mysql_fetch_array ($resp)) {

//Aqui parte la parte de modificación

echo "Registro: ".$row["nombre"]."<br>";

//Aqui termina xD

}
$pag = ($tp == 1) ? página páginas;
$reg = ($total == 1) ? registro registros;
?>

<br>Encontrados <b><?=$total?></b> <?=$reg?> en <b><?=$tp?></b> <?=$pag?><br>
<?php
$anterior 
true;
$siguiente true;
if ((
$actual == 1) AND ($actual == $tp)) {
$anterior false;
$siguiente false;
}
elseif (
$actual == $tp) {
$anterior true;
$siguiente false;
}
elseif (
$actual == 1) {
$anterior false;
$siguiente true;
}
if (
$anterior) {
echo 
"<a href=\"pagina.php?pg=".($actual-1)."\">&lt; Página anterior</a> | ";
}
else {
echo 
"|";
}
for (
$i 1$i <= $tp;$i++) {
if (
$i == $actual) {
echo 
" <b>".$i."</b> | ";
}
else {
echo 
"<a href=\"pagina.php?pg=".$i."\"> ".$i."</a> |";
}
}
if (
$siguiente) {
echo 
" <a href=\"pagina.php?pg=".($actual+1)."\"> Página siguiente &gt;</a>";
}
?>


Espero me puedan echar una manita

salu2!!
Título: Re: pagina De registros Duda
Publicado por: Ertai en 25 Junio 2008, 12:32 PM
En tu SQL tienes un ORDER BY sin especificar si es ASC o DESC

Código (php) [Seleccionar]

$resp = mysql_query ("SELECT * FROM ".$tabla." ORDER BY id DESC LIMIT ".$desde.",".$paginas."");


Pruebalo.
Título: Re: pagina De registros Duda
Publicado por: LogMare en 27 Junio 2008, 04:45 AM
Hola

Muchas Gracia Por Resonder.

Si era lo que estaba intentando pero al parecer no me deja si tengo dos peticiones a mysql_query. Mira

en esta

$actual = (!isset ($pg))?1:$pg;
$sql = mysql_query ("SELECT * FROM ".$tabla."");
$total = mysql_num_rows ($sql);
if ($actual == 1) {


y en esta

$resp = mysql_query ("SELECT * FROM ".$tabla." ORDER BY id LIMIT ".$desde.",".$paginas."");

while ($row = mysql_fetch_array ($resp)) {


Ademas si cambio LIMIT por desc o asc me da error.

Segun yo es por las dos peticiones que hago pero no estoy seguro.

Espero me puedas ayudar

salu2!!! y gracias
Título: Re: pagina De registros Duda
Publicado por: LogMare en 27 Junio 2008, 05:03 AM
Hola

Perdon Pero ya encontre mi error JaJa
No vi bien tu codigo era agregar DESC LIMIT juntos JJe

mucuhas Gracias!!

salu2!!