Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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))
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
>
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"; ?>ñ e isso ñ amigo ja tem
include("conexao.php");
dentro do "option" era para aparecer o nome da empresa.... mas em vez disse aparece e esse erro enorme!
Que tal postar este erro enorme? B)
Já tentou ler/interpretar o erro?
Abraços.
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']; ?>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.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!!!
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.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- ?
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
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.>
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'??
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
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?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
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..
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.
sim esta bem detalhado olha so:
echo "<option value=\"".$registro['id_fornecedor']."\">".$registro['razao']."</option>";olha aqui:
$sql= "SELECT razao FROM fornecedor ORDER BY razao ASC";
viu ali a lista de campos ?
você está selecionando apenas a coluna razao
se quiser mais:
$sql= "SELECT id_fornecedor, razao FROM fornecedor ORDER BY razao ASC";entendeu ?
separando por virgulas..
SELECT campo1, campo2, campo3, campo4...
nuss tava preocupado com php que nem reparei na instruçao SQL
Eu fiz o SELECT so ñ postei..
<?php
include("conexao.php");
$sql= "SELECT razao FROM fornecedor ORDER BY razao ASC";
$resultado = mysql_query($sql)or die (mysql_error());
?>
<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['razao'].'&'.$id=$registro['id_fornecedor'].'">'.$registro['razao'].'</option>';
echo "<option value=\"".$registro['id_fornecedor']."\">".$registro['razao']."</option>";
//passando no value o -id- do fornecedor para exclusão.
}
?>
</select>
</label>
<label>
<input name="exluir" type= "submit" value="excluir">
</label>
</form>
a sim eu tenho q selecinar tambem o id_fornecedor no select..
e mesmo o erro saiu do <option> mas ñ esta acontecendo a Exclusão..
vou testa o codigo por parte..para ver se o -id- esta sendo passado.
aqui ta assim quando eu seleciono uma determinada razao clico em excluir..a pagina fica em branco..e como se no action a pagina excluir.php , ñ estivesse sendo chamada..
<?php $sql= "SELECT * FROM fornecedor ORDER BY razao ASC";
$resultado = mysql_query($sql)or die (mysql_error()); ?>
<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>
excluir.php
<?php
$codigo = $_POST['exluir_fornecedor'];
$sql=" DELETE FROM fornecedor where id_fornecedor = '$codigo' ";
$query = mysql_query($sql) or die (mysql_error() );
header("location:index.php?link=1");
?>
não esqueça de incluir a conexao
agora acho que funfa
flw
aii ta igual o meu tb ñ deu certo..
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.
[]'s