Ir para conteúdo

POWERED BY:

Arquivado

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

InTroX

[Resolvido] Erro ao pegar id para o if

Recommended Posts

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

<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

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

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

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

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

×

Informação importante

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