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. }