Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Rozpisanie kombinacji z zakresu liczb.
Forum PHP.pl > Forum > Przedszkole
woxala123
Witam. Zrobiłem taki początkowy skrypt który najpierw pobiera liczby jakie występowały, apotem chce ten wynik zapytania rozpisać jakby dalszym kodem. I znów błądzę jak to ugryżć.
Oto kod
  1. try
  2. {
  3. $sql=" SELECT liczba FROM ` liczby` ";
  4.  
  5. $result = $pdo->query($sql);
  6.  
  7. }
  8. catch (PDOException $e)
  9. {
  10. $error = 'Error: ' . $e->getMessage();
  11. ;
  12. exit();
  13. }
  14. $result = $pdo->query($sql)->fetchAll();
  15. if (count($result) > 0) {
  16. foreach ($result as $row) {
  17. echo $row['liczba']. ' ';
  18. }
  19. }
  20. //Dalsza część kodu która ma za zadanie rozpisać z tych liczb kombinacje.
  21. $words = // I w tym miejscu nie wiem co wpisać by były liczby z tego zapytania powyżej by mógł potem rozpisać kombinacje
  22. //Jeśli wpiszę dla przykładu wpiszę array('21', '24', '31', '35'); to fajnie to rozpiszę. Tylko chciałbym to robić wynikiem zapytania.
  23. //Proszę o pomoc.
  24.  
  25.  
  26. $num = count($words );
  27.  
  28.  
  29.  
  30. //The total number of possible combinations
  31.  
  32. $total = pow(2, $num);
  33.  
  34.  
  35.  
  36. //Loop through each possible combination
  37.  
  38. for ($i = 0; $i < $total; $i++) {
  39.  
  40. //For each combination check if each bit is set
  41. for ($j = 0; $j < $num; $j++) {
  42.  
  43. //Is bit $j set in $i?
  44.  
  45. if (pow(2, $j) & $i) echo $words[$j] . ' ';
  46. }
  47. echo '<br />';
  48. }
  49.  
Pyton_000
przecież wyświetlasz liczby więc jaki problem dodawać je do tablicy?
woxala123
No włąśnie i znów leżę z tymi tablicami. Zgadza się wyświetla tylko co podstawić do tego $words? Czyli sugerujesz echo $row['liczba']. ' ';
Robię coś takiego $words= explode(',', $result); i dostaje komunikat
! ) Warning: explode() expects parameter 2 to be string, array given in C:\xampp\htdocs\suzo\vn.php on line 39
Call Stack
# Time Memory Function Location
1 0.0008 359704 {main}( ) ...\vn.php:0
2 0.0054 381240 explode ( ) ...\vn.php:39

C:\xampp\htdocs\suzo\vn.php:45:null
Pyton_000
Wątpię że ten kod Ty napisałeś....

https://4programmers.net/PHP/Tablice_w_PHP
woxala123
Okey dzięki Tobie za link ale tu nie chodzi bym teraz studiował tablice, bo owszem tu są proste przykłady tylko rzadko pokazane na przykładach ze zmiennymi. Proszę o mała podpowiedź.
trueblue
Mam nadzieję, że Ci znów nie namieszam, ale zobacz przykład #2: http://php.net/manual/en/pdostatement.fetchall.php
woxala123
Możliwe że namieszasz, ale spróbuje to ogarnąć. Ale chcę spokojnie to skonczyć i rozpocząć długi weekrnd.

jak zrobię coś takiego

  1.  
  2. $words[] = array($row['liczba']);

Komunikat dostaje
C:\xampp\htdocs\suzo\vn.php:44:
array (size=1)
0 =>
array (size=1)
0 => string '49' (length=2)



( ! ) Notice: Array to string conversion in C:\xampp\htdocs\suzo\vn.php on line 64
Call Stack
# Time Memory Function Location
1 0.0007 359664 {main}( ) ...\vn.php:0
Array
Czyli pokazuje ostatnią liczbę w szeregu.
Co dalej zrobić z tym fantem. Powiem jeszcze mnie ciemnota o php bierze.

Czy ktoś dalej ruszy temat, bo jeśli wyświetla liczby to jak je teraz zastosować w tej zmiennej?. Niewiem czy arrayem czy explode itd itd...itd. Proszę o pomoc.
Pyton_000
Dostałeś link o tablicach. Skoro nie chce Ci się czytać to nie licz na pomoc. Leniom mówimy nie.
woxala123
Czytam o tych tablicach i trudno jest mi coś zastosować do tego przykładu. Może podpowiedz który punkt by pasował to tego rozwiązania a spróbuję to przeanalizować.
A co do lenia to mi daleko. Mam dużo obowiązków i nawet kolego byś tego nie ogarnął. PHP traktuję jako oderwanie się trochę od przyziemnych spraw. Jeśli Ciebie mogę prosić postaraj mnie to jeszcze abrdziej zgłębić bo najwidoczniej nie umiem tych tablic zastosować do tego przykłądu.
Pozdrawiam
trueblue
Czy przejrzałeś przykład, który Ci podałem?
woxala123
Przejrzałem i nie wiem jak do tego podejść.
trueblue
To przejrzyj jeszcze raz i:
1. Sprawdź jakiej konkretnie metody dotyczy podany wpis w dokumentacji.
2. Jak została użyta ta metoda (a jak Ty używasz).
3. Jaki wynik dała ta metoda.
woxala123
I tak nadal będę tkwił w miejscu. Tylko teraz nie wiem skoro robie to co powyżej pokazuje mi się w zmiennej 1 liczba.
trueblue
W miejscu tkwisz, bo nie chce Ci się poświęcić chwili i przeanalizować przykładów. Czekasz po prostu na gotowiec.
Jeśli masz dużo obowiązków, to zajmij się nimi i nie trać czasu na PHP.
woxala123
Fajnie że umiesz doradzać, ale nie doradzaj co ja mam robić w życiu. Nie chcę gotowca, tylko chcę zrozumieć jak wynik zapytania zastosować w zmiennej by poniższym kodem obliczyć to co mnie interesuje i to wszystko. .
Pozdrawiam

Po przeczytaniu, dochodzę do wniosku że warto zastosować FETCH_COLUM, Zobaczę co z tego wyjdzie.

Rozwiązanie było banalnie proste. Oto kod.
  1. try
  2. {
  3. $sql=" SELECT liczba FROM ` liczby` ";
  4.  
  5. $result = $pdo->query($sql)->fetchAll(PDO::FETCH_COLUMN, 0);
  6.  
  7. }
  8. catch (PDOException $e)
  9. {
  10. $error = 'Error: ' . $e->getMessage();
  11. ;
  12. exit();
  13. }
  14.  
  15.  
  16.  

Dzięki Ci za podpowiedź.trueblue. Mieli trochę przy dużej ilości liczb, ale to już następny temat który będę sobie wałkował. Bo można te rozpiskę zrobić do jednego dnia a potem ile razy dany układ się pokazywał. Dobranoc
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.