Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Alterar select multiple

15-04-2010 16:10

Olá. Estou com uma dúvida. Já tentei várias coisas, mas não deu certo.
É o seguinte. Tenho na um banco com a tabela produtos. Netal tenho todos os dados. e lá no final tem um campo estados. Este campo eu posso selecionar mais que um estado por um select multiple. Até aí tudo legal estou inserindo, consigo deletar na boa.
Depois que faço o insert eu listo o resultado e neste liste tem a opção de alterar. Quando clico no alterar vai tudo para um formulário já preenchido com os dados para mim alterar o que quiser.
Todas as informações estão passando legal menos o estado.
Digamos que inserir um produto "X" e escolho para ele no select multiple, os estado São Paulo e Paraná por exemplo.
Quando clico em alterar, vai para o form com o campo produto já preenchido com o valor "X" mas o estado não fica selecionado nos valores São Paulo e Paraná. Entenderam?

Quando eu passo o valor do estado ele fica desta forma:

$estado = $_GET["estado"]; echo $estado //resulta em "São Paulo, Paraná" // Tentei usar o "explode" e "for", mas mesmo assim não rolou. O máximo que consegui aqui, foi pegar o último valor no caso do exemplo, "Paraná".

no form está assim:

<select multiple name="opcoes[]" id="txt_estados" class="inserircat" size="5" > <option value="">Selecione um estado</option> <?php $sql = "SELECT * FROM estados ORDER BY id_estado"; $qry = mysql_query($sql); while ($linha = mysql_fetch_array($qry)) {?> <option value="<?php echo $linha['estado'];?>"<?php if($linha['estado'] == $estado)/*Acredito que o meu problema está aqui, mas não consegui resolver.*/ echo "selected"?>><?php echo $linha['estado'];?></option> <?php } ?> </select>

Acho que é isso.
Até mais
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17584
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Alterar select multiple

15-04-2010 16:23

Eu já ví fazer a seleção da option com um valor, que segue nesse exemplo

http://www.codigosnaweb.com/forum/Valor ... 5_101.html
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Alterar select multiple

15-04-2010 16:39

Tá deixa eu fazer uma pergunta que estava pensando.
Se eu fizer isso aqui:

//Se eu pegar São Paulo e Paraná por exemplo. $estado = $_GET["estado"]; //Tá passando São Paulo, Paraná $result = explode(",", $estado); for($i=0; $i<count($result); $i++){ echo $result[$i]; $resultadofinal = $result[$i]; echo $resultadofinal;} //vai resultar em São PauloParaná // E no form não seleciona nada. //Mas seu eu alterar $resultadofinal = $result[1]; //Troca o $i por 1, reconhece a posição 1 que é São Paulo. E seleciona no form como eu queria. Mas não pega os outros, somente o da posição específica.

Form

//mudança no form. <option value="<?php echo $linha['estado'];?>"<?php if($linha['estado'] == $resultado) echo "selected"?>><?php echo $linha['estado'];?></option>

Não teria uma solução desta forma?

flw...
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17584
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Alterar select multiple

15-04-2010 17:15

Estuda esse exemplo, nele fiz um explode para selecionar a option com base nos valores, usando o explode para separar.

<select multiple> <?php $valor = "1,3"; $parte = explode(",", $valor); echo "<option value=\"1\" ".(in_array("1", $parte) ? "selected" : "").">1</option>"; echo "<option value=\"2\" ".(in_array("2", $parte) ? "selected" : "").">2</option>"; echo "<option value=\"3\" ".(in_array("3", $parte) ? "selected" : "").">3</option>"; ?> </select>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Mensagens: 166
Nome: Bruno Bandeira
Sexo: Masculino
Contato:

Alterar select multiple

15-04-2010 18:02

Solucao..
Chame uma a funcao, assim:

<body> <?php /* Por Bruno Bandeira www.reinove.com.br blog.reinove.com.br */ mysql_connect('xxxxxxxxx','xxxxxxxxxx','xxxxxxxxxx'); mysql_select_db('xxxxxxxxx'); function verifica($uf){ $estado = "PR,SP"; $num = count($estados = explode(",", $estado)); foreach($estados as $estado => $valor){ if($valor == $uf){ $sel = "selected"; } } return $sel; } ?> <select multiple name="opcoes[]" id="txt_estados" class="inserircat" size="5" > <option value="">Selecione um estado</option> <?php $sql = "SELECT * FROM lc_estados"; $res = mysql_query($sql); $num = mysql_num_rows($res); for ($i=0; $i < $num; $i++){ $uf = mysql_result($res, $i, 'uf'); ?> <option value="<?php echo $uf;?>" <?php echo verifica($uf); ?>> <?php echo $uf; ?> </option> <?php } ?> </select> </body>

Abraço
0
 
Mais de 100 postagens
Mais de 100 postagens
Mensagens: 166
Nome: Bruno Bandeira
Sexo: Masculino
Contato:

Alterar select multiple

15-04-2010 21:54

Depois avisa se conseguiu!
8)
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17584
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Alterar select multiple

15-04-2010 22:04

Fiz um teste aqui e não consegui rodar. Tipo, os valores devem vir por GET: estado1,estado2, esse script parece que só monta as options.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Mensagens: 166
Nome: Bruno Bandeira
Sexo: Masculino
Contato:

Alterar select multiple

16-04-2010 09:15

Ele monta os selects multiples e deixa selecionado os dados!
:rock:
No caso PR, SP
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17584
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Alterar select multiple

16-04-2010 09:44

Agora sim eu entendi aqui, tá certo o script. :lol:
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Mensagens: 166
Nome: Bruno Bandeira
Sexo: Masculino
Contato:

Alterar select multiple

16-04-2010 10:12

Blz. Deu certinho intao?
Achei que foi uma boa saida! Espero que nosso amigo consiga resolver seu problema!
Abraco a todos
:rofl:
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Alterar select multiple

16-04-2010 13:15

Galera é o seguinte. O código está correto eu acho. Mas o problema é que ele só pega o resultado se eu colocar o $result[0], daí ele seleciona somente o estado correspondente ao número 0 no caso do exemplo São Paulo. Já o Paraná não vem selecionado. Será que conseguimos resolver esta parada de outra forma?
//Se eu pegar São Paulo e Paraná por exemplo. $estado = $_GET["estado"]; //Tá passando São Paulo, Paraná $result = explode(",", $estado); for($i=0; $i<count($result); $i++){ echo $result[$i]; $resultadofinal = $result[$i]; echo $resultadofinal;} //vai resultar em São PauloParaná // E no form não seleciona nada. //Mas seu eu alterar [b]$resultadofinal = $result[0]; //Troca o $i por 1, reconhece a posição 1 que é São Paulo. E seleciona no form como eu queria. Mas não pega os outros, somente o da posição específica.[/b]

0
 
Mais de 100 postagens
Mais de 100 postagens
Mensagens: 166
Nome: Bruno Bandeira
Sexo: Masculino
Contato:

Alterar select multiple

16-04-2010 13:47

Seguinte, voce rebece os dados via GET
Ex: pagina.php?estados=SP,PR (certifique-se de que nao tenha espaco no envio por get)
Correto?

Coloque essa funcao:

function verifica($uf){ // nome da funcao que vai receber o parametro uf, quando a funcao for chamada $estado = $_GET['estados']; // a variavel $estado vai receber os valores enviados pela url, no caso o get $num = count($estados = explode(",", $estado)); // esse count eu coloquei so pra ver quantos valores retornariam foreach($estados as $estado => $valor){ // aqui eu percorro o array e pego o valor ($valor) if($valor == $uf){ // se o $valor for igual ao parametro passado $sel = "selected"; // a variavel $sel vai receber o valor 'selected' } } return $sel; // e vou retornar esse valor }

Depois disso monte seu select dinamicamente

<select multiple name="opcoes[]" id="txt_estados" class="inserircat" size="5" > <option value="">Selecione um estado</option> <?php $sql = "SELECT * FROM lc_estados"; // seleciono tudo da tabela que contem os estados $res = mysql_query($sql); $num = mysql_num_rows($res); // conto o numero de resultado que retornou for ($i=0; $i < $num; $i++){ // crio meu laco $uf = mysql_result($res, $i, 'uf'); // trago o valor de cada linha ?> <option value="<?php echo $uf;?>" <?php echo verifica($uf); //aqui eu chamo a funcao e passo o paramento, se for igual a um dos dois dados do array da funcao ele imprimi o selected ?>> <?php echo $uf; ?> </option> <?php } ?> </select>


Espero ter ajudado.
:geek:
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Alterar select multiple

16-04-2010 16:18

Valeu brunoban.
É isso mesmo que precisava. Funcionou bala.
Obrigado.
0
 
Mais de 100 postagens
Mais de 100 postagens
Mensagens: 166
Nome: Bruno Bandeira
Sexo: Masculino
Contato:

Alterar select multiple

16-04-2010 16:43

:rofl:
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17584
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Alterar select multiple

16-04-2010 19:09

MOVIDO: de PHP para MySQL
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Alterar select multiple

17-04-2010 00:11

Cara olha só a doidera agora. Nesta mesma sequência.
Quero saber se dá para fazer assim.
Tenho no form, um campo produto, o campo preço e tenho o campo estado pelo select multiple.
No campo produto eu tenho "Coca-Cola" por exemplo, Se no preço eu colocar assim: 10,50-20,50-30,50 e seleciono os estados: Santa Catarina,São Paulo e Paraná.
O 10,50 correponde a Santa Catarina; O 20,50 correponde a São Paulo; O 30,50 correponde a Paraná; Na sequencia mesmo.

Daí lá na minha home eu tenho uma session estado já funcionando que mostra somente os preços por estado.
Então eu estro na como sendo de santa catarina pela session, vai me listar o produto "Coca-Cola", como sendo de santa catarina. Isso consegui na boa. Mas para mostrar o valor R$ 10,50, como cadastrei acima no form. Isso é possível comparando um com o outro?

Home

//recebo da index por um select option o estado $estado=isset ($_SESSION["estado"])?$_SESSION["estado"]:""; Estes PRODUTOS são EXCLUSIVOS para você do estado: <?php echo $_SESSION['estado'];?> <?php //Usei o Like para fazer o select no campo estado na tabela produtos. $sql= "SELECT p.*, c.* FROM produtos p, categoria c WHERE p.id_categoria = c.id_categoria and p.estado LIKE '%".$_SESSION["estado"]."%'"; $qry_prod = mysql_query($sql); $qtde_registro = mysql_num_rows($qry_prod);

Então o meu problema agora é aqui. Será que conseguiria fazer o mesmo esquema do brunoban e depois fazer uma comparação.
Tipo se eu iniciei a session Santa Catarina, vai para home, faz o select pega o campo estado pelo LIKE e depois pega o preço pelo estado no LIKE e depois lista?

Hehe, meio doido não acham?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17584
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Alterar select multiple

17-04-2010 12:55

Você quer pegar o valor estado da Session, e comparar com os valores que já estão no BD, para obter o resultado relativo ao cadastrado?

Você tem que tentar com o LIKE, se você não tem um campo só para o estado?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Alterar select multiple

17-04-2010 18:27

No banco tenho a tabela produtos.
Nela tem o campo produto, o preco e o estado.

Cadastro o produto "Cerveja", por exemplo.
Campo Produto = Cerveja
Campo Preco = 2,50-3,00-3,50
Campo Estado = Santa Catarina,Paraná,São Paulo.

O produto é "cerveja" com:
preco 1 - 2,50 e estado 1 - Santa Catarina
preco2 - 3,00 e estado 2 - Paraná
preco 3 - 3,50 e estado 3 - São Paulo

Tudo certo até aqui.
Na minha index eu seleciono um estado por um select option. Que me direciona para a página principal e com a session deste estado que selecionei.

Eu seleciono Santa Catarina, por exemplo:
Na home inicia a session santa catarina e com um LIKE eu consigo puxar do banco somente os produtos que tenha no campo estado "Santa Catarina". Isso tá beleza com o cod abaixo:
$sql= "SELECT * FROM produtos WHERE estado LIKE '%".$_SESSION["estado"]."%'";

O problema é no preço. Com o select acima ele vai listar preço = 2,50-3,00-3,50.
Como disse acima cadastrei tipo em uma sequencia. O primeiro preco corresponde ao primeiro estado e assim por diante.
Não sei se consigue explicar melhor.

Então, na minha página principal, listo somente o produto cerveja que contem santa catarina com o LIKE, Isso beleza. Mas será que consigo pegar somente o preco que corresponde a santa catarina? No exemplo acima - 2,50?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17584
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Alterar select multiple

17-04-2010 18:45

Fiz um exemplo aqui.

São 2 arrays, 1 valor que é buscado em um deles. Quando o valor buscado for igual do array, mostra o array relacionado através do índice.

<?php $estado = "estado2"; $preco = Array(10, 20, 30); $estados = Array("estado1", "estado2", "estado3"); foreach($estados AS $indice => $acha) { if($acha==$estado) { echo $preco[$indice]; } } ?>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Alterar select multiple

17-04-2010 20:04

Cara vou te passar toda minha página home para você ver. Não consegui fazer como você me disse.
Quem sabe me diz o onde modificar.

<?php include "admin/connDB.php"; if(!isset($_SESSION)) { session_start(); } $pagina = $_GET["pagina"]; $estado=isset ($_SESSION["estado"])?$_SESSION["estado"]:""; ?> <!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> <link rel="stylesheet" type="text/css" href="estilos/Estilos.css" /> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title></title> </head> <body> <div id="destaques"> <h2>Estes PRODUTOS são EXCLUSIVOS para você do estado: <?php echo $_SESSION['estado'];?></h2> <?php $sql= "SELECT p.*, c.* FROM produtos p, categoria c WHERE p.id_categoria = c.id_categoria and p.estado LIKE '%".$_SESSION["estado"]."%'"; $qry_prod = mysql_query($sql); $qtde_registro = mysql_num_rows($qry_prod); $i = 0; //início da paginação if ($pagina=="") { $pagina=1; } $maximo=2; $inicio = $pagina-1; $inicio = $maximo*$inicio; $novo_sql = $sql ." ORDER BY rand() DESC LIMIT $inicio, $maximo"; $consulta = mysql_query($novo_sql); $produto_por_pagina = mysql_num_rows($consulta); //fim da paginação ?> <?php $sql_geral = mysql_query($novo_sql); while ($i < $produto_por_pagina) { ?> <ul class="prodg"> <li> <?php echo "<img class=prod src = admin/imagens/".@mysql_result($sql_geral,$i,foto).">"?><br /> <h1>Produto: <?php echo @mysql_result($sql_geral,$i,produto);?></h1> <h1 class="cod">Cod.: <?php echo @mysql_result($sql_geral,$i,codigo);?></h1> <h3 class="cod">R$ <?php echo @mysql_result($sql_geral,$i,preco);?></h3> <a href="inicial.php?link=8&id=<?php echo @mysql_result($sql_geral,$i,id_produto);?>"><img src="imagens/detalhes.jpg" alt="detalhes" title="+ detalhes" class="detalhes" /></a> <form action="insert.php" method="post" class="prod"> <fieldset> <label> <input type="image" name="imageField" src="imagens/orcar.jpg" class="orcar"/> </label> <input type="hidden" name="id_produto" id="id_produto" src="imagens/orcar.jpg" class="orcar" value="<?php echo @mysql_result($sql_geral,$i,id_produto)?>"/> <input type="hidden" name="codigo" id="codigo" src="imagens/orcar.jpg" class="orcar" value="<?php echo @mysql_result($sql_geral,$i,codigo)?>"/> <input type="hidden" name="funcao" id="funcao" value="inserir"/> </fieldset> </form> </li> </ul> <?php $i++; if ($i%3 == 0) echo "</br>";?> <?php } ?> <?php $menos = $pagina-1; $mais = $pagina+1; $p_ini = $mais-1; $p_ini = $maximo*$p_ini; $pg_sql = $sql ." LIMIT $p_ini, $maximo"; $consulta_pag = mysql_query($pg_sql); $p_total = mysql_num_rows($consulta_pag); $p=1; $pgs = $qtde_registro/$maximo; $formatado = number_format($pgs); if ($formatado < $pgs) { $formatado = $formatado+1; } ?> <div id="num"> <h1> <?php echo "<p align=left >"; while ($p<=$formatado) { if ($pagina == $p) { echo "<b>$p</b>"; } else { echo "<a href = \"inicial.php?link=1&id_cat=$id_cat&id_subcat=$id_subcat&pagina=$p\">$p</a>"; } $p++; } echo"</p>"; ?> </h1> </div> </div> </body> </html>

até...
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17584
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Alterar select multiple

17-04-2010 20:13

Não dá para se basear pelo seu script pelas consultas, etc..

Você falou que quando a pesquisa é por um produto, você retorna os valores em lista, e não dá para associar.

Note no exemplo que passei que você tem uma lista de produto e uma de preço, ambas em array.

O que você poderia fazer é primeiramente jogar esse script que indiquei em uma função. Ai você passa os preços e produtos da consulta para a função.

E no foreach você pega o preço do produto.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Alterar select multiple

18-04-2010 19:38

Seguinte. Consegui fazer + ou - o que eu queria.
Imaginem o código:
<?php include "admin/connDB.php"; if(!isset($_SESSION)) { session_start();} $estado = isset ($_SESSION["estado"])?$_SESSION["estado"]:""; $sqlteste = "SELECT * FROM produtos"; $qryteste = mysql_query ($sqlteste); while ($linhateste = mysql_fetch_array($qryteste)){ ?> <ul> <li> <?php $ttt = $linhateste['estado']; $ppp=$linhateste['preco']; ?> <?php $aaa = explode(",", $ttt); $bbb = explode("-", $ppp); foreach ($bbb as $key=>$val2){ if($aaa[$key]==$estado) {echo $aaa[$key]; $est = $aaa[$key]; } if( array_key_exists($key, $aaa) ){ if($aaa[$key]==$estado){ echo $bbb[$key]; $price = $bbb[$key]; }}} <?php } ?>

Está funcionando bala. Faz o select e se eu quando iniciou o session estado ele lista somente o estado da session com o preço corretamente.

Será que pode me ajudar a adaptar no meu código. Se é que é possível. Tem pagianação e tal.
Abaixo meu código completo:
<?php include "admin/connDB.php"; if(!isset($_SESSION)) { session_start(); } $pagina = $_GET["pagina"]; $estado = isset ($_SESSION["estado"])?$_SESSION["estado"]:""; //echo $estado; ?> <?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> <link rel="stylesheet" type="text/css" href="estilos/Estilos.css" /> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title></title> </head> <body> <div id="destaques"> <h2>Estes PRODUTOS são EXCLUSIVOS para você do estado: <?php echo $_SESSION['estado'];?></h2> <?php $sql= "SELECT p.*, c.* FROM produtos p, categoria c WHERE p.id_categoria = c.id_categoria and p.estado LIKE '%".$_SESSION["estado"]."%'"; $qry_prod = mysql_query($sql); $qtde_registro = mysql_num_rows($qry_prod); $i = 0; //início da paginação if ($pagina=="") { $pagina=1; } $maximo=2; $inicio = $pagina-1; $inicio = $maximo*$inicio; $novo_sql = $sql ." ORDER BY rand() DESC LIMIT $inicio, $maximo"; $consulta = mysql_query($novo_sql); $produto_por_pagina = mysql_num_rows($consulta); //fim da paginação ?> <?php $sql_geral = mysql_query($novo_sql); while ($i < $produto_por_pagina) { ?> <ul class="prodg"> <li> <?php echo "<img class=prod src = admin/imagens/".@mysql_result($sql_geral,$i,foto).">"?><br /> <h1>Produto: <?php echo @mysql_result($sql_geral,$i,produto);?></h1> <h1 class="cod">Cod.: <?php echo @mysql_result($sql_geral,$i,codigo);?></h1> <h3 class="cod">R$ <?php echo @mysql_result($sql_geral,$i,preco);?></h3> <a href="inicial.php?link=8&id=<?php echo @mysql_result($sql_geral,$i,id_produto);?>"><img src="imagens/detalhes.jpg" alt="detalhes" title="+ detalhes" class="detalhes" /></a> <form action="insert.php" method="post" class="prod"> <fieldset> <label> <input type="image" name="imageField" src="imagens/orcar.jpg" class="orcar"/> </label> <input type="hidden" name="id_produto" id="id_produto" src="imagens/orcar.jpg" class="orcar" value="<?php echo @mysql_result($sql_geral,$i,id_produto)?>"/> <input type="hidden" name="codigo" id="codigo" src="imagens/orcar.jpg" class="orcar" value="<?php echo @mysql_result($sql_geral,$i,codigo)?>"/> <input type="hidden" name="funcao" id="funcao" value="inserir"/> </fieldset> </form> </li> </ul> <?php $i++; if ($i%3 == 0) echo "</br>";?> <?php } ?> <?php $menos = $pagina-1; $mais = $pagina+1; $p_ini = $mais-1; $p_ini = $maximo*$p_ini; $pg_sql = $sql ." LIMIT $p_ini, $maximo"; $consulta_pag = mysql_query($pg_sql); $p_total = mysql_num_rows($consulta_pag); $p=1; $pgs = $qtde_registro/$maximo; $formatado = number_format($pgs); if ($formatado < $pgs) { $formatado = $formatado+1; } ?> <div id="num"> <h1> <?php echo "<p align=left >"; while ($p<=$formatado) { if ($pagina == $p) { echo "<b>$p</b>"; } else { echo "<a href = \"inicial.php?link=1&id_cat=$id_cat&id_subcat=$id_subcat&pagina=$p\">$p</a>"; } $p++; } echo"</p>"; ?> </h1> </div> </div> </body> </html>

Conseguindo fazer isso encerro meu projeto.
Desde já agradeço.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17584
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Alterar select multiple

18-04-2010 21:01

Aparentemente a alteração que você precisa é somente dentro do while, então porque não transforma todo esse trecho do código que deu certo em uma função, e faz só a chamada dentro do while? A paginação será independente disso.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Alterar select multiple

18-04-2010 23:40

Cara, tentei mas não rolou. Devo estar fazendo errado. Aparece todos os valores no lugar do preço.
Pode me dar um exemplo ou indicar onde mudar exatamente no meu código.
até.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17584
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Alterar select multiple

19-04-2010 08:44

Você disse que o trecho acima dentro do while funcionava, o que indiquei foi criar uma função com o trecho que funciona.

"Essa função não fica dentro do while"

function Trata_valor($valor1, $valor2, $valor3) { $ttt = $valor1; $ppp=$valor2; $aaa = explode(",", $ttt); $bbb = explode("-", $ppp); foreach ($bbb as $key=>$val2){ if($aaa[$key]==$estado) { return $aaa[$key]; $est = $aaa[$key]; } if( array_key_exists($key, $aaa) ){ if($aaa[$key]==$valor3){ return $bbb[$key]; $price = $bbb[$key]; } } } // fim da função

Pelo que ví você pega 3 valores externos, estado e preço da query e um outro estado, ai no array

Note na função acima que substitui esses valores pelos que serão passados no while a cada consulta.

echo Trata_valor($linhateste['estado'], $linhateste['preco'], $estado);

0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado