Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] PDO result array
Forum PHP.pl > Forum > Przedszkole
karakara
Witam serdecznie, robie zapytanie do bazy pobieram wszystkie wpisy i wszystkie zdjęcia powiązane z wpisami dostaję tablicę

  1. (
  2. [pro_id] => 5
  3. [0] => 5
  4. [pro_name] => Wpis 1
  5. [1] => Wpis 1
  6. [pro_text] => Opis wpisu 1
  7. [2] => Opis wpisu 1
  8. [pro_date] => 2012-09-30
  9. [3] => 2012-09-30
  10. [pro_visability] => 1
  11. [4] => 1
  12. [photo_id] => 3
  13. [5] => 3
  14. [photo_filename] => obr.jpg
  15. [6] => obr.jpg
  16. [photo_project_id] => 5
  17. [7] => 5
  18. )
  19. (
  20. [pro_id] => 6
  21. [0] => 6
  22. [pro_name] => Wpis 2
  23. [1] => Wpis 2
  24. [pro_text] => Opis wpisu 2
  25. [2] => Opis wpisu 2
  26. [pro_date] => 2012-09-30
  27. [3] => 2012-09-30
  28. [pro_visability] => 1
  29. [4] => 1
  30. [photo_id] => 8
  31. [5] => 8
  32. [photo_filename] => 11651.jpg
  33. [6] => 11651.jpg
  34. [photo_project_id] => 6
  35. [7] => 6
  36. )
  37. (
  38. [pro_id] => 6
  39. [0] => 6
  40. [pro_name] => Wpis 2
  41. [1] => Wpis 2
  42. [pro_text] => Opis wpisu 2
  43. [2] => Opis wpisu 2
  44. [pro_date] => 2012-09-30
  45. [3] => 2012-09-30
  46. [pro_visability] => 1
  47. [4] => 1
  48. [photo_id] => 6
  49. [5] => 6
  50. [photo_filename] => Zrzut.png
  51. [6] => Zrzut.png
  52. [photo_project_id] => 6
  53. [7] => 6
  54. )
  55. (
  56. [pro_id] => 6
  57. [0] => 6
  58. [pro_name] => Wpis 2
  59. [1] => Wpis 2
  60. [pro_text] => Opis wpisu 2
  61. [2] => Opis wpisu 2
  62. [pro_date] => 2012-09-30
  63. [3] => 2012-09-30
  64. [pro_visability] => 1
  65. [4] => 1
  66. [photo_id] => 5
  67. [5] => 5
  68. [photo_filename] => ec.jpg
  69. [6] => ec.jpg
  70. [photo_project_id] => 6
  71. [7] => 6
  72. )
  73. (
  74. [pro_id] => 6
  75. [0] => 6
  76. [pro_name] => Wpis 2
  77. [1] => Wpis 2
  78. [pro_text] => Opis wpisu 2
  79. [2] => Opis wpisu 2
  80. [pro_date] => 2012-09-30
  81. [3] => 2012-09-30
  82. [pro_visability] => 1
  83. [4] => 1
  84. [photo_id] => 7
  85. [5] => 7
  86. [photo_filename] => ps22.jpg
  87. [6] => ps22.jpg
  88. [photo_project_id] => 6
  89. [7] => 6
  90. )
  91.  



Chciałbym zrobić z tego tablicę
  1. (
  2. [0] => array(pro_id, pro_name, pro_text, pro_date, array(photo_filename, photo_filename ,photo_filename))
  3. ...

I tak dla każdego projektu

W tym momencie mam coś takiego

  1. $pro = array();
  2. foreach($result as $row)
  3. {
  4. echo $row['photo_filename'];
  5. $pro[$row['pro_id']] = array($row['pro_name'], $row['pro_text'], $row['pro_date'], array());
  6. array_push($pro[$row['pro_id']][3], $row['photo_filename']);
  7. }
  8. print_r($pro);


To daje mi prawie efekt taki jak potrzebuje ale przy kazdej iteraacji, czyszcze sobie rablice ze zdjęciami i ostatecznie mam tam tylko jeden element

  1. (
  2. [5] => Array
  3. (
  4. [0] => Wpis 1
  5. [1] => Opis wpisu 1
  6. [2] => 2012-09-30
  7. [3] => Array
  8. (
  9. [0] => obr.jpg
  10. )
  11.  
  12. )
  13.  
  14. [6] => Array
  15. (
  16. [0] => Wpis 2
  17. [1] => Opis wpisu 2
  18. [2] => 2012-09-30
  19. [3] => Array
  20. (
  21. [0] => 11651.jpg
  22. )
  23.  
  24. )
  25.  
  26. )
  27.  


CuteOne
  1. $tempArray = array();
  2.  
  3. foreach($rows as $row) {
  4.  
  5. if(!isset($tempArray[$row->id])) {
  6.  
  7. $tempArray[$row->id] = array(
  8. 'x' => $row->x,
  9. 'y' => $row->y,
  10. 'images' => array($row->images)
  11. );
  12. }
  13. else {
  14.  
  15. $tempArray[$row->id]['images'][] = $row->images;
  16. }
  17. }
karakara
dzięki działa smile.gif
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.