Ir para conteúdo
Fórum Script Brasil
  • 0

Atualiza Banco De Dados


will

Pergunta

Posts Recomendados

  • 0

mas tipo,

você quer alterar esse campos da tabela de seu banco de dados atravez de um comando sql dentro de uma pagina em php?

por exemplo assim:

$sql = mysql_query("SELECT <campo> FROM <tabela>");

if(!$sql){

echo "Error no comando sql";

}else{

echo "Funcionou!";

}

é mais ou menos assim?

PS: nâo se esqueça da conexão com o banco!

Link para o comentário
Compartilhar em outros sites

  • 0

veja o codigo ae talvez você enteda melhor

<?php do { ?>
              <tr>

                <td class="style25 style26"><?php echo $row_wcom['nome_prod']; ?></td>
                <td class="style27"><?php echo $row_wcom['produto']; ?>  <?
     $uni = $row_wcom['midia'];
     $cad = $row_wcom['cod_compra'];
     if($_POST[opc_atualizar]){
     
     $unidades = $_POST['unidades$uni'];
     
      mysql_select_db($database_pohs, $pohs);
     $query = sprintf("UPDATE compras SET cod_compra=$cad WHERE midia=$unidades");
     $result = mysql_query($query) or die("aqui");
    
     }
     ?>   </td>
                <td class="style27"><input name="unidades<?php echo $row_wcom['cod_compra']; ?>" type="text" id="unidades<?php echo $row_wcom['cod_compra']; ?>" value="<?php echo $row_wcom['midia']; ?>" size="3" maxlength="3">                  <input name="cod_compra<?php echo $row_wcom['cod_compra']; ?>" type="hidden" id="cod_compra2" value="<?php echo $row_wcom['cod_compra']; ?>"></td>
                <td class="style27"><?php echo $row_wcom['valor']; ?></td>
                <td class="style27"><?php  $total = $row_wcom['midia']*ereg_replace(",",".",$row_wcom['valor']);
    echo number_format($total,2,',','.');
    ?></td>
                <td class="style27">&nbsp;</td>
              </tr>
              <?php } while ($row_wcom = mysql_fetch_assoc($wcom)); ?>

Link para o comentário
Compartilhar em outros sites

  • 0

$query = sprintf("UPDATE compras SET cod_compra=$cad WHERE midia=$unidades");

    $result = mysql_query($query) or die("aqui");

acho que eu intendi.

você quer q muda cod_compra=$cad e midia=$unidades.

se for, eu idico você a fazer assim:

cria um novo campo no seu banco chamado de id, deixa ele como principal e coloca um auto_incremete.

ai você vai fazer assim:

$query = sprintf("UPDATE compras SET cod_compra=$cad AND midia=$unidades WHERE id=$id");
    $result = mysql_query($query) or die("aqui");

ps: você deve criar uma variavel para id

qualquer dúvida posta ai! biggrin.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Oi Galera obrigado pela atenção de cada um ...

Vou tentar ser mais claro ....

Olha eu tem um banco de dados que é um tipo de cesta onde guarda algumas informações que são adiconadas .... onde tem os seguinte campos:

{

cod_compra = contem o dado onde mostra a indentificação de cada produto

prod = o nome do produto

quantia = a quantia de produtos

temp = indentificação temporaria

pag = forma de pagamento

status = o estatus da compra

}

// esses dados acima é o banco de dados

Agora vou falar sobre a pagina que mostra esses dados

<?php require_once('Connections/pohs.php'); ?>
<?php
$colname_pq = "1";
if (isset($_GET['session'])) {
  $colname_pq = (get_magic_quotes_gpc()) ? $_GET['session'] : addslashes($_GET['session']);
}
mysql_select_db($database_pohs, $pohs);
$query_pq = sprintf("SELECT * FROM compras WHERE id_temp = '%s'", $colname_pq);
$porque = mysql_query($query_pq, $pohs) or die(mysql_error());
$row_pq = mysql_fetch_assoc($porque);
$totalRows_pq = mysql_num_rows($porque);
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
<title>ops</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.prot {font-family: Tahoma}
.style22 {font-family: Tahoma; font-size: 12px; }
.style24 {
	color: #FFFFFF;
	font-weight: bold;
	font-family: Tahoma, Verdana, Arial, sans-serif;
	font-size: 10px;
}
.style25 {font-family: Tahoma, Verdana, Arial, sans-serif}
.style26 {font-size: 10px}
.style27 {font-family: Tahoma, Verdana, Arial, sans-serif; font-size: 10px; }
-->
</style>
</head>
<body  leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="585" height="46" border="0" cellpadding="1" cellspacing="1">
  <tr>
    <td width="3" rowspan="3">&nbsp;</td>
    <td width="555"><img src="images/px1.gif" width="1" height="5"></td>
  </tr>
  <tr>
    <td><form action="<?php echo $editFormAction; ?>" method="POST" name="up" id="up">
      <table width="575"  border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td width="575"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td>produtos</td>
                <td>c&oacute;digo</td>
                <td>unidades</td>
                <td>subtotal</td>
                <td>total</td>
                <td>apagar</td>
              </tr>
              <?php do { ?>
              <tr>

                  <td class="style25 style26"><?php echo $row_pq['nome_prod']; ?></td>
                  <td class="style27"><input name="hiddenField" type="hidden" value="<?php echo $row_pq['cod_compra']; ?>"></td>
                  <td class="style27"><input name="quantia" type="text" id="quantia" value="<?php echo $row_pq['quantia']; ?>"  size="3" maxlength="3">
                  </td>
                  <td class="style27">&nbsp;</td>
                  <td class="style27">&nbsp;</td>
                  <td class="style27"><span class="style25 style26"></span></td>
              </tr>
              <?php } while ($row_pq = mysql_fetch_assoc($porque)); ?>

          </table></td>
        </tr>
        <tr>
          <td>&nbsp;</td>
        </tr>
      </table>
      
        <input type="submit" name="Submit" value="atualizazr">
    </form>      </td>
  </tr>
  <tr>
    <td rowspan="2"><table width="574" border="0" cellspacing="0" cellpadding="0" bgcolor="#949494">
        <tr>
          <td width="2" height="18"><img src="images/curvaVitrine1.gif" width="3" height="18"></td>
          <td height="18" width="16"><img src="images/setaVitrine.gif" width="12" height="13"></td>
          <td height="18" class="style3 normalBold"><span class="style24"> AINDA TEM + ! </span></td>
          <td width="2" height="18"><img src="images/curvaVitrine2.gif" width="3" height="18"></td>
        </tr>
    </table></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><span class="style22">  </span></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><table width="574" border="0" cellspacing="0" cellpadding="0" bgcolor="#949494">
        <tr>
          <td width="2" height="18"><img src="images/curvaVitrine1.gif" width="3" height="18"></td>
          <td height="18" width="16"><img src="images/setaVitrine.gif" width="12" height="13"></td>
          <td height="18" class="style3 normalBold"><span class="style24"> DESCRI&Ccedil;&Atilde;O GERAL </span></td>
          <td width="2" height="18"><img src="images/curvaVitrine2.gif" width="3" height="18"></td>
        </tr>
    </table></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><span class="style22"></span></td>
  </tr>
</table>
</body>
</html>
<?php
mysql_free_result($porque);
?>

// como todos podem ver exite um ( input type="text" ) que se repete de acordo com os dados ...

ae quando eu quero atualizar esse ( input type="text" ) = quantia ele so atualiza o ultimo ....

isso sabendo que existe algumas repetições .... eu tentei usar o Array mais não tive sucesso !

Link para o comentário
Compartilhar em outros sites

  • 0

Oi Error404,

muito obrigado pela atenção ....

Olha o q eu quero fazer é o seguinte ...

eu estou criando um cesta de compras ...

eu consigo adicionar e deletar mas quando eu tenho que atualiza a quantia de um produto não da certo ...

Link para o comentário
Compartilhar em outros sites

  • 0

cod_compra int(11) Não auto_increment

nome_prod varchar(120) Sim NULL

valor int(11) Sim NULL

midia varchar(10) Sim NULL

id_temp varchar(60) Sim NULL

form_pag varchar(20) Sim NULL

status varchar(10) Sim não

cod_usuario int(11) Sim NULL

produto varchar(255) Não

Link para o comentário
Compartilhar em outros sites

  • 0

Cara eu sei qual é o teu problema, você está utilizando os mesmo nomes de campos pra todos os teus inputs de quantia e por isso ele sempre atualiza o último pois foi o último q ele gravou no input. Tenta colocar algo que diferencie os hidden como por exemplo o cod_compra junto com o nome, dae você trata isso na hora que receber o formulário em outra página...

Não sei se fui bem claro, qualquer coisa posta ae...

abraço

Crystian

Link para o comentário
Compartilhar em outros sites

  • 0

Acho que entendi também.

Isso só acontece quando você quer editar a quantidade dos produtos certo?

Então eu acho melhor você, na hora de mostrar o form pra edição, dar ao name do input o nome do produto. Assim você já sabe qual produto está tendo a sua quantidade alterada e pode fazer um foreach ou qualquer outro laço depois... smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0

isso mesmo, também pode ser assim error404.

Will, você está setando apenas uma variavel pois o nome dela é sempre o mesmo dentro do teu while. Se você trocar o nome e colocar o q o error falou, na página de tratamento você pode fazer um update pelo nome.

Pensando bem, ERROR e se o cara comprar duas vezes o mesmo produto? vai dar merda! é melhor fazer o q te disse, coloca o cod_compra junto com o nome e depois trata q fica bem mais fácil...

Abraço

Crystian

Link para o comentário
Compartilhar em outros sites

  • 0

Não...

pensa comigo, ele vai fazer registro por registro, então vai ter o produto computador com a quantidade 2 depois tem outro produto computador com a quantidade 3, o que vai acontecer?... ele vai fazer um update primeiro colocando a quantidade pra 2 e depois colocando pra 3, quando na verdade ele queria 5 computadores. Entendeu? além do que o código dos dois é diferente qual ele vai gravar corretamente?

Abraço

Crystian

Link para o comentário
Compartilhar em outros sites

  • 0

Eu já penso diferente:

se começa errado ou termina errado ou tem mais trabalho e gambiarra que tudo

o melhor jeito de fazer isso é criar um banco bem modelado e relacionado depois

sim fazer as telas de cadastros edição etc... muito mais pratico e funcional

o principal num sistema começa pelo banco de dados

mas beleza esse é meu jeito

vou dar um exemplo de como fazer um simples banco de dados sobre produto

pk = Primary Key ou chave primaria

fk = Foreign key ou chave estrangeira

tabela produto

pkProduto

fkCategoria

descProduto

nomeProduto

preço

tabela categoria

pkCategoria

nomeCategoria

tabela estoque

pkEstoque

fkProduto

quantidade

esse é um jeito simples mas que seja modelado e relacionado pra ficar pratico na hora das pesquisas etc...

da pra fazer um banco bem legal

Link para o comentário
Compartilhar em outros sites

  • 0
Eu já penso diferente:

se começa errado ou termina errado ou tem mais trabalho e gambiarra que tudo

o melhor jeito de fazer isso é criar um banco bem modelado e relacionado depois

sim fazer as telas de cadastros edição etc... muito mais pratico e funcional

o principal num sistema começa pelo banco de dados

mas beleza esse é meu jeito

vou dar um exemplo de como fazer um simples banco de dados sobre produto

tabela produto

pk = Primary Key ou chave primaria

fk = Foreign key ou chave estrangeira

pkProduto

fkCategoria

descProduto

nomeProduto

preço

tabela categoria

pkCategoria

nomeCategoria

tabela estoque

pkEstoque

fkProduto

quantidade

esse é um jeito simples mas que seja modelado e relacionado pra ficar pratico na hora das pesquisas etc...

da pra fazer um banco bem legal

Concordo inteiramente com o fabyo, melhor arrumar enquanto ainda tem 5 000 registros do que quando tiver 100 000... rolleyes.gif

Não...

pensa comigo, ele vai fazer registro por registro, então vai ter o produto computador com a quantidade 2 depois tem outro produto computador com a quantidade 3, o que vai acontecer?... ele vai fazer um update primeiro colocando a quantidade pra 2 e depois colocando pra 3, quando na verdade ele queria 5 computadores. Entendeu? além do que o código dos dois é diferente qual ele vai gravar corretamente?

Entendo, claro, mas ele não vai simplesmente colocar o novo valor, ele vai incrementar o valor em X... por isso não teria esse problema... se tem um com 2 e um com 3, ele vai somar 2 e depois somar 3. cool.gif

Link para o comentário
Compartilhar em outros sites

  • 0
Fabyo tb concordo contigo...

Error o problema disso é q ele não deve incrementar pois ele tem dois ids diferentes. O que ele faz com o outro id da compra?

Se ele tem 2 ids diferentes ele tem um problema, porque produtos iguais tem que entrar com ids iguais, se ele não previu isso, vai ter que fazer um select pra ver se aquele produto já existe, caso exista usar a id já existente...

Link para o comentário
Compartilhar em outros sites

  • 0

pelo q entendi, ele tem um carrinho de compras e nesse carrinho ele vai inserindo vários itens. O que pode ocorrer é q o cara inseriu duas vezes o mesmo produto e vai gerar dois registros diferentes, com dois ids diferentes. Agente tah discutindo uma coisa q não vai levar a resolver a dúvida do cara. O importante é que ele trate os valores que vierem da tela, que é por isso o erro dele.(Ele tah colocando o mesmo nome nos inputs). Vamos deixar o cara responder pra ver se ele conseguiu resolver o problema ou não...

Abraço

Crystian

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...