ivan919 Posted June 19, 2012 at 11:08 AM Report #463968 Posted June 19, 2012 at 11:08 AM (edited) Boas, Tenho que fazer um projecto de manipulação de base de dasos mysql com php, consigo listar os dados, apagar, alterar, procurar um em especifico etc... Agora foi-me pedido que na parte de listar tenha 2 imagens em cada linha da base de dados. uma para alterar e outra para apagar, e que ao carregar num deles ou apareça um formulário para alterar os dados dessa linha ou apague os dados dessa linha. Mas estou com dificuldades em perceber como é que ao carregar na imagem ela vai saber em que linha esta e a que id se refere para depois ser possível alterar/apagar os dados dessa linha. Alguem me consegue dar umas ideias? Ainda não tenho codigo feito com isto, apenas tenho o ficheiro com o listar ainda com as imagens do listar e do apagar... Obrigado 😄 Edited June 19, 2012 at 11:12 AM by ivan919
pikax Posted June 19, 2012 at 11:20 AM Report #463972 Posted June 19, 2012 at 11:20 AM (edited) basta meteres uma hiperligacao nas imagens, uma para a pagina de apagar, outra para a pagina de alterar. <a href="apagar.php?id=8"><img src="img/apagar.png"></a> <a href="editar.php?id=8"><img src="img/editar.png"></a> Edited June 19, 2012 at 11:20 AM by pikax Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
ivan919 Posted June 19, 2012 at 11:30 AM Author Report #463977 Posted June 19, 2012 at 11:30 AM basta meteres uma hiperligacao nas imagens, uma para a pagina de apagar, outra para a pagina de alterar. <a href="apagar.php?id=8"><img src="img/apagar.png"></a> <a href="editar.php?id=8"><img src="img/editar.png"></a> não é bem essa a minha duvida... eu tenho este codigo: while($row = mysql_fetch_array($result)) { echo "<tr>"; echo "<td>" . $row['personID'] . "</td>"; echo "<td>" . $row['firstName'] . "</td>"; echo "<td>" . $row['lastName'] . "</td>"; echo "<td>" . $row['age'] . "</td>"; echo"<td>" . $row['personID'] . "</td>"; echo "<td> <input type=image src=\"editar.gif\" > </td>"; echo "<td> <input type=image src=\"x.gif\" > </td>"; echo "</tr>"; } Mostra todos os dados e ainda acrescenta as imagens a cada linha.... mas preciso que as imagens fiquem com o ID da sua respectiva linha, para que quando carregue vá para a pagina do apagar ou alterar e que assim ja não seja necessário pedir o ID. Não sei se me expliquei bem
pikax Posted June 19, 2012 at 11:36 AM Report #463980 Posted June 19, 2012 at 11:36 AM não é bem essa a minha duvida... A tua duvida e' criar inputs? mas porque que queres inputs? se quiseres podes guardar o id em algum campo desse input(por exemplo no "value") <a href="apagar.php?id=<?php $row['personID'];?>"><img src="editar.gif"></a> <a href="editar.php?id=<?php $row['personID'];?>">"><img src="x.gif"></a> tens so que meter dentro dos td's Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
HappyHippyHippo Posted June 19, 2012 at 11:37 AM Report #463982 Posted June 19, 2012 at 11:37 AM (edited) não tens nenhum link no teu html ... logo não sei como te dizer que podes simplesmente echo "<a href='xpto.php?id={$row['personID']}'>...</a> Edited June 19, 2012 at 11:38 AM by HappyHippyHippo IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
ivan919 Posted June 19, 2012 at 01:31 PM Author Report #464019 Posted June 19, 2012 at 01:31 PM (edited) A tua duvida e' criar inputs? mas porque que queres inputs? se quiseres podes guardar o id em algum campo desse input(por exemplo no "value") <a href="apagar.php?id=<?php $row['personID'];?>"><img src="editar.gif"></a> <a href="editar.php?id=<?php $row['personID'];?>">"><img src="x.gif"></a> tens so que meter dentro dos td's Eu tenho essa tabela com todos os dados que estão na tabela persons da base de dados e tenho que por ao lado da tabela dois botoes(em cada linha da tabela), um para eliminar e outro para editar a correspondente linha. Antes tinha em paginas separadas o eliminar e o editar onde pedia o ID do person e só depois do pedido é que eliminava, e no caso do editar tinha um form com o ID,firstname, lastname e age, e ai eliminava... Agora preciso de ter os botoes e quando carrego no eliminar, elimina a linha correspondente, e no editar vai para um formulário, mas ai ja nao pede o ID, basta alterar o firstname, lastname e age e faz as alteraçoes a linha da tabela. fiz o que disseste: <?php $result = mysql_query("select * from persons"); echo "<table border='1'> <tr> <th>ID</th> <th>Firstname</th> <th>Lastname</th> <th>Age</th> </tr>"; while($row = mysql_fetch_array($result)) { echo "<tr>"; echo "<td>" . $row['personID'] . "</td>"; echo "<td>" . $row['firstName'] . "</td>"; echo "<td>" . $row['lastName'] . "</td>"; echo "<td>" . $row['age'] . "</td>"; echo "<td> <a href="apagar2.php?id=<?php $row['personID'];?>><img src="editar.gif"></a></td>"; echo "<td> <input type=image src=\"x.gif\" value='personID'> </td>"; echo "</tr>"; } echo"</table>"; ?> mas da erro, tentei ver o que era mudei algumas coisas mas continuava o mesmo erro... voltei a por como disseste erro: Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in C:\xampp\htdocs\www\listar.php on line 31 Edited June 19, 2012 at 01:33 PM by ivan919
pikax Posted June 19, 2012 at 01:34 PM Report #464022 Posted June 19, 2012 at 01:34 PM mas da erro, tentei ver o que era mudei algumas coisas mas continuava o mesmo erro... voltei a por como disseste erro: Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in C:\xampp\htdocs\www\listar.php on line 31 e' normal, eu como nao gosto de imprimir HTML com o echo, meti o codigo para chamar o php echo '<td> <a href="apagar2.php?id='.$row['personID'].'"><img src="editar.gif"></a></td>'; 1 Report Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
ivan919 Posted June 19, 2012 at 01:46 PM Author Report #464025 Posted June 19, 2012 at 01:46 PM e' normal, eu como nao gosto de imprimir HTML com o echo, meti o codigo para chamar o php echo '<td> <a href="apagar2.php?id='.$row['personID'].'"><img src="editar.gif"></a></td>'; Obrigado já consegui resolver este problema, agora vou alterar ,o que já tinha feito do apagar e alterar, e adaptar a esta pagina, se tiver mais alguma duvida pergunto aqui 😄 Muito obrigado pela ajuda
ivan919 Posted June 20, 2012 at 09:05 AM Author Report #464309 Posted June 20, 2012 at 09:05 AM Ola de novo, Estou com um problema com o alterar, problema que já tive antes com outros trabalhos e que nunca consegui resolver sempre tive que o contornar... Então é suposto eu carregar na imagem do alterar da linha a que corresponde ele ir para um form com os campos firstname, lastname e o age, ao introduzir os novos dados ele altere na base de dados... Problema: quando carrego na imagem ele assume o id e vai para a seguinte pagina com o form... mas quando submeto e vai para a outra pagina( a de alterar na bd) ele não envia o id para a 3ª pagina... Codigo Listar: <html> <body> <?php include "init.php"; include "benvindo.php"; echo"<br>"; ?> <center> <fieldset style="width:437px"> <?php $result = mysql_query("select * from persons"); echo "<table border='1'> <tr> <th>ID</th> <th>Firstname</th> <th>Lastname</th> <th>Age</th> </tr>"; while($row = mysql_fetch_array($result)) { echo "<tr>"; echo "<td>" . $row['personID'] . "</td>"; echo "<td>" . $row['firstName'] . "</td>"; echo "<td>" . $row['lastName'] . "</td>"; echo "<td>" . $row['age'] . "</td>"; echo '<td><a href="alterar.php?id=' . $row['personID'] . '"><img src="editar.gif"></a></td>'; echo '<td> <a href="apagar2.php?id=' . $row['personID'] . '"><img src="x.gif"></a></td>'; echo "</tr>"; } echo"</table>"; ?> </fieldset> </center> </body> </html> codigo alterar: <html> <body> <?php include "init.php"; include "benvindo.php"; ?> <br> <center> <fieldset style ="width:437px"> <form action="alterar2.php" method="post"> Firstname: <input type="text" name="firstname"><br> Lastname: <input type="text" name="lastname"><br> Age : <input type="text" name="age"><br> <input type="submit" value="Alterar"> </form> </fieldset> </center> </body> </html> Codigo alterar2 (alterar a base de dados): <html> <body> <?php include "init.php"; include "benvindo.php"; mysql_query("update persons set firstName='$_POST[firstname]', lastName='$_POST[lastname]', age='$_POST[age]' where personID='$_POST[id]'"); ?> <script type="text/javascript"> alert("Alterado com sucesso!"); </script> </form> </body> </html>
MASNathan Posted June 20, 2012 at 09:23 AM Report #464313 Posted June 20, 2012 at 09:23 AM (edited) na pagina onde tens o formulário para alterar os dados tens de colocar um input com o id para que o possas passar para o alterar2 ps: coloca code=php dentro das tags Edited June 20, 2012 at 09:24 AM by MASNathan
ivan919 Posted June 20, 2012 at 09:34 AM Author Report #464316 Posted June 20, 2012 at 09:34 AM na pagina onde tens o formulário para alterar os dados tens de colocar um input com o id para que o possas passar para o alterar2 ps: coloca code=php dentro das tags tentei algo assim: ID: <input type="text" name="id" value='$_GET[id]'><br> mas está errado pois no input aparece mesmo escrito " '$_GET[id]' " e não o ID a parte do code=php não percebi consegues dar algum exemplo? obrigado
MASNathan Posted June 20, 2012 at 09:43 AM Report #464320 Posted June 20, 2012 at 09:43 AM (edited) mas está errado pois no input aparece mesmo escrito " '$_GET[id]' " e não o ID tens de por <?php echo $_GET['id']; ?> a parte do code=php não percebi consegues dar algum exemplo? ex: echo 'boas'; echo 'boas'; quando colocas código php aqui no post usa em vez de [code] Edited June 20, 2012 at 09:44 AM by MASNathan
ivan919 Posted June 20, 2012 at 10:03 AM Author Report #464322 Posted June 20, 2012 at 10:03 AM <html> <body> <?php include "init.php"; include "benvindo.php"; ?> <br> <center> <fieldset style ="width:437px"> <form action="alterar2.php" method="post"> ID: <input type="text" name="id" value=<?php echo $_GET['id']; ?>><br> Firstname: <input type="text" name="firstname"><br> Lastname: <input type="text" name="lastname"><br> Age : <input type="text" name="age"><br> <input type="submit" value="Alterar"> </form> </fieldset> </center> </body> </html> Resolveu o que eu queria muito obrigado 🙂
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now