Ir para conteúdo
Fórum Script Brasil
  • 0

Como alterar esse codigo


Ryumaru01

Pergunta

Ola estou iniciando meu caminho no PHP e gostaria de saber se alguém poderia me ajudar.

O que quero saber e como e que posso altear o codigo de paginalização abaixo pode fazer aparecer todos os dados da mysql com o paginalizador mostrando todos os links de alfabeticos so que pegando especificamente e montando a paginalização com a consulta do campo tipo já tentei usar esse requerimento em PHP SELECT * FROM `secoes` WHERE `tipo`='medias' so que na hora que fazia funcionar no caso o painel de letras so apareceia no caso a letra (M) pois pegava o tipo='medias' e colocava a letra M de Medias lincada e todos os conteudos da lista de medias nela e não e dessa forma que eu queria eu quero que pegue o conteudo pelo campo tipo e lista tudo mostrando todas as letras e com funcionamento da paginalização.

Gostaria de saber também como posso fazer esse codigo mostrar inicialmente o conteudo listado montrando de cara a primeira lista da primeira letra mostrada do menu alfabetico listado da esqierda pra direita tipo pois esse scritp so faz aparecer as letras quando o conteudo com com a letra Inicial for adicionada e gostaria que fizesse aparecer automaticamente isso.

Pois o caso e o seguinte eu estou montando um CMS de medias e tipo no caso na tabela secoes no campo tipo tem no caso essas definições Medias, Musicas e Wallpapers como podem ver abaixo no codigo da mysql

CREATE TABLE IF NOT EXISTS `secoes` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`nome` text NOT NULL,

`imagem` text NOT NULL,

`tipo` text NOT NULL,

`clicks` int(11) NOT NULL,

`link` text NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

O que quero saber como falei e como posso fazer o codigo abaixo de paginação com arrays e paginação ao mesmo tempo funcionar de forma que ele faça aparecer todas as letras de todos os itens definitos pelo campo tipo ou seja exemplo

Se a definição for posta pelo tipo Medias fazer aparecer todas as letras lincadas com todos os istens de # a Z que tem adicionado ao campo tipo pois o codigo atual so tem como fazer listagem somente da tabela inteira não tem como fazer listamento do campo usando o codigo php SELECT * FROM `secoes` WHERE `tipo`='medias' como falei pois ao integrar esse requerimento em php ao invez de fazer aparecer todas as letras com o sistema de paginação ativo faz aparecer somente a letra do nome do campo exemplo se colocar a definição como tipo medias ira aparecer somente o (M) lincado ai clicando no M aparece todos os itens relacionados que tem o tipo Medias mesmo começando com outras vogais como A, B, C e D e não e isso que eu quero que ele faça quero que o listamento faze aparecer todas as letras montando o sistema de arrays com links usando os intes por tipo montando toda a paginação separadamente espero que tenham me entendido no caso se usarem o codigo abaixo veram que ele so faz a consulta da tabela e não tem como fazer o listamento pegendo definição como eu quero alguém poderia me ajudar se possivel explicar detalhadamente uma vez que como falei sou nofato agradeço desde já.

<?

mysql_connect("localhost","usuario01", "1345787");

mysql_select_db("galeria");

$db = "secoes";

$coluna = "nome";

$Consulta = mysql_query(" SELECT UPPER(LEFT($coluna, 1)) inicial FROM $db GROUP BY inicial ORDER BY inicial") or die (mysql_error());

while ($rs = mysql_fetch_array($Consulta)) {

$aIniciais = $rs["inicial"];

$v = "<font style=font-family: Verdana,Tahoma,Arial,Helvetica,Sans-serif; font-size: xx-small; '>

<a href='?inicial&ini=$aIniciais'> $aIniciais</a></font>" ;

printf(" | $v ");

}

?></center><center>Selecione a seção desejada logo acima para que ela seja mostrada</center>

<?

$inicial2 = $_GET['ini];

$conta = mysql_query("select * from $db WHERE LEFT($coluna,1) = '$inicial2' order by $coluna ASC") or print (mysql_error());

$total = mysql_num_rows($conta);

// inicio paginação

function f_paginacao ($tr,$rpp,$pg) { // $tr é total_records e $rpp é registros por pagina

$inicial2 = $_GET['ini'];

if ($tr%$rpp==0){$pages = intval($tr / $rpp)-1;} else {$pages = intval($tr / $rpp);} // calcula quantas paginas serao necessarias

if ($tr>0){

echo "<center>Total de Registros Encontrados: <b>$tr</b></center>";

$NumRegistroInicial = ($pg*$rpp)+1;

if ($pg <> $pages) {$NumRegistroFinal = ($pg*$rpp)+$rpp;} else {$NumRegistroFinal = $tr;}

echo "<center>Exibindo Registros de <b>$NumRegistroInicial</b> a <b>$NumRegistroFinal</b></center>";

echo "<br>";

echo "<p align=\"center\">Páginas:&nbsp;&nbsp;&nbsp;&nbsp;";

if ($pg <> 0) {

$showpage = $pg - 1;

echo '<a id=mulink href='.$PHP_SELF.'??inicial&ini='.$inicial2.'&pg=0">Primeiro</a>&nbsp;';

echo '<a id=mulink href="'.$PHP_SELF.'??inicial&ini='.$inicial2.'&pg='.$showpage.'">Anteriores</a>&nbsp;';

}

for ($i = $pg-5; $i<$pg; $i++) {

$showpage=$i+1;

if ($i>=0) {

echo '<a id=mulink href="'.$PHP_SELF.'?inicial&ini='.$inicial2.'&pg='.$i.'">'.$showpage.'</a>';

echo '&nbsp;&nbsp;';

}

}

for ($i = $pg; ($i<=$pages AND $i<=($pg+5)); $i++) {

$showpage=$i+1;

if ($i == $pg) {

echo '<font face=Arial size=2 color=0000FF><b>'.$showpage.'&nbsp;&nbsp;</b></font>';}

else {

echo '<a id=mulink href="'.$PHP_SELF.'?inicial&ini='.$inicial2.'&pg='.$i.'">'.$showpage.'</a>';

echo '&nbsp;&nbsp;';

}

}

if ($pg < $pages) {

$showpage = $pg + 1;

echo '<a id=mulink href="'.$PHP_SELF.'?inicial&ini='.$inicial2.'&pg='.$showpage.'"> Próximas</a>';

echo '<a id=mulink href="'.$PHP_SELF.'?inicial&ini='.$inicial2.'&pg='.$pages.'"> Último</a>';

}

}

}

// FINAL DA FUNÇÃO DE PAGINAÇÃO

$dbname="neoxa508_ryumaneox"; // Indique o nome do banco de dados que será aberto

$usuario="neoxa508_neoxani"; // Indique o nome do usuário que tem acesso

$password="TCGQ3cWTR1FhF9wxGa"; // Indique a senha do usuário

//1º passo - Conecta ao servidor MySQL

$id = mysql_connect("localhost",$usuario,$password);

//2º passo - Seleciona o Banco de Dados

$con=mysql_select_db($dbname,$id);

//3º passo - Contar os registros da tabela

$sql_tr= mysql_query("select COUNT(*) as total from $db WHERE LEFT($coluna,1) = '$inicial2' ");

$res_tr= mysql_fetch_object($sql_tr);

$tr=$res_tr->total; //tr total de registros

if (isset($_GET[rpp])) {$rpp = $_GET[rpp];} else {$rpp = 5;} // $rpp é registros por pagina - o padrão é 10

if (isset($_GET[pg])) {$pg = $_GET[pg];} else {$pg = 0;}

$inicial = $pg * $rpp ;

$sql = "select * from $db WHERE LEFT($coluna,1) = '$inicial2' order by $coluna ASC LIMIT $inicial,$rpp";

$res = mysql_query($sql,$id);

f_paginacao($tr,$rpp,$pg);

?>

<center>

<table border="0" cellpadding="0" cellspacing="0" width="50%" align="center">

<?

if($resultadoposter = mysql_num_rows($conta)) // VERIFICA RESULTADO

{

$i = 0; // define o $i como 0 pra ter um ponto de partida pra coluna

echo "<tr>"; // inicia a pimeira linha

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

$nome = $row["nome];

$button = $row["button"];

$clicks = $row["clicks"];

$id = $row["id"];

if($i == 2) // se já tiver impresso as colunas

{

$i = 0; // reseta a contagem

echo "</tr>"; // quebra a linha com tr

} // IF i == Coluna

$i++; // e sempre adiciona +1 pra $i que significa a contagem

print(" <a href='painel/visualizar.php?tipo=media&id=$id'title='$nome - Cliques: $clicks'><img src='$button' width='88' height='31'border='0'></a>");

} // WHILE RST RST_SELECT

echo '</tr></tr>';

} // IF RST_SELECT

$dbname="galeria"; // Indique o nome do banco de dados que será aberto

$usuario="usuario01"; // Indique o nome do usuário que tem acesso

$password="1345787"; // Indique a senha do usuário

//1º passo - Conecta ao servidor MySQL

$id = mysql_connect("localhost",$usuario,$password);

//2º passo - Seleciona o Banco de Dados

$con=mysql_select_db($dbname,$id);

//3º passo - Contar os registros da tabela

$sql_tr= mysql_query("select COUNT(*) as total from $db WHERE LEFT($coluna,1) = '$inicial2' ");

$res_tr= mysql_fetch_object($sql_tr);

$tr=$res_tr->total; //tr total de registros

if (isset($_GET[rpp])) {$rpp = $_GET[rpp];} else {$rpp = 5;} // $rpp é registros por pagina - o padrão é 10

if (isset($_GET[pg])) {$pg = $_GET[pg];} else {$pg = 0;}

$inicial = $pg * $rpp ;

$sql = "select * from $db WHERE LEFT($coluna,1) = '$inicial2' order by $coluna ASC LIMIT $inicial,$rpp";

$res = mysql_query($sql,$id);

f_paginacao($tr,$rpp,$pg);

?>

Editado por Ryumaru01
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...