Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Przedszkole _ [PHP][MySQL]Zliczenie tych samych imion w bazie

Napisany przez: djbit 20.07.2019, 21:04:39

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 =

Napisany przez: markonix 21.07.2019, 18:12:57

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.

Napisany przez: dublinka 21.07.2019, 20:39:35

Musisz zczytac wszystko do jednej tablicy.

  1. <?php
  2. $tablica = http://www.php.net/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(http://www.php.net/chop($tablica[$i])==http://www.php.net/chop($tablica[$j])){
  17. $ile++;
  18. $tab[http://www.php.net/chop($tablica[$i])]=$ile;
  19. }
  20. }
  21. }
  22. http://www.php.net/echo("Najczęsciej szukane słowa:<br>");
  23. http://www.php.net/arsort($tab);
  24. for(http://www.php.net/reset($tab);$klucz=http://www.php.net/key($tab);next($tab))
  25. {
  26. http://www.php.net/echo $klucz . ': <b><u>' . http://www.php.net/pos($tab) . "</u></b><br>";
  27. }
  28. ?>


Albo:

  1. $tbl = http://www.php.net/array_count_values($tablica);
  2. http://www.php.net/arsort($tbl);
  3. foreach($tbl as $kl => $val)
  4. {
  5.  
  6. http://www.php.net/echo $kl . ' ' . $val . '<br>';
  7.  
  8. }

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)