Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho duas tabelas no banco de dados: cor e produtos, Gostaria que o depois que eu enviasse um formulário com o nome e cor do produto o campo cor_total atualizasse a soma ítens de uma especificada cor
cor_nome____cor_total
Azul _______ 2
Verde_______ 1
prod ________ prod_cor
Bicileta _______ Azul
Chaveiro______ Azul
Lapis_________ Verde
Alterei o código baseado num outro codigo que tinha aqui...
$cnome = $wpdb->get_col("SELECT cor_nome FROM $wpdb->cor"); foreach ( $cnome as $cornome ) { $contarcor = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->produtos WHERE $wpdb->produtos.prod_cor = '$cnome'"); $wpdb->query("UPDATE $wpdb->cor SET cor_total = '$contacor' WHERE prod_cor = '$cornome'"); }
Acontece que ele da esse erro :(
>
Voc� tem um erro de sintaxe no seu SQL pr�ximo a ‘’ na linha 1]
SELECT cor_nome
...
Warning: Invalid argument supplied for foreach()
[http://forum.imasters.com.br/public/style_emoticons/](http://forum.imasters.com.br/public/style_emoticons/)default/upset.gif [http://forum.imasters.com.br/public/style_emoticons/](http://forum.imasters.com.br/public/style_emoticons/)default/upset.gif [http://forum.imasters.com.br/public/style_emoticons/](http://forum.imasters.com.br/public/style_emoticons/)default/upset.gif Como eu sou total nooob há grandes chances de ou o código estar errado ou de eu estar inserindo no local errado. Qual o jeito certo de inserir esse código.
Junto com o campo que seleciona a cor(estou usando um select com as opções Azul ou Verde)? O_oQuase resolvido, mas ainda consigo fazer que ele faça a soma automaticamente lá no banco de dados. :/
Esse código funciona, mas apenas para a soma em cada categoria individualmente. Aqui soma os ítens da categoria 1:
$catcount = $wpdb->get_var("SELECT COUNT(category) FROM ".TABLE_AM_QUESTIONS." WHERE ".TABLE_AM_QUESTIONS.".category = 1"); $wpdb->query("UPDATE ".TABLE_AM_CATEGORIES." SET category_count = '$catcount' WHERE category_ID = '1'");
Assim teria que repetir o código pra categoria 1, 2, 3 4...Queria fazer o código que já somasse todas as categorias, mas uso o código abaixo e não acontece nada...o resultado continua 0 :(
$mycatid = $wpdb->get_col("SELECT category_ID FROM ".TABLE_AM_CATEGORIES.""); foreach( $mycatid as $mycat) { $catcount = $wpdb->get_var("SELECT COUNT(*) FROM ".TABLE_AM_QUESTIONS." WHERE ".TABLE_AM_QUESTIONS.".category = '$mycatid'"); $wpdb->query("UPDATE ".TABLE_AM_CATEGORIES." SET category_count = '$catcount' WHERE ".TABLE_AM_CATEGORIES.".category_ID = '$mycat'"); }
:unsure:
Troco um ovo de pascoa semi-comido pela resposta do tópico. XD
flood e up é proibido Invisigoth,
leia as regras do fórum: Regras
seu último post é o mesmo que o seu 3°Post...
ele foi excluído!
respondendo sua dúvida:
é só fazer:
e verifica antes, se não existir nenhum registro de cor_nome = a cor escolhida, adiciona...se tiver, apenas soma, como abaixo:
if($_POST['cor'] == 'azul') { mysql_unbuffered_query("UPDATE tabela SET cor_total = cor_total+1 WHERE cor_nome = 'Azul' LIMIT 1;"); }desculpaa o flood, mas é que precisava muito da resposta. mas ja conseguirera só trocar o mycatid $catcount = $wpdb->get_var("SELECT COUNT() FROM ".TABLE_AM_QUESTIONS." WHERE ".TABLE_AM_QUESTIONS.".category = '$mycatid'por mycat... XD $catcount = $wpdb->get_var("SELECT COUNT() FROM ".TABLE_AM_QUESTIONS." WHERE ".TABLE_AM_QUESTIONS.".category = '$mycat'
editado...VVV