Ir para conteúdo

POWERED BY:

Arquivado

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

Destino

Como fazer um menu assim, usando while ?

Recommended Posts

Olá pessoal,Uma duvida cruel, que esta me deixando de cabelo em pe.Tenho que criar um menu onde aparesera numa tabela, varias noticias trasidas de um banco de dados, e do lado diretio uma botao de editar essa noticia certo ?mas como fazer isso, atrazer de while ?Mas pelo while a variavel no caso $id nao seria regradada a medida que vem noticias ?Me ajudem por favor

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas pelo while a variavel no caso $id nao seria regradada a medida que vem noticias ?

<{POST_SNAPBACK}>

Por que não ? Terá que trazer para você passar como parâmetro para atualizar o registro... http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif

<{POST_SNAPBACK}>

Certo mas... tipo...

 

Como e while, a cada registro que fo exibido no menu a variavel $Id sera atualizada tipo, se tiver 2 noticias e aultima for dois, a $id sera 2 e so poderia editar a noticia 2 nao é ? Entendeu, ai esta o meu problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

CARA,Pelo que estou vendo temlogica, obrigado mesmo, eu estava fazendo o while criar a tabela tb, por echo sabe, nao tava dando, mas vou tentar dessa forma, desde ja obrigado pela atencao demostrada ok ?Muito obrigado, retorno com o resuiltado ok ?Ate mas :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

OláEu também tenho o mesmo problema e postei o que escreveu e deu o seguinte erro:You have an error in your SQL syntax near '' at line 1O que será?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas agora tenho um problema, quero enviar o que alterei para a tabela de MySQL, já fiz o script mas não passa nada.

 

Tenho assim:

 

<?

include"conexao.php";

 

$sql = mysql_query("SELECT * from tb_clientes Where codigo=$id");

if(!$sql){echo mysql_error();exit();}

?>

 

<?

while($linha=mysql_fetch_array($sql)) {

?>

<table width="984" border="1">

<tr>

<td width="19">ID:</td>

<td width="30"><input name="ID" type="text" value="<?=$linha["codigo"]?>" size="5" readonly="true"></td>

<td width="41">Nome:</td>

<td width="182"><input name="Nome" type="text" value="<?=$linha["nome"]?>" size="30"></td>

<td width="336"><input name="Endereco" type="text" value="<?=$linha["endereco"]?>" size="30"></td>

<td width="336"><input name="Cidade" type="text" value="<?=$linha["cidade"]?>" size="30"></td>

<td><a href="update.php?id=<?=$linha["codigo"]?>">Alterar</a></td>

</tr>

</table>

<?

}

?>

 

<?

mysql_close($con);

?>

QUOTE]

 

Este é a página onde faço a alteração do registo, onde por exemplo altero só uma palavra ou virgula e depois quero enviar para o Servidor em:

 

<?

//abre conexão com o mysql

include"conexao.php";

$up = mysql_query("UPDATE tb_clientes set nome=$Nome where codigo=$id");

//fecha conexão com o mysql.

mysql_close($conexao);

?>

 

Mas não actualiza nada, o que estou a fazer de errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta meter$id = $_GET['id']; na página update.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu já tentei com form antes e não deu, agora tenho assim:

<?include"conexao.php";$sql = mysql_query("SELECT * from tb_clientes Where codigo=$id"); if(!$sql){echo mysql_error();exit();}?><?while($linha=mysql_fetch_array($sql)) {?><table width="984" border="1"> <tr> <td colspan="2">Cod</td> <td colspan="2">Nome</td> <td>Endereço</td> <td> </td> <td> </td> </tr> <tr> <td width="19">ID:</td> <td width="30"><input name="ID" type="text" value="<?=$linha["codigo"]?>" size="5" readonly="true"></td> <td width="41">Nome:</td> <td width="182"><input name="Nome" type="text" value="<?=$linha["nome"]?>" size="30"></td> <td width="336"><input name="Endereco" type="text" value="<?=$linha["endereco"]?>" size="30"></td> <td width="336"><input name="Cidade" type="text" value="<?=$linha["cidade"]?>" size="30"></td> <td><a href="update.php?id=<?=$linha["codigo"]?>">Alterar</a></td> </tr></table><?}?><?mysql_close($con);?>

Será que está mal?

Compartilhar este post


Link para o post
Compartilhar em outros sites

PHP

[*]<?

[*]include"conexao.php";

[*]

[*]$sql = mysql_query("SELECT * from tb_clientes Where codigo=$id");

[*]if(!$sql){echo mysql_error();exit();}

[*]?>

[*]

[*]<?

[*]while($linha=mysql_fetch_array($sql)) {

[*]?>

[*]<table width="984" border="1">

[*]<form action="update.php" method="post">

[*]<input type="hidden" name="id" value="<?=$linha["codigo];?>">

[*]  <tr>

[*]    <td colspan="2">Cod</td>

[*]    <td colspan="2">Nome</td>

[*]    <td>Endereço</td>

[*]    <td> </td>

[*]    <td> </td>

[*]  </tr>

[*]  <tr>

[*]    <td width="19">ID:</td>

[*]    <td width="30"><input name="ID" type="text" value="<?=$linha["codigo]?>" size="5" readonly="true"></td>

[*]    <td width="41">Nome:</td>

[*]    <td width="182"><input name="Nome" type="text" value="<?=$linha["nome]?>" size="30"></td>

[*]    <td width="336"><input name="Endereco" type="text" value="<?=$linha["endereco]?>" size="30"></td>

[*]    <td width="336"><input name="Cidade" type="text" value="<?=$linha["cidade]?>" size="30"></td>

[*] <td><a href="update.php?id=<?=$linha["codigo]?>">Alterar</a></td>

[*]  </tr>

[*]</form>

[*]</table>

[*]<?

[*]}

[*]?>

[*]

[*]<?

[*]mysql_close($con);

[*]?>

[*]

 

depois voçe transforma isto:

<td><a href="update.php?id=<?=$linha["codigo"]?>">Alterar</a></td>
nisto:

<td><input type="submit" name="alterar" value="Alterar"></td>
dps na página update.php

só resgatar os dados por $_POST[], exemplo:

PHP

[*]$id = $_POST['id'];

[*]$nome = $_POST['Nome'];

 

acho que não me equivoquei em nada massss lol se num der poste de novo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz como o SnakeX disse e coloquei um botão, mas eu até preferia um link.Como funciona o QUERYSTRING, ou seja, $_GET...???Este é o Script do update.php

<?//abre conexão com o mysqlinclude"conexao.php";$id = $_POST['id'];$nome = $_POST['Nome'];$up = mysql_query("UPDATE tb_clientes set nome=$nome Where codigo=$id");//fecha conexão com o mysql.mysql_close($conexao);?>

Eu penso que esteja bem, na minha ignorância, mas deve estar mal .O que acham?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não dá ...Eu peço muita desculpa, mas vou colocar as 2 páginas para ver onde está o erro:

<?include"conexao.php";$sql = mysql_query("SELECT * from tb_clientes Where codigo=$id"); if(!$sql){echo mysql_error();exit();}?><?while($linha=mysql_fetch_array($sql)) {?><table width="984" border="1"><form action="update.php" method="post"><input type="hidden" name="id" value="<?=$linha["codigo"];?>"> <tr> <td colspan="2">Cod</td> <td colspan="2">Nome</td> <td>Endereço</td> <td> </td> <td> </td> </tr> <tr> <td width="19">ID:</td> <td width="30"><input name="id" type="text" value="<?=$linha["codigo"]?>" size="5" readonly="true"></td> <td width="41">Nome:</td> <td width="182"><input name="nome" type="text" id="nome" value="<?=$linha["nome"]?>" size="30"></td> <td width="336"><input name="Endereco" type="text" value="<?=$linha["endereco"]?>" size="30"></td> <td width="336"><input name="Cidade" type="text" value="<?=$linha["cidade"]?>" size="30"></td> <td><a href="update.php?id=<?=$linha["codigo"]?>">Editar</a></td> </tr></form></table><?}?><?mysql_close($con);?>

e Update.php

<?//abre conexão com o mysqlinclude"conexao.php";$id = $_GET['id'];$nome = $_GET['Nome'];$up = mysql_query("UPDATE tb_clientes set nome=$nome Where codigo=$id");//fecha conexão com o mysql.mysql_close($conexao);?>

De certeza que deve haver um erro que não estou a ver qual é ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu peço desculpa AAlves por estar a monopolizar o seu tempo, mas continua sem actualizar. Eu já experimentei o update.php sem necessitar de um ficheiro antes, ou seja colocando lá directamente os valores que quero actualizar e não actualiza, será que está errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara e como é k voçe vai passar o nome alterado? lol só por post logo usando formulário, pk a única coisa k está sendo passada é o ID nada mais, e dps no UPDATE ele não vai actualizar nada, por isso voçe tem de ter o form, e cara eu testei aki e deu bem, mas sei la pode ser kualker coisa k voçe esteja a fazer mal n sei msm :\ mas para voçe alterar os dados como o nome tem de ser mesmo com o formulario pk outra maneira n tou vendo n http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não dá ...

 

Eu peço muita desculpa, mas vou colocar as 2 páginas para ver onde está o erro:

 

<?

include"conexao.php";

 

$sql = mysql_query("SELECT * from tb_clientes Where codigo=$id");

if(!$sql){echo mysql_error();exit();}

?>

 

<?

while($linha=mysql_fetch_array($sql)) {

?>

<table width="984" border="1">

<form action="update.php" method="post">

<input type="hidden" name="id" value="<?=$linha["codigo"];?>">

  <tr>

    <td colspan="2">Cod</td>

    <td colspan="2">Nome</td>

    <td>Endereço</td>

    <td> </td>

    <td> </td>

  </tr>

  <tr>

    <td width="19">ID:</td>

    <td width="30"><input name="id" type="text" value="<?=$linha["codigo"]?>" size="5" readonly="true"></td>

    <td width="41">Nome:</td>

    <td width="182"><input name="nome" type="text" id="nome" value="<?=$linha["nome"]?>" size="30"></td>

    <td width="336"><input name="Endereco" type="text" value="<?=$linha["endereco"]?>" size="30"></td>

    <td width="336"><input name="Cidade" type="text" value="<?=$linha["cidade"]?>" size="30"></td>

<td><a href="update.php?id=<?=$linha["codigo"]?>">Editar</a></td>

  </tr>

</form>

</table>

<?

}

?>

 

<?

mysql_close($con);

?>

e Update.php

 

<?

//abre conexão com o mysql

include"conexao.php";

$id = $_GET['id'];

$nome = $_GET['Nome'];

 

$up = mysql_query("UPDATE tb_clientes set nome=$nome Where codigo=$id");

//fecha conexão com o mysql.

mysql_close($conexao);

?>

De certeza que deve haver um erro que não estou a ver qual é ...

<{POST_SNAPBACK}>

No Update.php use $_POST inves de get, onfira se o arquivo conexao esta ok ? ou a tabela ?

pode ser ele tb ne ? :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

AAlves, está joia, obrigado

 

http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

 

Já agora mais uma coisa

 

Uma das variáveis na tabela é uma url, como eu faço para quando está a mostrar os valores da tabela me dê o link para essa variável?

 

Por exemplo:

 

Tabela: id | documento | url

 

E quando desse os valores dos registos das tabelas se clica-se no nome do documento, o mesmo seria um link para o que estivesse introduzido no url.

 

Fiz-me entender?

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.