Jump to content


Photo

Somando ítens No Banco De Dados


  • Faça o login para participar
2 replies to this topic

#1 Invisigoth

Invisigoth

    Turista

  • Usuários
  • 27 posts
  • Sexo:Não informado

Posted 10/04/2007, 18:21

Tenho duas tabelas e cada novo ítem ganha um valor 1, 2, 3...em uma outra tabela outra tabela fizesse a soma de quantos ítens tem com determinado valor;



Esse código funciona, mas apenas para a soma em cada categoria individualmente. Aqui soma os ítens com valor 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 :wacko:

$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:
<span style='color:gray'>[<span style='color:black'>Chris ^_~ </span>]

#2 Guilherme Luiz

Guilherme Luiz

    Normal

  • Usuários
  • 78 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 11/04/2007, 13:27

eu naum entendi direito de onde vem esse mycatid... vem de checkbox ???
caso venha tenta assim...
faz assim oh... usa aquele esqueminha do $i++;... tenta assim

$i=0;
foreach( $mycatid as $mycat) {
$catcount = $wpdb->get_var("SELECT COUNT(*) FROM ".TABLE_AM_QUESTIONS." WHERE ".TABLE_AM_QUESTIONS.".category = '$mycatid[$i]'");
$wpdb->query("UPDATE ".TABLE_AM_CATEGORIES." SET category_count = '$catcount' WHERE ".TABLE_AM_CATEGORIES.".category_ID = '$mycat[$i]'");
$i++;
}


assim eh provavel que de erro ali na parte do $mycatid[$i]... mas ali a parte do $mycat[$i] tah certinho !!

mas de qualquer forma dah uma estudana nesses links aki que você concerteza vai tirar essa sua duvida...

http://www.php.net/m...res.foreach.php
http://www.php.net/m...s.increment.php

flw
just its a lie when the truth is found !

#3 Invisigoth

Invisigoth

    Turista

  • Usuários
  • 27 posts
  • Sexo:Não informado

Posted 11/04/2007, 16:18

olá guilherme obrigada pela resposta..eu tentei aqui mas deu erro arning: Invalid argument supplied for foreach() ;_;

Então o mycatid não vem do checkbox..vem do banco de dados. Explicando melhor tenho duas tabelas, question e category. Queria atualizar o category_count, conforme quantas questions tem em determinada categoria.

----------------

editado!

consegui! coloquei um mycatid errado..toing. Obrigada pela resposta..me fez reparar nesse detalhe XD

$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 = [b]'$mycatid[/b]'");
			$wpdb->query("UPDATE ".TABLE_AM_CATEGORIES." SET category_count = '$catcount' WHERE ".TABLE_AM_CATEGORIES.".category_ID = '$mycat'");

Edição feita por: Invisigoth, 11/04/2007, 16:19.

<span style='color:gray'>[<span style='color:black'>Chris ^_~ </span>]




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq