Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MYSQL]praca z bazami danych
Forum PHP.pl > Forum > Przedszkole
Larges
Witam,
mam taki problem.
Chcę przejżeć konkretną tabelę bazy danych i zliczyć w niej ilość pól danej kolumny

przykład
Tabela "Kamil"
"ID"
"monety"
"banknoty"
chce zliczyć liczbę pól z rekordami przypisanymi do np "monety"

Jest jakaś funkcja do tego?
Z góry dziękuję i pozdrawiam.
potreb
  1. <?php
  2. $fields = mysql_list_fields('baza', 'tabela', $link);
  3. $columns = mysql_num_fields($fields);
  4.  
  5. for ($i = 0; $i < $columns; $i++) {
  6. $pole = mysql_field_name($fields, $i);
  7. $ilosc = mysql_fetch_row(mysql_query("SELECT COUNT(*) FROM $pole"));
  8. echo("Rekordów w polu $pole jest<b> ".$ilosc[0]);
  9.  
  10. }
  11. ?>


Moze zadziała
PiXel2.0
Cytat(potreb @ 14.05.2008, 16:05:38 ) *
  1. <?php
  2. $fields = mysql_list_fields('baza', 'tabela', $link);
  3. $columns = mysql_num_fields($fields);
  4.  
  5. for ($i = 0; $i < $columns; $i++) {
  6. $pole = mysql_field_name($fields, $i);
  7. $ilosc = mysql_fetch_row(mysql_query("SELECT COUNT(*) FROM $pole"));
  8. echo("Rekordów w polu $pole jest<b> ".$ilosc[0]);
  9.  
  10. }
  11. ?>


Moze zadziała

Takie cos nie ma prawa zadzialac poniewaz zapytanie bedzie probowalo odszukac tabele o nazwie pola... dry.gif

Poza tym i tak kazda tabela ma konkretna ilosc rekordow a nie inna dla kazdego pola wiec nie do konca rozumiem o co chodzi autorowi tematu questionmark.gif blinksmiley.gif

Aby uzyskac ilosc rekodrow tabeli nalezy postapic tak:
  1. <?php
  2. $result = mysql_query('SELECT COUNT(*) FROM tabela');
  3. $data = mysql_fetch_row($result);
  4. echo "W tabeli znajduje sie {$data[0]} rekordow";
  5. ?>


Aby uzyskac ilosc zapisanych pol dla kazdej kolumny (czyli gdzie wartosc komorki jest inna niz NULL) mozna uzyc czegos takieg:
(uwaga, kod pisany "z palca", nie sprawdzalem czy dziala...)
  1. <?php
  2. $result = mysql_list_fields('baza', 'tabela');
  3. $num_fields = mysql_num_fields($result);
  4. for($i = 0; $i < $num_fields; $i++){
  5.  $field_name = mysql_field_name($result, $i);
  6.  $c[] = "COUNT({$field_name}) AS {$field_name}";
  7. }
  8. $counts = implode(', ', $c);
  9. $result = mysql_query("SELECT {$counts} FROM tabela");
  10. $fields = mysql_fetch_array($result, MYSQL_ASSOC);
  11. foreach($fields as $field_name => $rows)
  12.  echo "{$field_name} - {$rows}<br />";
  13. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.