Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak zrobić aby foreach pokazywał wszystkie możliwe kombinacje?
Saki
post
Post #1





Grupa: Zarejestrowani
Postów: 240
Pomógł: 2
Dołączył: 5.12.2010
Skąd: Fulda

Ostrzeżenie: (0%)
-----


Witam, mam mały problem, jak zrobić aby foreach pokazywał wszystkie możliwe kombinacje według nazwy?
Tak jak, każdy rozmiary sofy, strony sofy i kolory sofy zapisane w serialize().
  1. <?php
  2. include_once("init.php");
  3. $q = strtolower($_GET["q"]);
  4. /* // tutaj jest orginalny kod, pokazujący tylko nazwę, ale jak zrobić aby tak pokazywał? "Nazwa Właściwa (Kolor) (Rozmiar) (Strona)"
  5. if (!$q) return;
  6. $db->query("SELECT * FROM stock_avail where quantity >0 ");
  7.   while ($line = $db->fetchNextObject()) {
  8.  
  9.   if (strpos(strtolower($line->name), $q) !== false) {
  10. echo "$line->name\n";
  11.  
  12.  }
  13.  }
  14. */
  15.  
  16. // moja nieudana próba
  17. $sql = $db->query("SELECT * FROM stock_details where stock_name='$q'");
  18. foreach ($sql as $row):
  19.  
  20. foreach( unserialize($row['color']) as $value):
  21. echo "{$row['stock_name']} ($value) ({$row['size']}) ({$row['side']})";
  22. endforeach;
  23.  
  24. endforeach;




Tutaj struktóra bazy:
stock_avail http://i.imgur.com/TUE3JfH.png
stock_details http://i.imgur.com/rmYC4Ka.png

Chce aby pokazywało wszystkie możliwe kombinacje wedłyg nazwy:
"Nazwa Właściwa (Kolor) (Rozmiar) (Strona)"
"sdfsdf (niebieski) (3seater) (left)"
"sdfsdf (zielony) (3seater) (right)"
"sdfsdf (brązowy) (2seater) (left)"
"sdfsdf (zółty) (3seater) (left)"


EDIT, zrobiłem to, ale nie pokazuje kolorów:

  1. include_once("init.php");
  2. $q = strtolower($_GET["q"]);
  3.  
  4. if (!$q) return;
  5. $db->query("SELECT * FROM stock_details CROSS JOIN stock_avail WHERE quantity >0 ");
  6. while ($line = $db->fetchNextObject()) {
  7.  
  8. // if (strpos(strtolower($line->name), $q) !== false) {
  9. foreach( unserialize($line->color) as $value):
  10. echo "{$line->name} ($value) ({$line->size}) ({$line->side})\n";
  11. endforeach;
  12.  
  13. // }
  14. }


Ten post edytował Saki 2.05.2014, 20:00:12


--------------------
Moje serwisy: services.itunix.eu | spytajsie.com

Server: Debian; Desktop: Mac Mini 10.8.1, ArchLinux XFCE
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 19:17