Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [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!
Go to the top of the page
+Quote Post
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
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 (IMG:http://forum.php.pl/style_emoticons/default/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
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
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)];
(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Jak nie dopiszę to działa ale najpierw mam linię z błędem
Pozdr
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? (IMG:http://forum.php.pl/style_emoticons/default/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... (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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: 22.08.2025 - 20:04