Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Zliczenie tych samych imion w bazie
Forum PHP.pl > Forum > Przedszkole
djbit
Cześć,
próbuje przez prawie cały dzień coś wykombinować aby zliczyć imiona z bazy danych i nie potrafię tego rozgryźć.

Nazwa tabeli to "karty", zawiera mnóstwo kolumn i w niektórych z nich wstawione jest imię i nazwisko. Kolumny są ponumerowane kolumna1, kolumna2, kolumna3 ... kolumna150

Imię i nazwisko osób to:
Jan Kowalski,
Grzegorz Wolny,
Artur Polak

Potrzebuję zliczyć ilość wystąpień w całej tabeli każdego imienia i nazwiska i przypisać to do zmiennych i wyświetlić wynik na stronie.

$dane1 = "Jan Kowalski"
$iloscwystapien1 =

$dane2 = "Grzegorz Wolny"
$iloscwystapien2 =

$dane3 = "Artur Polak"
$iloscwystapien3 =
markonix
Jeżeli baza składa się z czegoś takiego jak
Cytat
kolumna1, kolumna2, kolumna3 ... kolumna150
to najpierw zajmij się strukturą, a potem z niej coś wyciągaj.
dublinka
Musisz zczytac wszystko do jednej tablicy.

  1. <?php
  2. $tablica = array('Jan Serce',
  3. 'Maria Dąbrowska',
  4. 'Bolesław Chrobry',
  5. 'Zygmunt III Waza',
  6. 'Bolesław Chrobry',
  7. 'Maria Dąbrowska',
  8. 'Fryderyk Chopin',
  9. 'Jan Serce',
  10. 'Zygmunt III Waza',
  11. 'Bolesław Chrobry');
  12.  
  13. for($i=0;$i<count($tablica);$i++){
  14. $ile=0;
  15. for($j=0;$j<count($tablica);$j++){
  16. if(chop($tablica[$i])==chop($tablica[$j])){
  17. $ile++;
  18. $tab[chop($tablica[$i])]=$ile;
  19. }
  20. }
  21. }
  22. echo("Najczęsciej szukane słowa:<br>");
  23. arsort($tab);
  24. for(reset($tab);$klucz=key($tab);next($tab))
  25. {
  26. echo $klucz . ': <b><u>' . pos($tab) . "</u></b><br>";
  27. }
  28. ?>


Albo:

  1. $tbl = array_count_values($tablica);
  2. arsort($tbl);
  3. foreach($tbl as $kl => $val)
  4. {
  5.  
  6. echo $kl . ' ' . $val . '<br>';
  7.  
  8. }
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.