Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wyszukac '1' w catX i podac ile razy
POLVIP
post
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 1.11.2003
Skąd: Long Island, NY USA

Ostrzeżenie: (0%)
-----


kolejny orzech do zgryzienia
nie jestem pewny czy to można to rozwiązać tylko przy mySQL

mam tabelę z id, cat1,cat2,cat3,cat4...cat76
id to INT(4)
cat1-75 to tinyint(1)
w zależności czy jest lub nie ma jest 0 i 1 np:

id=12, cat1=0, cat2=1, cat3=1, cat4=0....
id=13, cat1=1, cat2=1, cat3=0, cat4=1....

Jak teraz uzyskać wynik na ile 1 jest w kazdym z cat np:

cat1 = 34
cat2 = 44
cat75 = 8

Czy uda sie to zrobic tylko w SELECT?
Jesli nie, jaki bybly najlatwiejszy sposob na połączenie z php?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
spenalzo
post
Post #2





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Więc tak - jeżeli to w ogole zadziała to w MySQL 4.1.1
[php:1:29ef791a03]<?php
for($i=1; $i<=75; $i++)
{
$sql[]="( SELECT COUNT(cat".$i.") AS ilosc, 'cat".$i."' AS kat FROM tabela WHERE cat".$i." = 1 GROUP BY cat".$i." )";
}
$sql=implode(" UNION ", $sql);
$sql.=" ORDER BY ilosc DESC";
$res=mysql_query($sql) or die(mysql_error());
while($t=mysql_fetch_array($res))
{
echo $t["kat"]." ".$t["ilosc"]."<br>";
}
?>[/php:1:29ef791a03]

To jest czysta teoria, wiec nie mam pojęcia czy to będzie działać - ale naprawde radze przeprojektować strukture tabeli...

Update: poprawka w SQLu i php (dodane wyswietlanie).
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 01:29