Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php/mysql]Zliczanie wybranych rekordów, takim samym polem
jastu
post
Post #1





Grupa: Zarejestrowani
Postów: 382
Pomógł: 0
Dołączył: 29.11.2005
Skąd: :jestem();

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


Proszę o podpowiedź :

jest tabela która ma pole id ale nie jest PRIMARY KEY (wartości się powtarzają).
Potrzebna jest mi pętla która sprawdzi czy w polu id dana wartość powtórzyła więcej niż 10 razy.
thanks!


--------------------
Powyższy post wyraża jedynie opinię autora w dniu dzisiejszym. Nie może on służyć przeciwko niemu w dniu jutrzejszym. Ponadto autor zastrzega sobie prawo zmiany poglądów, bez podawania przyczyny.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@jastu ale moglbys sie troche wysilic....
Zobacz na Forum php.pl
dowiedziales sie tam o takim cudzie jak: group by, having, count(*)
te trzy rzeczy wlasnie wystarcza ci do rozwiazania Twego problemu
edit: pomijam juz takie podstawy jak: select, from, where smile.gif


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
jastu
post
Post #3





Grupa: Zarejestrowani
Postów: 382
Pomógł: 0
Dołączył: 29.11.2005
Skąd: :jestem();

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


Problemu z tworzeniem prostych zapytań nie mam, chodzi o coś innego.
Skrypt pobiera pierwszą wartość z pola ID i sprawdza ile razy występuje ona w innych rekordach kolumny ID - jeśli zliczy wyświetla tą wartość i pobiera kolejną wartosć z pola ID pomijając tą poprzednią . Mam nadzieję że nie jestem w błędzie worriedsmiley.gif

może jakoś tak - sortuję tabelę wg pola ID , biorę najmniejsze ID do skryptu i zliczam ile razy występuje ,ID++ i jeszcze raz zliczam aż do największego ID w kolumnie

Ten post edytował jastu 18.05.2006, 12:58:11


--------------------
Powyższy post wyraża jedynie opinię autora w dniu dzisiejszym. Nie może on służyć przeciwko niemu w dniu jutrzejszym. Ponadto autor zastrzega sobie prawo zmiany poglądów, bez podawania przyczyny.
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




no przeciez ci tlumacze... group by. pomysl troche na podstawie analizy swoich pozostalych topicow.
  1. SELECT ID, count(ID) ilosc
  2. FROM tabela
  3. GROUP BY ID

a jak dorobic warunek na wieksze od 10 to juz pomysl i poczytaj manuala i skorzystaj z podpowiedzi co ci udzielilem wczesniej


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
jastu
post
Post #5





Grupa: Zarejestrowani
Postów: 382
Pomógł: 0
Dołączył: 29.11.2005
Skąd: :jestem();

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


  1. <?php
  2.  
  3. $r=mysql_query("select ok_id_zgl,count(ok_id_zgl) from ok group by ok_id_zgl ;");
  4.  
  5. for($i=1;$i<=mysql_num_rows($r);$i++)
  6. {
  7. $ilosc=@$f[count(ok_id_zgl)];
  8. $wiersz=@$f[ok_id_zgl];
  9.  if($ilosc>10)
  10.  {
  11.  $wykonaj = mysql_query ("update zgloszenia set grupa='oc3' where id_zgl='$wiersz' ;");
  12.  }
  13.  
  14. }
  15.  
  16.  
  17. ?>

Jeszcze jedno tak BTW - dlaczego zawsze muszę dopisywać małpę tzn. @$f[count(ok_id_zgl)];
questionmark.gif Jak nie dopiszę to działa ale najpierw mam linię z błędem
Pozdr


--------------------
Powyższy post wyraża jedynie opinię autora w dniu dzisiejszym. Nie może on służyć przeciwko niemu w dniu jutrzejszym. Ponadto autor zastrzega sobie prawo zmiany poglądów, bez podawania przyczyny.
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
dlaczego zawsze muszę dopisywać małpę

A kto ci kaze? smile.gif
manual, manual i jeszcze raz manual:
http://pl.php.net/manual/pl/language.opera...rrorcontrol.php

a blad ci wywala, bo indexy textowe trzeba podawac w ciapkach '':
  1. <?php
  2. $ilosc=$f['count(ok_id_zgl)'];
  3. ?>

reszta podobnie

edit: a ten warunek:
if($ilosc>10)
to w zapytaniu mogles zrobic jak pisalem, ale oczywiscie nie chcialo sie poszukac... smile.gif


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 13:44