InTroX 0 Denunciar post Postado Março 3, 2011 Olá, bom vou direto ao que interessa... Estou fazendo uam pagina para alterar certos dados, porem eu quero que altere somente por id e não todos os dados da tabela ao mesmo tempo. então o problema está quando eu estou tentando pegar o id para o if. veja o código completo : <?php $resultado = mysql_query("SELECT*FROM top10"); while($hebert = mysql_fetch_assoc($resultado)){ $musica_top7 = $hebert['musica']; $artista_top7 = $hebert['artista']; $versao_top7 = $hebert['versao']; $votos_top7 = $hebert['votos']; $id_top7 = $hebert["id"]; } ?> <? if($_POST['top10post']){ $musica = $_POST['musica']; $artista = $_POST['artista']; $versao = $_POST['versao']; $votos = $_POST['votos']; $id = $_GET["id"]; mysql_query("update top10 set musica='$musica' WHERE id='$id'"); mysql_query("update top10 set artista='$artista' WHERE id='$id'"); mysql_query("update top10 set versao='$versao' WHERE id='$id'"); mysql_query("update top10 set votos='$votos' WHERE id='$id'"); echo "<script> window.alert('O Top Music foi alterado com sucesso!'); location.href='?pagina=alterar_topmusic2'; </script>"; } ?> <table align="left" border="0" cellpadding="6" cellspacing="0" class="tborder" width="780"> <thead> <tr> <td class="tcat" colspan="0"> <a href="#top" onclick="return toggle_collapse('module_20')" style="float:right"><img alt="" border="0" id="collapseimg_module_20" src="images/new/buttons/collapse_tcat.gif" /></a> <span class="smallfont"><strong>» Alterar SlideShow</strong></span></td> </tr> </thead> <tbody id="collapseobj_module_20" style=""> <tr> <td class="alt2"> <!--INICIO DE CONTEUDO--> <center><b>Altere os dados abaixos:</b></center> <br> <br> <?php // Pegar a página atual por GET $p = $_GET["p"]; // Verifica se a variável tá declarada, senão deixa na primeira página como padrão if(isset($p)) { $p = $p; } else { $p = 1; } // Defina aqui a quantidade máxima de registros por página. $qnt = 8; // O sistema calcula o início da seleção calculando: // (página atual * quantidade por página) - quantidade por página $inicio = ($p*$qnt) - $qnt; // Seleciona no banco de dados com o LIMIT indicado pelos números acima //$sql_select = "SELECT * FROM top10 ORDER BY id DESC LIMIT $inicio, $qnt"; $q = "SELECT*FROM top10"; $sql_query = mysql_query($q); $tipo = mysql_num_rows($sql_query); if($tipo <= "0"){ echo "Nenhum Cadastrado<br><br>"; } // Executa o Query $sql_query = mysql_query("SELECT * FROM top10 ORDER BY votos DESC LIMIT $inicio, $qnt"); // Cria um while para pegar as informações do BD while($array = mysql_fetch_array($sql_query)) { // Variável para capturar o campo 'nome' no banco de dados $musica = $array['musica']; $artista = $array['artista']; $versao = $array['versao']; $votos = $array['votos']; $id = $_GET['id']; echo " <form name='top10post' action='' method='post'> <img src='$foto' width=\"83\" height=\"68\" /><br> Musica: <textarea name='musica' style='width:100px; height:50px; margin-left:4px; border:1px solid #666666;'>$musica_top7</textarea><br><br> Artista: <textarea name='artista' style='width:100px; height:50px; margin-left:4px; border:1px solid #666666;'>$artista_top7</textarea><br><br> Versão: <textarea name='versao' style='width:100px; height:50px; margin-left:4px; border:1px solid #666666;'>$versao_top7</textarea><br><br> Votos: <textarea name='votos' style='width:100px; height:50px; margin-left:4px; border:1px solid #666666;'>$votos_top7</textarea> <br><br> <input type='hidden' name='id' value='id_top7' /> <input value='Adicionar/Alterar' class='alt2' type='submit' name='top10post'> </form><br> $id_top7 , $id "; // Exibe o nome que está no BD e pula uma linha } echo ""; // Depois que selecionou todos os nome, pula uma linha para exibir os links(próxima, última...) //tentando deixar o lance da paginação sempre embaxo das imgs =) BreNnØ echo "<center>"; // Faz uma nova seleção no banco de dados, desta vez sem LIMIT, // para pegarmos o número total de registros $sql_select_all = "SELECT * FROM top10"; // Executa o query da seleção acimas $sql_query_all = mysql_query($sql_select_all); // Gera uma variável com o número total de registros no banco de dados $total_registros = mysql_num_rows($sql_query_all); // Gera outra variável, desta vez com o número de páginas que será precisa. // O comando ceil() arredonda 'para cima' o valor $pags = ceil($total_registros/$qnt); // Número máximos de botões de paginação $max_links = 13; // Exibe o primeiro link 'primeira página', que não entra na contagem acima(13) echo "<a href='?pagina=alterar_topmusic' target='_self'>Primeira Página</a>"; echo " | "; // Cria um for() para exibir os 13 links antes da página atual for($i = $p-$max_links; $i <= $p-1; $i++) { // Se o número da página for menor ou igual a zero, não faz nada // (afinal, não existe página 0, -1, -2..) if($i <=0) { //faz nada // Se estiver tudo OK, cria o link para outra página } else { echo "<a href='?pagina=alterar_topmusic&p=".$i."' target='_self'>".$i."</a> "; } } // Exibe a página atual, sem link, apenas o número echo $p." "; // Cria outro for(), desta vez para exibir 13 links após a página atual for($i = $p+1; $i <= $p+$max_links; $i++) { // Verifica se a página atual é maior do que a última página. Se for, não faz nada. if($i > $pags) { //faz nada } // Se tiver tudo Ok gera os links. else { echo "<a href='?pagina=alterar_topmusic&p=".$i."' target='_self'>".$i."</a> "; } } // Exibe o link "última página" echo "| "; echo "<a href='?pagina=alterar_topmusic&p=".$pags."' target='_self'>Ultima Página</a></br></br></td><tr>"; ?> </center> <!--FIM DE CONTEUDO--> </td></tr> Agora vou aproximar mais aonde eu estou com dúvidas: linhas: 82 a 93 codigo: <form name='top10post' action='' method='post'> <img src='$foto' width=\"83\" height=\"68\" /><br> Musica: <textarea name='musica' style='width:100px; height:50px; margin-left:4px; border:1px solid #666666;'>$musica_top7</textarea><br><br> Artista: <textarea name='artista' style='width:100px; height:50px; margin-left:4px; border:1px solid #666666;'>$artista_top7</textarea><br><br> Versão: <textarea name='versao' style='width:100px; height:50px; margin-left:4px; border:1px solid #666666;'>$versao_top7</textarea><br><br> Votos: <textarea name='votos' style='width:100px; height:50px; margin-left:4px; border:1px solid #666666;'>$votos_top7</textarea> <br><br> <input type='hidden' name='id' value='id_top7' /> <input value='Adicionar/Alterar' class='alt2' type='submit' name='top10post'> </form><br> $id_top7 , $id Bom ele até pega as ids certas pela variavel $id_top7 mais pela $id nao vai de maneira alguma ( era para pegar o mesmo numero), mas esse não é o maior problema eu pensei bom se ele pega pela variavel $id_top7 eu tentei leva-la para o if so que não deu certo... Fico no aguardo e agradeço desde já! obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
felini 0 Denunciar post Postado Março 3, 2011 <input type='hidden' name='id' value='id_top7' /> Não está aqui o erro? No value, coloque o ID do registro que tu está editando. Quando tu faz $_GET['id'], está pegando como valor 'id_top7'. Acho que no teu caso, ficaria assim: <input type='hidden' name='id' value='<?=$id_top7;?>' /> Compartilhar este post Link para o post Compartilhar em outros sites
twpesquisa 1 Denunciar post Postado Março 3, 2011 De acordo com o Felini... Inclusive, podes usar assim: <input type='hidden' name='id' value='<? $id_top7; ?>' /> Compartilhar este post Link para o post Compartilhar em outros sites
gremio10 14 Denunciar post Postado Março 3, 2011 Para não ocorrer erros no futuro, não utilize <? ?> e sim <?php ?> e no seu caso do input ... value="<?php echo $suaVariavel ?>" Compartilhar este post Link para o post Compartilhar em outros sites
InTroX 0 Denunciar post Postado Março 3, 2011 De acordo com o Felini... Inclusive, podes usar assim: <input type='hidden' name='id' value='<? $id_top7; ?>' /> não deu certo, tipo na parte para mostrar o resultado ta certa meu problema ta sendo na parte em que vou alterar... poderia concerta o codigo para mim? Compartilhar este post Link para o post Compartilhar em outros sites
William Espindola 4 Denunciar post Postado Março 4, 2011 Amigão, acho que encontrei o erro, você esta recebendo o Id via metodo GET, só que transferindo no From com o metodo POST. Bota para receber o ID com metodo POST e testa ai: if($_POST['top10post']){ $musica = $_POST['musica']; $artista = $_POST['artista']; $versao = $_POST['versao']; $votos = $_POST['votos']; $id = $_POST["id"]; } Abraços Compartilhar este post Link para o post Compartilhar em outros sites
InTroX 0 Denunciar post Postado Março 4, 2011 Amigão, acho que encontrei o erro, você esta recebendo o Id via metodo GET, só que transferindo no From com o metodo POST. Bota para receber o ID com metodo POST e testa ai: if($_POST['top10post']){ $musica = $_POST['musica']; $artista = $_POST['artista']; $versao = $_POST['versao']; $votos = $_POST['votos']; $id = $_POST["id"]; } Abraços william tentei emprimir a variavel $id antes de joga-la para o if e não está me mostrando o resultado ou seja nao ta emprimindo... será que tem algum problema com o $id ?? Amigão, acho que encontrei o erro, você esta recebendo o Id via metodo GET, só que transferindo no From com o metodo POST. Bota para receber o ID com metodo POST e testa ai: if($_POST['top10post']){ $musica = $_POST['musica']; $artista = $_POST['artista']; $versao = $_POST['versao']; $votos = $_POST['votos']; $id = $_POST["id"]; } Abraços william como falei estava sim com problema ao pegar o $id pelo get... estudando melhor o código e com a sua ajuda eu consegui ;D estou postando o código abaixo e veja como ficou: <?php $resultado = mysql_query("SELECT*FROM top10"); while($hebert = mysql_fetch_assoc($resultado)){ $musica_top7 = $hebert['musica']; $artista_top7 = $hebert['artista']; $versao_top7 = $hebert['versao']; $votos_top7 = $hebert['votos']; $id_top7 = $hebert["id"]; } ?> <? if($_POST['top10post']){ $musica = $_POST['musica']; $artista = $_POST['artista']; $versao = $_POST['versao']; $votos = $_POST['votos']; $id = $_POST["id"]; mysql_query("update top10 set musica='$musica' WHERE id='$id'"); mysql_query("update top10 set artista='$artista' WHERE id='$id'"); mysql_query("update top10 set versao='$versao' WHERE id='$id'"); mysql_query("update top10 set votos='$votos' WHERE id='$id'"); echo "<script> window.alert('O Top Music foi alterado com sucesso!'); location.href='?pagina=alterar_topmusic'; </script>"; } ?> <table align="left" border="0" cellpadding="6" cellspacing="0" class="tborder" width="780"> <thead> <tr> <td class="tcat" colspan="0"> <a href="#top" onclick="return toggle_collapse('module_20')" style="float:right"><img alt="" border="0" id="collapseimg_module_20" src="images/new/buttons/collapse_tcat.gif" /></a> <span class="smallfont"><strong>» Alterar SlideShow</strong></span></td> </tr> </thead> <tbody id="collapseobj_module_20" style=""> <tr> <td class="alt2"> <!--INICIO DE CONTEUDO--> <center><b>Altere os dados abaixos:</b></center> <br> <br> <?php // Pegar a página atual por GET $p = $_GET["p"]; // Verifica se a variável tá declarada, senão deixa na primeira página como padrão if(isset($p)) { $p = $p; } else { $p = 1; } // Defina aqui a quantidade máxima de registros por página. $qnt = 8; // O sistema calcula o início da seleção calculando: // (página atual * quantidade por página) - quantidade por página $inicio = ($p*$qnt) - $qnt; // Seleciona no banco de dados com o LIMIT indicado pelos números acima //$sql_select = "SELECT * FROM top10 ORDER BY id DESC LIMIT $inicio, $qnt"; $q = "SELECT*FROM top10"; $sql_query = mysql_query($q); $tipo = mysql_num_rows($sql_query); if($tipo <= "0"){ echo "Nenhum Cadastrado<br><br>"; } // Executa o Query $sql_query = mysql_query("SELECT * FROM top10 ORDER BY votos DESC LIMIT $inicio, $qnt"); // Cria um while para pegar as informações do BD while($array = mysql_fetch_array($sql_query)) { // Variável para capturar o campo 'nome' no banco de dados $musica = $array['musica']; $artista = $array['artista']; $versao = $array['versao']; $votos = $array['votos']; $id = $array['id']; echo " <form name='top10post' action='' method='post'> <img src='$foto' width=\"83\" height=\"68\" /><br> Musica: <input type='text' name='musica' value='$musica'/><br> Artista: <input type='text' name='artista' value='$artista'/><br> Versão: <input type='text' name='versao' value='$versao'/><br> Votos: <input type='text' name='votos' value='$votos'/> <br> <input type='hidden' name='id' value='$id' /> <input value='Adicionar/Alterar' class='alt2' type='submit' name='top10post'> </form><br> "; // Exibe o nome que está no BD e pula uma linha } echo ""; // Depois que selecionou todos os nome, pula uma linha para exibir os links(próxima, última...) //tentando deixar o lance da paginação sempre embaxo das imgs =) BreNnØ echo "<center>"; // Faz uma nova seleção no banco de dados, desta vez sem LIMIT, // para pegarmos o número total de registros $sql_select_all = "SELECT * FROM top10"; // Executa o query da seleção acimas $sql_query_all = mysql_query($sql_select_all); // Gera uma variável com o número total de registros no banco de dados $total_registros = mysql_num_rows($sql_query_all); // Gera outra variável, desta vez com o número de páginas que será precisa. // O comando ceil() arredonda 'para cima' o valor $pags = ceil($total_registros/$qnt); // Número máximos de botões de paginação $max_links = 13; // Exibe o primeiro link 'primeira página', que não entra na contagem acima(13) echo "<a href='?pagina=alterar_topmusic' target='_self'>Primeira Página</a>"; echo " | "; // Cria um for() para exibir os 13 links antes da página atual for($i = $p-$max_links; $i <= $p-1; $i++) { // Se o número da página for menor ou igual a zero, não faz nada // (afinal, não existe página 0, -1, -2..) if($i <=0) { //faz nada // Se estiver tudo OK, cria o link para outra página } else { echo "<a href='?pagina=alterar_topmusic&p=".$i."' target='_self'>".$i."</a> "; } } // Exibe a página atual, sem link, apenas o número echo $p." "; // Cria outro for(), desta vez para exibir 13 links após a página atual for($i = $p+1; $i <= $p+$max_links; $i++) { // Verifica se a página atual é maior do que a última página. Se for, não faz nada. if($i > $pags) { //faz nada } // Se tiver tudo Ok gera os links. else { echo "<a href='?pagina=alterar_topmusic&p=".$i."' target='_self'>".$i."</a> "; } } // Exibe o link "última página" echo "| "; echo "<a href='?pagina=alterar_topmusic&p=".$pags."' target='_self'>Ultima Página</a></br></br></td><tr>"; ?> </center> <!--FIM DE CONTEUDO--> </td></tr> Pessoal muito obrigado pelo apoio... quaqluer coisa é so gritar ehhehe! vlw! [Resolvido!!!] Compartilhar este post Link para o post Compartilhar em outros sites