Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Operacje na tablicach
Forum PHP.pl > Forum > Przedszkole
wicy
1) Posiadając wynik zapytania sql,
  1. $sql = 'SELECT ....... LIMIT 0 , 5';
  2. $result = $db->sql_query($sql);
  3. while($row = mysql_fetch_array($result))
  4. {
  5. $out1 = $row['wartosc1'];
  6. $out2 = $row['wartosc2'];
  7. $out3 = $row['wartosc3'];
  8. $out4 = $row['wartosc4'];
  9.  
  10. $temp1 = array(
  11. 'OUT1' => $out1,
  12. 'OUT2' => $out2,
  13. 'OUT3' => $out3,
  14. 'OUT4' => $out4,
  15. );
  16.  
  17. }
  18. $db->sql_freeresult($result);

chciałbym wynik ten wpisać do tabeli $temp1. Jak to zrobić?


2) Posiadając wypełnioną już tablicę $temp1 i w identyczny sposób wypełnioną taką samą tablicę $temp2, obie o rozmiarach (jak rozumiem) [4,5], obrazujące układ tabeli sql w formie nazw kolumn i wartości wierszy w tych kolumnach, przekształcić w jedną tablicę ale nie o rozmiarach [4,10] ale [8,5].
Innymi słowy, chciałbym otrzymać tablicę, której wiersz wyglądałby tak:
  1. (z tab $temp1) OUT1 - jakaś_wartość_1 | OUT2 - jakaś_wartość_2 | OUT3 - jakaś_wartość_3 | OUT4 - jakaś_wartość_4 | (z tab $temp2) OUT1 - jakaś_wartość_5 | OUT2 - jakaś_wartość_6 | OUT3 - jakaś_wartość_7 | OUT4 - jakaś_wartość_8 |
Quantum
1. serialize / unserialize

EDIT: aa, chodziło o przypisanie wyników do nowej tablicy.. myślałem, że chciałeś zapisać te tablice do bazy z możliwością odtworzenia.
wicy
  1. $sql = 'SELECT ....... LIMIT 0 , 5';
  2. $result = $db->sql_query($sql);
  3. while($row = mysql_fetch_array($result))
  4. {
  5. $temp1 = array(
  6. 'OUT1' => $row['wartosc1'],
  7. 'OUT2' => $row['wartosc2'],
  8. 'OUT3' => $row['wartosc3'],
  9. 'OUT4' => $row['wartosc4'],
  10. );
  11. }
  12. $db->sql_freeresult($result);

1) Czy w/w pętla poprawnie jest poprawnym wypełnieniem tablicy $temp1 wybranymi wynikami zapytania sql?
Quantum
Nie, ponieważ nie dodajesz nowego elementu do tablicy $temp1 (o ile taką zmienną wcześniej zadeklarowałeś jako tablicę, bo tutaj tego nie widzę), a cały czas ją nadpisujesz. Zamiast "$temp1 = array(.." daj "$temp1[] = array(.." i wcześniej przed pętlą ją zadeklaruj jako pustą tablice - "$temp1 = array()". Alternatywnie możesz użyć array_push do dodania nowego elementu na koniec tablicy - nawet lepiej.
wicy
Dzięki. To właśnie rozwiązało moje wszystkie problemy.
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.