Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Zliczanie rekordów i sprawdźanie...
_Martin_
post 25.02.2009, 04:24:34
Post #1





Grupa: Zarejestrowani
Postów: 352
Pomógł: 9
Dołączył: 16.09.2005
Skąd: Rybnik

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


Witam


Mam sobie tabele "skład"
A W niej numery id_druzyny
Jak moge sprawdzić po za siedzieniem i wertowaniem ręcznym czy wszyscy mają swój skład (rekord)
Jeżeli liczba wszystkich druzy to 1470
Licząc że mogą mieć podwójne rekordy dla id_druzyny
Głownie mi chodzi o to jak można sprawdzić jakiego numeru nie ma w bazie, przy zakresie od 1 do 1470


--------------------
Go to the top of the page
+Quote Post
_olo_1984
post 25.02.2009, 08:17:20
Post #2





Grupa: Zarejestrowani
Postów: 289
Pomógł: 77
Dołączył: 5.08.2006

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


można np. tak
  1. SELECT DISTINCT id_druzyny FROM sklad


wynik zapytania zapisujesz do tablicy np. $row

potem możesz sobie stworzyć tablicę wypełnioną elementami od 1 do 1470
  1. <?php
  2. $tab = array();
  3. for($i = 1; $i <= 1470; $i++)
  4. {
  5.  $tab[] = $i;
  6. }
  7. ?>


a potem pętlą sprawdzać po kolei każdy element tablicy $row czy jest w tablicy $tab, jeżeli nie ma to dpisujesz do kolejnen tablicy

  1. <?php
  2. foreach($tab as $t)
  3. {
  4.    if(!in_array($t, $row))
  5.    {
  6.        echo 'Numeru '.$t.' nie ma w tablicy <br />';
  7.        // lub zrzut do tablicy
  8.    }
  9. }
  10. ?>


--------------------
awake
Go to the top of the page
+Quote Post
_Martin_
post 25.02.2009, 20:52:30
Post #3





Grupa: Zarejestrowani
Postów: 352
Pomógł: 9
Dołączył: 16.09.2005
Skąd: Rybnik

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


  1. <?php
  2. 0:
  3. Warning: in_array() [function.in-array]: Wrong datatype for second argument in E:Program FilesWebServhttpdplikistradd.php on line 26
  4. Numeru 1 nie ma w tablicy
  5. ?>


Cosik nie tak co to za błąd panowie ?

Olo mam problem z twoim sposobem
Mozesz powiedzioeć co nie tak?


--------------------
Go to the top of the page
+Quote Post
kefirek
post 25.02.2009, 21:08:09
Post #4





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


Powinno dzialac

  1. <?php
  2. $przedzial = range(1,1470);
  3.  
  4. $liczby = array();
  5.  
  6. $wynik = mysql_query("SELECT DISTINCT(id_druzyny) FROM sklad");
  7.  
  8. while($r = mysql_fetch_assoc($wynik)) {
  9.  
  10. if(!in_array($r['id_druzyny'], $przedzial)) { $liczby[] = $r['id_druzyny'];}
  11.    
  12. }  
  13.  
  14. foreach($liczby AS $wynik){
  15.  echo $wynik.'<br>';
  16. }
  17. ?>


Ten post edytował kefirek 25.02.2009, 21:21:19
Go to the top of the page
+Quote Post
_Martin_
post 25.02.2009, 21:21:43
Post #5





Grupa: Zarejestrowani
Postów: 352
Pomógł: 9
Dołączył: 16.09.2005
Skąd: Rybnik

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


Dzięki ale teraz mam pustą stronę z wynikami tzn:
Dużo <br> a zero wyników...


//Edit dobra pomyłka jest ok ale wpypisało wszystkie numery z bazy a nie pokazało gdzie jest pusty!

Ten post edytował _Martin_ 25.02.2009, 21:23:22


--------------------
Go to the top of the page
+Quote Post
kefirek
post 25.02.2009, 21:29:18
Post #6





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


Ok zrób tak i pokaze puste nr
  1. <?php
  2. $liczby = array();
  3.  
  4. $wynik = mysql_query("SELECT DISTINCT(id_druzyny) FROM sklad");
  5.  
  6. while($r = mysql_fetch_assoc($wynik)) {
  7. $przedzial[]=$r['id_druzyny'];
  8. }
  9.    
  10. for ($lp=0; $lp<1470; $lp++) {  
  11. if (!in_array($lp, $przedzial)) {$liczby[] = $lp; }
  12. }
  13.  
  14. foreach($liczby AS $wynik){
  15.  echo $wynik.'<br>';
  16. }
  17. ?>
Go to the top of the page
+Quote Post
_Martin_
post 25.02.2009, 21:32:01
Post #7





Grupa: Zarejestrowani
Postów: 352
Pomógł: 9
Dołączył: 16.09.2005
Skąd: Rybnik

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


Działa wielkie thx mi 1 sposób ola działał ale nie było pętli na pobieranie wyników z bazy i pobierało tylko 1 wynik z tablicy np $row[0] lub [141] ale git thx Pozdrawiam


--------------------
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 Wersja Lo-Fi Aktualny czas: 23.06.2025 - 13:42