Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

graven

[RESOLVIDO] ao montar array php

Recommended Posts

saudações a todos...estou tentando montar o esquema abaixo...tenho um banco de dados, com descrições de vários carros, e alguns desses carros vão estar em promocao, bom, para saber os veiculos que estão em promocao, eu tenho um campo 'promocao' que será '1', deu pra sacar???ai eu vou ter que listar todos os items estão em promocao, E QUANDO CLICAR EM UM BOTAO <PASSAR> VOU TER QUE PERCORRER CADA UM DOS REGISTROS:::::e para isso tentei fazer um array, para depois percorrer cada indice do array, deu pra entenderessa foi a minha solução mas ta dando pau...$rs_prom = mysql_query("SELECT * FROM descricao WHERE promocao LIKE'1'",$conex);$con_prom = mysql_num_rows($rs_prom);$conteudo = "";for($x=0;$x<$con_prom;$x++){$conteudo .= '"'.mysql_result($rs_prom,$x,'id').'"';if($x <> $con_prom - 1){ $conteudo .= ','; }}$promocao = array($conteudo);echo $conteudo."<br><br>";echo $promocao[1].', '.$promocao[3];alguém sabe como ajudar neste esquema??????CASO TIVEREM ALGUMA OUTRA SOLUÇÂO, SERÁ BEM VINDA>>>valeu a todoscristian

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara não entendi o que voce quer se para listar todos do campo promoção que tem valor 1 ou é outra coisa tire essa duvida para que eu possa te ajudarValeu !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

a mihna dúvida é como colocar no array de forma certa todos os registros onde promocao = 1;valeu velho;;....

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo não entendi muito, mas ve se isso que você tá querendo..

 

$conexao = mysql_connect("localhost", "usuario", "12345678" );mysql_select_db("seubanco", $conexao) or die(mysql_error());  $consulta = mysql_query("SELECT * FROM descricao WHERE promocao = '1'") or die (mysql_error());while($linha = mysql_fetch_array($consulta)){echo $linha['nome_do_campo'];// aqui vai o nome do campo que você quer exibir.}

Compartilhar este post


Link para o post
Compartilhar em outros sites

nós estamos quase lá hehe...assim...essa é a minha tabela:::_________________________________________|_ID__|___PROMOCAO_|______CARRO________||__1__|________1_____|______Uno___________||__2__|______________|______Palio__________||__3__|________1_____|______Corcel_________||__4__|________1_____|______Corsa_________||__5__|______________|______Opala_________|---------------------------------------------------------bom, eu preciso pegar todos os carros onde o campo "promocao" é "1"e gravar a ID em um array...então nesse caso a array ficaria assimarray["1","3","4"]; //os carros referentes seriam Uno, Corcel, Corsa;PS: notem que nessa array eu listei as ID's...É BEM AQUI QUE EU TO ME APERTANDO, EM CRIAR ESSA ARRAYnão to conseguindo criar a array....valeu...Forte Abraço a todos...

Compartilhar este post


Link para o post
Compartilhar em outros sites

que eu saiba a função mysql_fetch_array gera um array com os resultados do bd. Não precisa formar array nenhum...

Compartilhar este post


Link para o post
Compartilhar em outros sites

só que o mysql_fetch_array gera uma array com os items do registro como [id, nome,caroo,promocao] sabe??...e o que eu preciso é gerar um array só com ids onde os campos "promocão" são igual a 1assim ["campo_id","campo_id","campo_id"];belz???valeu....

Compartilhar este post


Link para o post
Compartilhar em outros sites

pq você quer quardar o ID no nesse array que você disse ? qual o objetivo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

while($linha = mysql_fetch_array($consulta)){$arr[] = $linha['id'];}
trocando o while lá de cima por um novo

 

 

mesmo n fazendo sentido querer guardar soh o array o.O

Compartilhar este post


Link para o post
Compartilhar em outros sites

Concordo contigo Ninetails,

 

o array do bd vai ser uma matriz, é só buscar nas posições corretas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu quero montar esse array pq é a unica solução que eu achei para o meu problema...que é esse:::eu tenho aquela tabela que eu fiz logo acima....que vai ter varios carros, só que eu vou precisar listar todos os carros que estão em promocao (onde o campo "promocao" = "1");se eu listar todos, um embaixo do outro EU SEI FAZER, select * from bla where promocao='1';AQUI È QUE TA O PROBLEMA....eu vou ter que CLICAR em um BOTAO <<PRÒXIMO CARRO>> para ir para o PROXIMO REGISTRO que tem um carro em PROMOCAO, deu para sacar ::::e para isso achei mais facil colocar em uma array todos os carros que estão em promocao,para poder fazer um esquema de a +1 para passar para o proximo indice do array...caso voces tiverem um outra solucao será bem-vindavaleuuu..abraçoscristian

Compartilhar este post


Link para o post
Compartilhar em outros sites

humm acho que entendi, você está preocupado com a paginação, na hora que você for para outra página, ele mostrar as próximas promoções... isso mesmo ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

mais ou menos isso,é que eu vou ter que mostrar apenas um registro por vez...sacou ;)dai o cara vai lá, e clica em "Ver Proximo Carro em Promocao>", dai na mesma tela vai aparecer o proximo carro que estao em promocao...LEMBRANDO que os carros só estarao em promocao qund o campo promocao for "1";abraço velho

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora entendi.... acho que você não precisa criar um outro array...

eu ajudei outras pessoas em situações parecidas veja esses tópicos, monte a paginação como está no link 1

 

link 1

http://forum.imasters.com.br/index.php?showtopic=224300

 

link 2

http://forum.imasters.com.br/index.php?sho...mp;hl=paginação

 

ve se isso te ajuda, e posta ae.

Compartilhar este post


Link para o post
Compartilhar em outros sites

velho esse segundo me parece ser exatamente, o que eu precisomas vou ter que dar uma bela estudada nele, pq ta um pouco mais avancado do que meus conhecimentos.vou atualizando aqui no decorrer do funcioanamento...certo então velho forte abraço ai pela maoVelho, um xucro chasque bagual deste taura centauro e dos pagos gaúchos...Cristian...

Compartilhar este post


Link para o post
Compartilhar em outros sites

okay... tente fazer, e vai postando quando surgir dúvidas.. eu vou tentar montar um exemlo para você, para isso você podeira postar apenas o sql desejado! beleza.

 

OBS:

  Citar

Velho, um xucro chasque bagual deste taura centauro e dos pagos gaúchos...

http://forum.imasters.com.br/public/style_emoticons/default/yay.gif num entendi nada, mas tá bão.. http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

o sql que to usando ... $rs_prom = mysql_query("SELECT * FROM descricao WHERE prom LIKE'1'",$conex);$con_prom = mysql_num_rows($rs_prom);da uma olhada no link da pg das promocoes, por enquanto ainda ta listando todos, um ao lado do outro, mas a ideia é que a gente tinha falado, de aparecer 1 carro dai qunado clicar em proximo vai para o carro 2, e assim vaihttp://www.pianoauti.com.br/promocoes.php // essa é a paginaaqui vai a pagina zipada com os meus teste, caso te ajude em alguma coisahttp://www.pianoauti.com.br/promocoes.rar

  Citar

Velho, um xucro chasque bagual deste taura centauro e dos pagos gaúchos...

traduzindo
  Citar

Velho, um forte abraço meu e das terras do SUL...

valeu....

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloca ai em uma nova página, mudar os dados da conexão para o seu HOST, usuario, senha e o nome do banco, só para testar...

 

<?php//CONECTA COM O BANCO DE DADOS $conexao = mysql_connect("localhost", "usuario", "senha" ); mysql_select_db("banco", $conexao) or die(mysql_error());////////PAGINAÇÃO*//////////////////// defina o número de registros exibidos por página$num_por_pagina = 1;if (!$pagina) {   $pagina = 1;}$primeiro_registro = ($pagina*$num_por_pagina) - $num_por_pagina;//conta quantos resultados teve sua consulta$contar = "SELECT COUNT(*) descricao WHERE prom  = '1'";//essa consulta deve ser a mesma onde $consulta = SQL mais abaixo.list($total) = mysql_fetch_array(mysql_query($contar,$conexao));$total_paginas = $total/$num_por_pagina;$prev = $pagina - 1;$next = $pagina + 1;// se página maior que 1 (um), então temos link para a página anteriorif ($pagina > 1) {		$prev_link = "<a href=".$_SERVER['PHP_SELF']."?pagina=$prev\"><b>Anterior</b></a>";} else { // senão não há link para a página anterior$prev_link = "<font color=silver>Anterior</font>";}// se número total de páginas for maior que a página corrente, então temos link para a próxima páginaif ($total_paginas > $pagina) {		$next_link = "<a href=".$_SERVER['PHP_SELF']."?pagina=$next\"><b>Próxima</b>";} else { // senão não há link para a próxima página$next_link = "<font color=silver>Próxima</font>";}// vamos arredondar para o alto o número de páginas que serão necessárias para exibir todos os registros. Por exemplo, se temos 20 registros e mostramos 6 por página, nossa variável $total_paginas será igual a 20/6, que resultará em 3.33. Para exibir os 2 registros restantes dos 18 mostrados nas primeiras 3 páginas (0.33), será necessária a quarta página. Logo, sempre devemos arredondar uma fração de número real para um inteiro de cima e isto é feito com a função ceil().$total_paginas = ceil($total_paginas);$painel = "";for ($x=1; $x<=$total_paginas; $x++) {  if ($x==$pagina) { // se estivermos na página corrente, não exibir o link para visualização desta página	$painel .= " <strong>[$x]</strong> ";  } else {		$painel .= " <a href=".$_SERVER['PHP_SELF']."?pagina=$x\">[$x]</a>";  }}///////// FIM PAGINAÇÃO /////////////sua conulta e resultao aqui$consulta = ("SELECT * FROM descricao WHERE prom  = '1'  LIMIT $primeiro_registro, $num_por_pagina");$resultado = mysql_query($consulta , $conexao);//pegando o resultado da consulta e mostrando na tela.while($linha = mysql_fetch_array($resultado)){//exemplo 	echo $id = $linha['id'].' # ';echo $linha['carro'].'<br><BR>';}//fim do resultado/////// Exibe o painel de navegação, coloque ele onde deverá aprecer./////if ($total_paginas >=2){echo "$prev_link | $painel | $next_link <br>";}///////////// FIM PAINEL //////////////////////////////////////////////////?>

ai depois você vai arrumando, deixando do jeito que você achar melhor..

tenta ae..

Compartilhar este post


Link para o post
Compartilhar em outros sites

desculpa a demora...tava tendo um pouco de problemas com o funcionamento dos links, tava faltando um "FROM" no $contar = SELECT COUNT(*) descricao WHERE prom =agora ta funcionando belezada uma olhada no linkhttp://www.pianoauti.com.br/promocoes.phpclaro falta apenas alguns detalhes no layoutmas ficou perfeito agoravou ter que estudar bastante esse script pq tem bastante detalhesinhos, mas comlicado não é....valeu mesmo a mao velhoum forte abraçoai vai mais uma gaudéria.....

  Citar

Xucro chasque bagual deste taura fronteiro, um taita centauro de grei xirua e pura cepa que na anca do flete brasino redomão vagueia pelas coxilhas e ceros deste pago sulino onde o Minuano rusguento tironeia a venta CHEGA CHEGA...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.