Jump to content
charly

MYSQL COUNT / mysql_num_rows

Recommended Posts

charly

Boas pessoal,

Encontro-me no momento a desenvolver um website, em que deverá existir numa página uma lista de categorias.

Essas categorias deverão ter de seguida o número de artigo dentro das mesmas, o que seria facil com o mysql_num_rows(), mas existe algo um pouco mais complexo que me transcende devido ao limite do meu conhecimento em SQL.

tendo uma table com os campos artigos (id, name, ref, time), e sabendo que o campo terá 3 tipos de introduções (null, ex.: 1, ex.: 1-2). Independentemente das 2 primeiras null, ou ex.: 1 o sistema deverá retornar +1, se existir "-" deverá somar +1 por cada.

Pode ser um bocado confuso, mas o que quero é, uma query em que retorne a soma dos resultados encontrados, mas que por cada "-" soma +1.

Ex.:

resultados de

SELECT ref FROM articles WHERE category = 3

é:

ref
1
2
3
4
5-6
7
8
9-10

apesar de só apresentar 8 linhas, deverá obter 10 como resposta. Imaginem o nr como letras, pois o conteudo é variavel.

ex.:

ref
a
b
c
d-e

rsultado é 5.

Obrigado pela vossa ajuda.

Edited by brunoais
geshi

Share this post


Link to post
Share on other sites
I-NOZex

se fosse a ti, pegava no resultado da query, deixava em array, aplicava um explode http://www.w3schools.com/php/func_string_explode.asp para separar, e depois obtia o lenght da array (;

edit:

aqui fica uma forma de fazer:

<?php
$res = array(1,2,3,4,5-6,7,8,9-10); //resultado da query em array
$count = 0;
foreach($res as $item){
$count += substr_count($item, '-'); //por cada hifen encontrado, incrementa o resultado. ex: se encontrar 1 hifen, incrementa 1, se encontrar 2, incrementa 2...
}
echo count($res)+$count; //conta os indices da array, e adiciona o numero de hifens encontrados
?>

Edited by I-NOZex

B2R » Beat2Revolution v3.0b | Regista e divulga-nos

beat2revolution.net

Share this post


Link to post
Share on other sites
charly

@I-NOZex mas eu queria evitar dar trabalho a mais ao apache. Queria que o SQL trata-se já desse assunto.

Mas claro posso estar a pensar errado.

Share this post


Link to post
Share on other sites
I-NOZex

nao creio que o sql consiga tratar-te desses dados, mas vou pesquisar melhor sobre esse assunto

mas digote ja que nao é por aquele snippet que o site vai ficar mais lento!


B2R » Beat2Revolution v3.0b | Regista e divulga-nos

beat2revolution.net

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.