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

Terça Ferira Ja Chegando, Me Ajude....


Guest Atrasado

Pergunta

Bom Dia..... wink.gif

Tenho o seguinte problema em maos...

Tenho um LISTBOX dinamico, ou seja tanto o conteudo do LISTBOX quanto a quantidade de LISTBOX são variveis...

Tudo funciona relativamente Bem, ate o INSERT que so ta pegando o conteudo do ultimo LISTBOX e inserindo em todos os campos da tabela...

O COD é ESSE:

<?

// $le e igual a um numero variavel de um ate quadro...

for($um=0;$um<$le;$um++){

echo "<select name='l1'>";

$exec = mysql_query("SELECT * FROM page_mod");

$linha = mysql_num_rows($exec);

for($u=0;$u<$linha;$u++){

$mod_cod = mysql_result($exec,$u,"page_mod_cod");

$mod_nome = mysql_result($exec,$u,"page_mod_nome");

echo "<option value='$mod_cod; '>$mod_nome</option>";

}

echo "</select>";

if ($botao){

//echo $l1;

$sql_le = "INSERT INTO lado_esquerdo VALUES ('','$l1','usuario','$data') ";

$query = mysql_query($sql_le);

}

}

?>

unsure.gif alguém PODE ME AJUDAR ?

TENHO QUE ENTREGAR ISSO A TE TERÇA FEIRA sad.gif

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

É simples, cara, você tá executando a query de INSERT fora do laço do for.

Então ele vai atualizando as variáveis e não faz nada, até chegar no último; quando chega no último ele pára de atualizar o valor das variáveis e aí você está dando o INSERT.

Tem que pôr esse INSERT dentro do loop... cool.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Seria dessa forma ?

<?

// $le e igual a um numero variavel de um ate quadro...

for($um=0;$um<$le;$um++){

echo "<select name='l1'>";

$exec = mysql_query("SELECT * FROM page_mod");

$linha = mysql_num_rows($exec);

for($u=0;$u<$linha;$u++){

$mod_cod = mysql_result($exec,$u,"page_mod_cod");

$mod_nome = mysql_result($exec,$u,"page_mod_nome");

echo "<option value='$mod_cod; '>$mod_nome</option>";

if ($botao){

//echo $l1;

$sql_le = "INSERT INTO lado_esquerdo VALUES ('','$l1','usuario','$data') ";

$query = mysql_query($sql_le);

}

}

echo "</select>";

}

?>

Dessa forma alem dele colocar o ultimo registro dos ListBox ele ainda duplica a quantidade, exemplo são tres listbox, ele cria 9 registro no banco de dados, todos como aultima opção do listbox.....

Link para o comentário
Compartilhar em outros sites

  • 0

<?

$query = mysql_query("SELECT * FORM tabela");

$le = mysql_result($query,0,"campo");

$data = date("d/m/y");

// $le e igual a um numero variavel de um ate quadro...

for($um=0;$um<$le;$um++){

echo "<select name='l1'>";

$exec = mysql_query("SELECT * FROM page_mod");

$linha = mysql_num_rows($exec);

for($u=0;$u<$linha;$u++){

$mod_cod = mysql_result($exec,$u,"page_mod_cod");

$mod_nome = mysql_result($exec,$u,"page_mod_nome");

echo "<option value='$mod_cod; '>$mod_nome</option>";

}

echo "</select>";

if ($botao){

//echo $l1;

$sql_le = "INSERT INTO lado_esquerdo VALUES ('','$l1','usuario','$data') ";

$query = mysql_query($sql_le);

}

}

?>

Link para o comentário
Compartilhar em outros sites

  • 0

for($um=0;$um<$le;$um++){

echo "<select name='l1'>";

$exec = mysql_query("SELECT * FROM page_mod");

$linha = mysql_num_rows($exec);

for($u=0;$u<$linha;$u++){

$mod_cod = mysql_result($exec,$u,"page_mod_cod");

$mod_nome = mysql_result($exec,$u,"page_mod_nome");

echo "<option value='$mod_cod; '>$mod_nome</option>";

}

Não importa quantos <selects> você tiver, todos eles vão ter o nome de $l1. Esse é um dos erros porque é claro que você só vai receber o valor do último <select>.

Link para o comentário
Compartilhar em outros sites

  • 0
RPZ.....

EU já TENTEI DE VARIAS FORMAS E AINDA não CONSEGUI....

Isso é muito importante para min....

Tem como me ajudar ????????

E eu não estou ajudando? huh.gif

Ou eu estou aqui de palhaço tentando te explicar alguma coisa quando o que você quer mesmo é que eu pegue o seu código, modifique e te entregue funcionando? dry.gif

Se você tentou de 20 formas e não conseguiu, bom, agora você já sabe 20 jeitos de como não fazer, está mais perto da resposta. rolleyes.gif

Poste o código modificado que eu vejo qual o problema... smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0
Guest SUPER ATRASADO

Eu pedi uma ajuda, em nenhum momento te chamei de nada, se tem uma coisa que tenho e respeito pelos outros.... sad.gif

Tambem não quero que você faça, basta apenas falar de uma forma mais clara como fazer,

Pensei que os forums fosse realmente pra ajudar os iniciantes a tirar suas duvidas

Realmente eu preciso disso, minha area não é programação, mais me coloquei a frente para fazer, é vou fazer...

<?

// $le e igual a um numero variavel de um ate quadro...

for($um=0;$um<$le;$um++){

$exec = mysql_query("SELECT * FROM page_mod");

$linha = mysql_num_rows($exec);

//Alterei aqui

echo "<select name='l1[$le]'>";

//* esse FOR de vermelho esta dentro do SELECT, se eu coloco o insert aqui dentro do select ele inseri varios registros na tabela. com o ultimo valor dos select*//

for($u=0;$u<$linha;$u++){

$mod_cod = mysql_result($exec,$u,"page_mod_cod");

$mod_nome = mysql_result($exec,$u,"page_mod_nome");

echo "<option value='$mod_cod; '>$mod_nome</option>";

}

//* se eu coloco o for vermelho fora do ListBox, ele não é apresentado corretamente...*//

echo "</select>";

echo $l1;

if ($botao){

$sql_le = "INSERT INTO lado_esquerdo VALUES ('','$l1[$le]','usuario','$data') ";

$query = mysql_query($sql_le);

}

}

?>

Muito Obrigado....

Link para o comentário
Compartilhar em outros sites

  • 0

Pensei que os forums fosse realmente pra ajudar os iniciantes a tirar suas duvidas

Realmente eu preciso disso, minha area não é programação, mais me coloquei a frente para fazer, é vou fazer...

Iniciante é quem está iniciando, quem está começando a programar e quer aprender mais.

Como eu mesmo disse: o fórum realmente existe pra ajudar quem está começando, quem ainda está aprendendo o básico, mas eu me refiro a quem realmente está aprendendo ou querendo aprender.

Pegar um código pronto num site, postar ele em um fórum pedindo pras pessoas modificarem e depois vender a um cliente dizendo que é seu é uma atitude repulsiva e pessoas que fazem isso não são, realmente, bem vindas aqui.

Não estou dizendo que esse é o seu caso ou que você se enquadra nisso que eu disse, só estou explicando o porquê de eu não passar códigos prontos e condenar quem faz isso.

Se você quer aprender é muito bem vindo e eu vou te explicar 300 vezes se for preciso, com o maior prazer! smile.gif

Vamos fazer o seguinte: me explica o que o seu script deveria fazer, com o máximo de detalhe que você conseguir.

Com base nisso vou ver o que dá pra ser feito e vou te explicar como fazer... cool.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Isso eu compriendo, e você tem toda razao....

o caso é o seguinte, eu trabalho com linux, em uma empresa que tem um portal comunitrio feito em ASP, o dono do portal quer migrar tudo para PHP, LINUX e MySQL, para tanto e necessario que o portal funcione no minimo igual o que ta no ar hoje em ASP...

www.imbui.com.br

esse Script, tem a seguinte finalidade...

o Adminstrador do portal acessar uma tela onde ele define qnts MENU's vao aparecer, no caso e representado pela variavel $le. essa variavel não pode passar de nº 4

nessa pagina onde esta apresentado o erro, o q vai aparecer para ele e o seguinte

de 1 a 4 ListBox com os MENU's que ele quer colocar para ser exebido na index...

so que ele coloca as opcoes nos ListBox "menus" e so grava o ultimo a informação do ultimo ListBox, se tiver tres LISTBOX sai os tres INSERT agora todos os tres com o valor o ultimo listbox...

Caso precise de mais informações esto a disposição...

So pra finalizar se eu conseguir ou não, eu não vou ganhar nada a mais em termos financeiros, o que vou ganhar e mais credibilidade para min na empresa epara os produtos Open Soucer, eu já programei em delph e um pouco de c, por isso me arrisquei.... rolleyes.gif

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Atrasado e sem tempo......

Desculpa ....

eu não to usando nenhum JavaScript, e tudo no PHP mesmo ele vai realmente

decidir quantos menus aparecem atraves de outra pagina, e depois ele vai dizer o que aparece usando os ListBox...

Exemplo de uso

pagina1.php "Funcionando bem"

Cadsatro de qntdade de Menus...

selecionado 2 = $le pda pagina2.php

pagina2.php "Pagina Bugada"

parece os dois ListBox cada um com as mesmas opcoes :

futbol, Bahia agora, Comunidade, noticias, etc...

essas opções selecionadas vao aparecer la na index como menu

Link para o comentário
Compartilhar em outros sites

  • 0

Seguinte cara... aquele erro está dando na página onde o Admin vai escolher o conteúdo dos menus, certo?

Como é que ele faz isso? Que valores vão ser inseridos naquela tabela?

É isso que eu estou achando estranho porque você tem uma <select>; com ela o Admin não vai poder editar os valores, somente escolher 1 deles.

estou meio perdido... smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0

E porque os menus já estao editados....

outro exemplo....

pagina2.php

o admin selecionou futbol no ListBox 1

e noticias no ListBox 2

então la na index vai aparece

MENU FUTBOL

- Brasileirao

- Bahia

- Vitoria

- etc

MENU NOTICIAS

- Brasil

- Bahia

- Salvador

- Imbui

- etc

O admin selecionado la na pagina2.php ele alterar a index e os link já estao definidos...

atualmente ta funcionando dessa forma o MENU NOTICIAS vai aparecer duas vezes na index...

Link para o comentário
Compartilhar em outros sites

  • 0

Entendi o que acontece... não entendi a moral do script...

Isso só vai ser exibido ao Admin pra ele ver?

Se for isso, não seria melhor inserir as coisas do banco no momento em que ele define quais serão os valores dos itens de cada menu e etc? huh.gif

ps: Eu estou online por aqui, se você responder rápido eu já venho e respondo já que você tá com pressa e tal..

Link para o comentário
Compartilhar em outros sites

  • 0

no caso do LIST BOX é porque ele pode mudar a qualquer hora...

Exemplo

ele quer tirar o Menu de futbol porque o campeonato acabou,

ele vai na paigna2.php e seleciona outro menu e coloca na mesma posição do menu anterior

Exemplo,

No listbox que ele selecionou futbo ele vai selecionar Bahia agora

ae na index vai ficar assim

MENU BAHIA AGORA

- Festas

- Praias

- Policiamento

- etc

MENU NOTICIAS

- Brasil

- Bahia

- Salvador

- Imbui

- etc

na index seria mais ou menus isso

select * from tabela where nome_menu ='Bahia Agora'

A pega todo munto que pertence a Bahia agora e joga la

seria isso, agora tem que ser com o ListBox pois existe varios menus...

e o listbox tem que aparecer simultamente , pois quando fieto u,m a um da erro na index...

Link para o comentário
Compartilhar em outros sites

  • 0

Bom Dia......

então ....

No caso os listbox tem o mesmo conteudo, no seu exemplo o conteudo dos listbox são diferente...

então seria assim..

ListBox 1 name=frutas

laranja

mamao

maça

banana

ListBox 2 name=frutas

laranja

mamao

maça

banana

ListBox 3 name=frutas

laranja

mamao

maça

banana

As opcoes selecionadas foram

ListBox 1 banana

ListBox 2 laranja

ListBox 3 maça

Ae la na index vao aparecer os seguintes menu's

MENU BANANA

-como fazer uma vitamina de babana

-como fazer doce de banana

-como plantar banana

-tudo sobre banana

MENU LARANJA

-como fazer suco de laranja

-como fazer doce de laranja

-como plantar laranja

-tudo sobre laranja

MENU MAÇA

-como fazer maça com doce

-como fazer suco de maca

-como plantar maca

-tudo sobre maca

beleza...?

Ae vamos supor que não estamos no tempo de laranja e o admin vai la no ListBox2 e seleciona mamao, ae na index vai aparece MENU BANANA, MENU MAMAO E MENU MACA

e isso ae....

Continuo aqui na area, tentando e aguradando...

Link para o comentário
Compartilhar em outros sites

  • 0
· http://error404.infinitehost.com.br/atrasado/atrasado.php

Certo...vamos usar isso como exemplo, porque eu mesmo estou perdido.

Esses valores foram pré-estabelecidos pelo Admin.

Então qual o objetivo dessa página, porque eu ainda não entendi.

O que ele vai poder fazer com esses menus?

· http://error404.infinitehost.com.br/atrasado/atrasado.php

então ....

No caso os listbox tem o mesmo conteudo, no seu exemplo o conteudo dos listbox são diferente...

então seria assim..

ListBox 1 name=frutas

laranja

mamao

maça

banana

ListBox 2 name=frutas

laranja

mamao

maça

banana

ListBox 3 name=frutas

laranja

mamao

maça

banana

As opcoes selecionadas foram

ListBox 1 banana

ListBox 2 laranja

ListBox 3 maça

Ae la na index vao aparecer os seguintes menu's

MENU BANANA

-como fazer uma vitamina de babana

-como fazer doce de banana

-como plantar banana

-tudo sobre banana

MENU LARANJA

-como fazer suco de laranja

-como fazer doce de laranja

-como plantar laranja

-tudo sobre laranja

MENU MAÇA

-como fazer maça com doce

-como fazer suco de maca

-como plantar maca

-tudo sobre maca

beleza...?

Ae vamos supor que não estamos no tempo de laranja e o admin vai la no ListBox2 e seleciona mamao, ae na index vai aparece MENU BANANA, MENU MAMAO E MENU MACA

e isso ae....

Continuo aqui na area, tentando e aguradando...

ph34r.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Entendi agora... já entendi.

Mas cara, não flooda o fórum. Sei que você está atrasado e tal, mas eu estou acompanhando, não se preocupe. Se você continuar floodando não vou ajudar mais rolleyes.gif (chantagem... hehehe biggrin.gif).

Vamos lá pra explicação, deve ser rápida, isso é relativamente simples.

Dá uma lida nessa função e veja os exemplos que tem embaixo, tente simplesmente usar ela pra exibir os seus <selects>:

· http://br.php.net/function.mysql-fetch-array

Esqueça a parte de inserir, isso a gente vai tratar depois que o Admin escolher quais menus ele vai querer exibir... smile.gif

Poste o novo código aí, mesmo que esteja erradão... smile.gif

obs: se você se registrar no fórum, pode assinar esse tópico e receber avisos sempre que alguém responder... wink.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Boa Noite.......

beleza... eu vou me cadastrar com toda certeza

rpz eu fiz e apresentou o mesmo erro....

$sql = "SELECT * FROM modulos";

$query = mysql_query($sql);

$le = mysql_result($query,0,"modulos_le");

for($um=0;$um<$le;$um++){

$exec = mysql_query("SELECT * FROM page_mod");

$linha = mysql_num_rows($exec);

echo "<select name='l1[$linha]'>";

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

echo "<option value='$row[0]'> $row[1] </option>";

}

echo "</select>";

//echo $l1;

}

O que eu pude observar no cod html depois q tar nor e que o nome do LISTBOX não ta variando, todos os Listbox tem o mesmo nome, provavelmente por isso ela grava apenas uma informacao...

tentei colocar a variavel $linha depois do nome do Listbox "<select name='l1[$linha]'>" se que ao visualizar o o html nome do listBox tb fica com o ultimo nº da variavel $linha exemplo l1[3]....

sera que é realmente possivel fazer isso dessa forma ?

Gostaria tb de agradecer a sua ajuda, to apredendendo p/ caramba, mesmo que eu não ficar como programado com certeza a comunidade vai ganha mais um programador em php.... smile.gif

Link para o comentário
Compartilhar em outros sites

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,6k
×
×
  • Criar Novo...