Ta strona używa ciasteczek (cookies), dzięki którym nasz serwis może działać lepiej. Dowiedz się więcej OK, rozumiem

[mysql/php] jal zliczyc ile jest rekordow w bazie

Zdecydowałeś się na tworzenie interaktywnych stron przy pomocy PHP? Chcesz w łatwy i szybki sposób zarządzać danymi na swojej stronie? Tutaj znajdziesz pomoc w napotkanych przy tym trudnościach.

[mysql/php] jal zliczyc ile jest rekordow w bazie

Post 17.12.2004, 23:58:55

mam taki skrypt,

liczy teraz ile jest konrektych rekordów w danym typie
($danegotypu)
w tym przypadku konkretnie typu 1

i podaje mi tą liczbę na końcu $n1

ja natomiast chciałbym, aby skrypt wyliczył ile jest rekordów kazdego typu
1 - ?
2 - ?
...
aż do 21


chciałbym mieć dane, ile jest w kazdym typie (czyli od n1 do n21) rekordów

maszyna.id_typ='$danegotypu' - czyli ile w każdym maszyna.id_typ jest rekordów



Kod: Zaznacz cały
<?php

   polaczzbaza();
 
   $danegotypu = '1';

   $select = "SELECT maszyna.id_maszyna, maszyna.id_typ, status.id_status
FROM maszyna, typ, status

WHERE maszyna.id_typ = typ.id_typ and maszyna.id_status = status.id_status and status.id_status='1' and maszyna.id_typ='$danegotypu'";

   $query = mysql_query ($select) or die ('select text fail');
   while ($res = mysql_fetch_array ($query))

   {
         $n1++;
   }
      echo ("$n1");

?>
Ostatnio edytowano 18.12.2004, 00:11:05 przez Kai, łącznie edytowano 1 raz
świat zna odpowiedzi na wszystkie pytania. Problemem jest tylko to, że my nie znamy pytań.
Avatar użytkownikaKai
Posty: 427
Dołączył(a): 17.12.2003

Post 18.12.2004, 00:04:32

Może użyj tablicy:
Kod: Zaznacz cały
for ($i=1;$i<=21;$i++){
$result=mysql_query("select count(*) as liczba from tablica where typ=$i");
if ($result){
$line=mysql_fetch_array($result);
$liczba_typow[$i]=$line[liczba];
}
}

No i w tablicy o kluczach od 1 do 21 bedziesz miał dokładną liczbę rekordów o typie=$i
Moze zrobiłem jakiegos byka , ale chyba sie domyślisz.
Avatar użytkownikaLasoczczyk
Posty: 185
Dołączył(a): 20.11.2004
Lokalizacja: Łódź

Post 18.12.2004, 09:45:15

Lasoczczyk: a nie prosciej tak:
Kod: Zaznacz cały
SELECT COUNT(*) AS liczba, typ FROM tabela GROUP BY typ

Nie trzeba zadnych petli, tablic itp..
Avatar użytkownikatoszcze
Bartosz Romanowski

SuperGod
SuperGod

Posty: 8897
Dołączył(a): 14.10.2003
Lokalizacja: Mysłowice

Post 22.12.2004, 13:57:56

Kod: Zaznacz cały

<?php


require ("_przyczepa.php");

   zaczep_bazy();

$get = "SELECT COUNT(*) AS liczba, maszyna.id_maszyna, maszyna.id_typ, typ.id_typ, typ.nazwa_typ, typ.grupa FROM maszyna, typ WHERE maszyna.id_typ = typ.id_typ and typ.grupa='1' GROUP BY typ.id_typ ";
$query = mysql_query ($get);
while ($res = mysql_fetch_array ($query)){
$nazwa = str_replace (" " , "-" , $res['nazwa_typ'] );
$typ = array ( $res['id_typ'] => $res['liczba'] );
     if ($typ_count == ""){
     $typ_count = $typ;
     } else {
     $typ_count = $typ_count + $typ;
     }
}

?>

<table id="m_rolnicze">
<tr>
<td><a href="index.php?agro=maszyny-rolnicze">W S Z Y S T K I E</a></td>
</tr>


<?

   $get = "SELECT typ.id_typ, typ.nazwa_typ, typ.grupa FROM typ WHERE typ.grupa='1'

ORDER by id_typ ";
   $query = mysql_query ($get);
   while ($res = mysql_fetch_array ($query)){
   $id = $res['id_typ'];
   $nazwa = str_replace (" " , "-" , $res['nazwa_typ']);

      if (array_key_exists($id , $typ_count)){
           foreach ($typ_count as $key => $value){
              if ($id == $key){
              $count = $value;
              }
           }
      } else {
      $count = 0;
      }

    echo "<tr><td><a href=index.php?agro=maszyny-rolnicze&id=" . $nazwa . ">" . $nazwa . "</a>&nbsp;" . ($count);

   }


?>


</table>
<hr class="rolnicze" />


ale strasznie długie to wyszło,
jak to skrócić?
świat zna odpowiedzi na wszystkie pytania. Problemem jest tylko to, że my nie znamy pytań.
Avatar użytkownikaKai
Posty: 427
Dołączył(a): 17.12.2003


Powrót do PHP i bazy danych


 


  • Podobne wątki
    Odpowiedzi
    Wyświetlone
    Ostatni post

Kto przegląda forum

Użytkownicy przeglądający ten dział: Ahrefs [Bot] i 10 gości

Hosting, Domeny, SSL

Subskrypcja

Mamy 50665 zarejestrowanych użytkowników.
Najnowszy użytkownik: BestHR


Nasi użytkownicy napisali:

  • 936045 wiadomości
  • w 246706 tematach

Najnowsze wpisy na blogu

Najnowsze artykuły

Najaktywniejsi (ostatnie 30 dni)