Ir para conteúdo

POWERED BY:

Arquivado

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

programax

PHP exluir

Recommended Posts

Ola pessoal estou usando o MYSQL.. e peso q Por favor me ajude!!

bem o sistema e assim:

tenho a tabela fornecedor com campos:

 

CREATE TABLE fornecedor
(
 id_fornecedor INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
 razao VARCHAR(100) NOT NULL,
 cnpj INT (100) NOT NULL,
 endereco VARCHAR(100) NOT NULL,
 telefone INT(50) NOT NULL,
 email VARCHAR (100) NOT NULL          

 ) ENGINE = INNODB;

bem eu queria excluir por razao(nome da empresa) entao eu fiz assim:

<form name="exluir" action="">
			<p>Exluir</p>
			<select name= "selecao" size="1" >
				<?php
					$sql= "SELECT razao FROM fornecedor ORDER BY razao";
			
					$resultado = mysql_query($sql);
			
					while ($registro=mysql_fetch_array($resultado))
					{
		
				?>
						<option>  
							<?php=$registro['razao'] ?> 
						</option>
				 
				<?php
					}
					
					?>
			</select>
		
			<input name="exluir" type= "submit" value="excluir">
	    </form>

so que esta dando erro no while

while ($registro=mysql_fetch_array($resultado))

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá programax, seja bem-vindo.

 

Primeiramente, peço que leia as nossas orientações de boa conduta, e volte a postar, porém dessa vez informando com mais detalhes que erros, exatamente, estão sendo gerados com o while.

 

Tente mudar a linha do seu SELECT para a seguinte forma:

 

$sql= 'SELECT `razao` FROM `fornecedor` ORDER BY `razao` ASC';

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha so o tamanho do erro

warning: mysql_query()[function.mysql-query]: Acesso negado para o usuario'ODBC'@'localhost'(senha usada:NÃO) in C:\Arquivos de programas\EasyPHP 2.0b1\www\ISSEC\index.php on line 35 Warning: mysql_query()[function.mysql-query]: A link to the server could not be established in C\Arquivos de programas\EasyPHP 2.0b1\www\ISSEC\index.php on line 35 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Arquivos de programas\EasyPHP 2.0b1\www\ISSEC\index.php on line 37

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha so o tamanho do erro

warning: mysql_query()[function.mysql-query]: Acesso negado para o usuario'ODBC'@'localhost'(senha usada:NÃO) in C:\Arquivos de programas\EasyPHP 2.0b1\www\ISSEC\index.php on line 35 Warning: mysql_query()[function.mysql-query]: A link to the server could not be established in C\Arquivos de programas\EasyPHP 2.0b1\www\ISSEC\index.php on line 35 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Arquivos de programas\EasyPHP 2.0b1\www\ISSEC\index.php on line 37

Deve ter faltado incluir o arquivo de conexão...

 

conexao.php:

<?
$servidor   =   "localhost";
$bd         =   "banco";
$usuario    =   "usuario";
$senha      =   "senha";

$conn    =   @mysql_connect($servidor, $usuario, $senha) 
             or die("ERRO NA CONEXÃO");

$db      =   @mysql_select_db($bd, $conn)
             or die("ERRO NA SELEÇÃO DO DATABASE");
?>

<?php include "conexao.php"; ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que tal postar este erro enorme? B)

Já tentou ler/interpretar o erro?

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

No arquivo .html onde voce está fazendo o select você incluiu o arquivo conexao.php ?

Isso é problema de conexão com o banco de dados, cola o arquivo conexao.php e também o código inteiro da página html contendo o form.

 

Também utiliza um echo ao invés de =

 

<?php echo $registro['razao']; ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, escreva todo o seu sistema e o que você quer fazer, pois não sabemos o que você quer certamente.

Pelo que entendo no seu script você puxa o 'nome da empresa' do valor 'razao' da tabela 'fornecedor' para um select, e você seleciona o 'nome da empresa' que quer excluir pelo select e conclui com um button correto?

Se for assim eu tenho um exemplo para você:

<?php
	include "conexao.php";
	$sql= "SELECT razao FROM fornecedor";
	$resultado = mysql_query($sql);
?>
<form name="form1" method="post">
<p>Excluir</p>
  <label>
  <select name="lista" size="1" id="lista">
    <option>
	<?php while ($registro = mysql_fetch_array($resultado)) {
	echo "$registro[razao]";
	} 
	?>
	</option>
  </select>
  </label>
  <label>
  <input name="button" type="submit" id="button" value="Excluir">
  </label>
</form>
depois é só fazer um delete ao submit.

Compartilhar este post


Link para o post
Compartilhar em outros sites

FIZ do jeito q você mostrou e quase deu

  <?php
			 include("conexao.php");
              
			  $sql= "SELECT razao FROM fornecedor ORDER BY razao ASC";
                        
               $resultado = mysql_query($sql);
            ?>         
               	<form name="exluir" method="POST" action="">
				    <p>Exluir</p>
					<label>
						<select name="exluir_fornecedor" size="1" id="lista" >
							<option>
					
								<?php 
									while ($registro=mysql_fetch_array($resultado))
									{
										echo"$registro[razao]";
									}
								?>
							</option>
						</select>
        
					</label> 
					<label> 
						<input name="exluir" type= "submit" value="excluir">
					</label>	
				</form>

o problema e q o echo esta imprimindo todos os valores de razao em uma linha so..

e eu preciso selecionar apenas um nome para excluir.. ja tentei da um <br> mas foi mesmm q nada..por favor me ajude!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente este trecho

 

<select name="exluir_fornecedor" size="1" id="lista" >
    <option>
    <?php 
         while ($registro=mysql_fetch_array($resultado)) {
                echo"$registro[razao]";
         }
    ?>
    </option>
</select>
desta forma

 

<select name="exluir_fornecedor" size="1" id="lista" >
<?php 
     while ($registro=mysql_fetch_array($resultado)) {
            echo '<option value="'.$registro['razao'].'">'.$registro['razao'].'</option>';
     }
?>
</select>
Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo deu certo!! quanto detalhe ein.. TANTOS('' "" ..) muito obrigado...

mas eu preciso selecionar o nome da empresa q esta no campo razao para a Exclusão.. mas para isso eu devo levar o -id- da empresa q no caso e id_fornecedor ai estou fazendo assim:

										echo '<option value="'.$registro['razao']&id=$registro['id_fornecedor'].'">'.$registro['razao'].'</option>';

estou tentando passar o -id- no "value" e no "action" eu chamoaction="excluir.php"

q no caso:

 

<?php//pagina de Exclusao do Fornecedor..

		 include("conexao.php");

	$codigo	= $GET['id'];
	
	$sql=" DELETE FROM fornecedor where id_fornecedor = '$codigo' ";
	
	$query = mysql_query($sql) or die (mysql_error() );

header("location:index.php?link=1");
?>

so q da erro:

Parse error: parse error, unexpected '=', expecting ',' or ';' in C:\Arquivos de programas\EasyPHP 2.0b1\www\ISSEC\index.php on line 48

existe outra forma de levar o -id- ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

vejamos se entendi:

você precisa passar o id no option??

 

se for isso, achu q se fizer desta forma resolve:

 

echo '<option value="'.$registro['id_fornecedor'].'">'.$registro['razao'].'</option>';

e na página excluir.php:

 

recupere desta forma:

 

$codigo = $_GET['lista'];

espero que ajude

qualquer coisa poste ai

abrx

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem que usar um foreach para recuperar os valores através de um array se entendi direito, pois é um select certo ? ? ?

 

Então fica +- assim acredito eu, se eu estiver errado alguém me corriga

 

<select name="exluir_fornecedor" size="1" id="lista" >
<?php 
     while ($registro=mysql_fetch_array($resultado)) {
            echo '<option name="txtid['.$registro['id'].']" value="'.$registro['id'].'">'.$registro['razao'].'</option>';
     }
?>
</select>

e no excluir você faz.

 

foreach($_POST['txtid'] as $idd){
$strSQL = mysql_query("DELETE * FROM tabela WHERE idfornecedor = {$idd}") or die (mysql_error());
}

Obs.: Preste atenção no method e action, nas config do form.

Compartilhar este post


Link para o post
Compartilhar em outros sites

vejamos se entendi:

você precisa passar o id no option??

 

se for isso, achu q se fizer desta forma resolve:

 

echo '<option value="'.$registro['id_fornecedor'].'">'.$registro['razao'].'</option>';

e na página excluir.php:

 

recupere desta forma:

 

$codigo = $_GET['lista'];

espero que ajude

qualquer coisa poste ai

abrx

 

amigo deste modo ñ deu certo!! tipo eu penso da seguinte forma eu passo o -id_fornecedor- da razao(q e o nome da empresa) para eu exclui-lo na pagina excluir.php ..

fiz assim so q tambem da erroo:

 

<form name="exluir" method="GET" action="excluir.php">
				    <p>Exluir</p>
					<label>
						<select name="exluir_fornecedor" size="1"  >
							
					
						<?php 
							while ($registro=mysql_fetch_array($resultado))
									{
									echo '<option value="'.$registro['razao'].'&'.$id=$registro['id_fornecedor'].'">'.$registro['razao'].'</option>';//da erro nessa linha
									
									}
						?>
						
						</select>
        
					</label> 
					<label> 
						<input name="exluir" type= "submit" value="excluir">
					</label>	
				</form>

pagina exluir.php

<?php//pagina de Exclusao do Fornecedor..

		 include("conexao.php");
	
	$codigo	= $GET['id'];
	
	$sql=" DELETE FROM fornecedor where id_fornecedor = '$codigo' ";
	
	$query = mysql_query($sql) or die (mysql_error() );

	header("location:index.php?link=1");
?>

você disse:

recupere desta forma:

 

$codigo = $_GET['lista'];

???

'lista'??

Compartilhar este post


Link para o post
Compartilhar em outros sites

boa noite!!

 

<form name="exluir" method="post" action="excluir.php">
  <p>Exluir</p>
      <label>
          <select name="exluir_fornecedor" size="1"  >
          <?php 
              while ($registro=mysql_fetch_array($resultado)){
                    echo "<option value=\"".$registro['id_fornecedor']."\">".$registro['razao']."</option>";
              }
          ?>
          </select>
          </label> 
          <label> 
              <input name="exluir" type= "submit" value="excluir">
          </label>        
</form>

desculpe pelo erro era $_POST .. rsrs

 

como já foi passado o name no select não é necessário no option, portanto no option só será nescessário passar o value

 

página excluir.php

 

<?php//pagina de Exclusao do Fornecedor..

        include("conexao.php");
        
        $codigo = $_POST['exluir_fornecedor']; // recupera do option
        
        $sql=" DELETE FROM fornecedor where id_fornecedor = '$codigo' ";
        
        $query = mysql_query($sql) or die (mysql_error() );

        header("location:index.php?link=1");
?>

posta dps o resultado

flw

abrx

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara parece q tem um espirito ruim nesse codigo..

o da para ver a razao.. mas tem erro dentro do <option>

erro: Notice:Undefined index: id_fornecedor in C/ arquivos e programas.............on line 49

 

pera cara vamos olhar por partes:

no value esta sendo passado o id for forneedor .$registro['id_fornecedor'].

e ai na pagina excluir.php :

$codigo = $POST['exluir_fornecedor'];// mas esse ñ e o name do select. ñ entendi esse parte?

no nome: exluir_fornecedor //esta sendo passado o id?

Compartilhar este post


Link para o post
Compartilhar em outros sites

pelo que entendi você precisa passar o id_fornecedor p/ página excluir.php para efetuar a exclusão, isso??

 

exluir_fornecedor = name do select

 

portanto: $codigo = $POST['exluir_fornecedor'] // recupera do select

 

se puder postar qual erro

 

flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

se isso mesmo q estou tentando fazer..

o erro e:

 

Notice:Undefined index: id_fornecedor in C:\Arquivos e programas\EasyPHP2.0b1\ISSEC\index.php on line 49

esse erro e dentro do <option> mesmo assim da pra ver a razao(nome da empresa) com esse erro em cima do nome..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo erro não foi definido nenhum valor p/ o id,

mas o estranho é que você consegue visualizar a razao

portanto teria que ser passado o id.. tá mto estranho

 

verifica se no codigo estão sendo digitados as aspas

 

$registro['id_fornecedor'] e $registro['razao']

 

talvez possa ser isso.

 

pois o php é zica qqr detalhe da erro.

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.