Ir para conteúdo

Arquivado

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

cocas42

Erro no id

Recommended Posts

Bom dia,

estou tendo problemas com a criação de um painel que gere um armazém!

ora bem qual é o problema?

eu coloco todos os itens na db e ele já aceita e já esta a funcionar mas depois se quiser excluir noutra parte do site ele nunca me vai buscar o id correcto, esta sempre a ir buscar o id "374" tanto para excluir como para editar!

eu não encontro o erro, vou passar o código da pagina e se for preciso mais algum podem pedir!(já agora ele faz query!)

<?php include ('AutorizaUser.php');?>
<?php
session_start("login_user");
if(!(session_is_registered("login_user") AND
session_is_registered("senha_user"))) {
echo "<div align=center>Seu vagabundo,vai procurar o que fazer.</div>";
exit;} ?>
<style type="text/css">
<!--
.style1 {font-size: 13px}
-->
</style>

<div align="left">
      <blockquote>
        <h3><span class="style1">  » </span>Todo o Inventário</h3>
  </blockquote>
</div>
<p style="margin-left:0px;margin-top:0px;width:fffpx;border-bottom:1px dotted #fff;"></p><br />
<?php
	$query = "SELECT * FROM noticias";
	$result = mysql_query($query);
	$play = mysql_num_rows($result);
	if($play <= "0"){
	echo "<div class='atencion'>Nenhum iten cadastrado, adicione um iten novo [ + ]</div>";}
		?>
<table>
	<form action="" method="post">
	<thead>
	<tr>
        <th width="20"><input class="check-all" type="checkbox"/></th>
	<th width="85">Designação</th>
	<th width="85">Marca</th>
	<th width="50">Ref.</th>
	<th width="50">Unid.</th>
        <th width="63">Quant.</th>
        <th width="87">Estado Conservação</th>
        <th width="80">Localização</th>
        <th width="50">Obs</th>
        <th width="50"></th>
</tr>
</thead>
<tfoot>
	<tr>
	   <td colspan="10">
            <input type="submit" name="deleta" class="button" value="Deletar">
            <?php
		if($_POST['deleta']) {
		$opcoes = $_POST['id'];
		$opcoes_text = implode(", ", $opcoes);
		if ($opcoes==NULL){echo "<script>location.href='index.php?abrir=pagTodoInventario&msg=seleciona'</script>";}
		$query = "DELETE FROM noticias WHERE id in (" . $opcoes_text . ")";
		mysql_query($query) or die(mysql_error());
		echo "<script>location.href='index.php?abrir=pagTodoInventario&msg=sucesso' OnClick=\"return confirm('Você tem certeza que vai excluir esse iten?')\"</script>";
		}
		?>
	</td>
    </tr>
</tfoot>
	<tbody>
	<?php
	$query = "SELECT * FROM noticias ORDER BY id DESC";
	$result = mysql_query($query);
	while ($play = mysql_fetch_array($result)){
	$designação = $play['designação'];
	$marca= $play['marca'];
	$ref = $play['ref'];
	$unid = $play['unid'];
	$quant = $play['quant'];
	$estado = $play['estado'];
	$localização = $play['localização'];
	$obs = $play['obs'];
	echo " <tr><td><input type='checkbox' name='id[]' value='$id' /></td><td align='center'>$designação</td><td align='center'>$marca</td><td align='center'>$ref</td><td align='center'>$unid</td><td align='center'>$quant</td><td align='center'>$estado</td><td align='center'>$localização</td><td align='center'>$obs</td><td>";
							
	if($cargo == "Administrador"){ echo"<a href='index.php?abrir=pagEditNoticia&id=$id' title='Editar'>Editar</a><a href='index.php?abrir=pagExcluir&acao=Noticia&id=$id' OnClick=\"return confirm('Você tem certeza que vai excluir esse iten?')\">Excluir</a></td></tr>";}
					
	else
	echo"<a href='index.php?abrir=pagExcluir&acao=Noticia&id=$id' OnClick=\"return confirm('Você tem certeza que vai excluir esse iten?')\">Excluir</a></td></tr>";}
	?>
	</tbody>
        </form>
	</table>
</table>
          <?php $msg = $_GET['msg']; if($msg=="seleciona"){echo "<div class='warning'>Selecione pelo menos 1 checkbox para excluir um iten !</div>";}?> 
          <?php $msg = $_GET['msg']; if($msg=="sucesso"){echo "<div class='sucess'>Iten excluido com sucesso !</div>";}?>

ainda tinha mas uma questão mas não sei se deveria fazer( uma caixa de procura no inicio!)

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro pode estar nessas linhas:

 

$opcoes = $_POST['id'];
$opcoes_text = implode(", ", $opcoes);

if ($opcoes==NULL){echo "<script>location.href='index.php?abrir=pagTodoInventario&msg=seleciona'</script>";}
$query = "DELETE FROM noticias WHERE id in (" . $opcoes_text . ")";

 

O que $opcoes recebe? Se for apenas o número da ID, o que é ideal, não precisaria desse implode.

 

então a query ficaria:

$query = "DELETE FROM noticias WHERE id ='$opcoes_text'";

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok, vou testar e ja digo algo!

--

editado

estive a testar e ele dá erro a mesma, tanto no excluir como no editar so vai buscar aquele id!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem uma $id nos links editar e excluir. Não achei o local que ela foi definida, mas acredito que o erro está nela, já que não está definida dentro do while. Tente assim:

while ($play = mysql_fetch_array($result)){
    $id_item = $play['id']
    if($cargo == "Administrador"){
        echo"<a href='index.php?abrir=pagEditNoticia&id=$id_item' title='Editar'>Editar</a>
        <a href='index.php?abrir=pagExcluir&acao=Noticia&id=$id_item' OnClick=\"return confirm('Você tem certeza que vai excluir esse iten?')\">Excluir</a></td></tr>";
    }
    else
        echo"<a href='index.php?abrir=pagExcluir&acao=Noticia&id=$id_item' OnClick=\"return confirm('Você tem certeza que vai excluir esse iten?')\">Excluir</a></td></tr>";}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

ola allex, eu ja tentei mais doque uma forma o que me disse e esta sempre a dar este erro:

 

 

Parse error: syntax error, unexpected T_IF in /home/a2790940/public_html/Modulos/pagTodoInventario.php on line 76

Compartilhar este post


Link para o post
Compartilhar em outros sites

if($cargo == "Administrador"){


obrigado mas agora que andei a pesquisar ja consegui precisava de adicionar um coiso destes: $id = $play['id']

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.