Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Sortowanie tablicy przed zapisem
krzesik
post 14.03.2020, 12:24:07
Post #1





Grupa: Zarejestrowani
Postów: 476
Pomógł: 1
Dołączył: 25.08.2012

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


Witam, mam działającą funkcję, ale zapisy lecą inaczej niż bym tego chciał, proszę o pomoc
w tabeli wyświetlam nazwiska userów:

  1. ..........
  2. while($r = mysql_fetch_array($wynikusers))
  3. $tab1[] = trim($r['imie_nazwisko']);
  4.  
  5. // ilość kolumn
  6. $kolumny = 2;
  7. //ilość wierszy na kolumne
  8. $per = ceil(count($tab1) / $kolumny);
  9. $tab1 = array_chunk($tab1, $per);
  10. //wiersz
  11. for($i=0;$i<$per;$i++)
  12. {
  13. echo '<tr>';
  14. //kolumna
  15. for($j = 0; $j < $kolumny; $j++)
  16. if(!empty($tab1[$j][$i])) {
  17.  
  18. echo '<td><input type="checkbox" name="wystaw[]" value="'.$tab1[$j][$i].'" />&nbsp; &nbsp;'.$tab1[$j][$i].'</td>';
  19. }
  20. echo '</tr>';
  21. }
  22. .......

wyświetlają się dobrze, alfabetycznie, najpierw jedna kolumna potem druga. jednak przy zapisie do bazy zaznaczone nazwiska zapisują się wierszami, a to już nie jest alfabetycznie na czym mi zależy. Teraz mam tak:
  1.  
  2. $w = count($_POST['wystaw']);
  3. for ($i = 0; $i < $w; $i++)
  4. {
  5. if(!empty($wystaw[$i]) )
  6. {
  7. $save = "INSERT.......";
  8. }
  9. }

próbowałem z funkcją SORT, ale coś mi nie wychodzi......
Go to the top of the page
+Quote Post
Tomplus
post 14.03.2020, 12:33:46
Post #2





Grupa: Zarejestrowani
Postów: 1 834
Pomógł: 225
Dołączył: 20.03.2005
Skąd: Będzin

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


W ogóle dlaczego w bazie musisz mieć zapis alfabetyczny?
Przecież możesz wyciągnąć dane przy pomocy SQL posortowane alfabetycznie wg kolumny która ma być posortowana.

Go to the top of the page
+Quote Post
krzesik
post 14.03.2020, 12:48:07
Post #3





Grupa: Zarejestrowani
Postów: 476
Pomógł: 1
Dołączył: 25.08.2012

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


łatwość wyszukiwania wydrukowanych dokumentów wraz z ich numerami.
A coś w temacie?
Go to the top of the page
+Quote Post
javafxdev
post 14.03.2020, 15:15:25
Post #4





Grupa: Zarejestrowani
Postów: 95
Pomógł: 7
Dołączył: 27.10.2015

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


a drukujesz alfabetycznie?
Go to the top of the page
+Quote Post
krzesik
post 14.03.2020, 15:28:58
Post #5





Grupa: Zarejestrowani
Postów: 476
Pomógł: 1
Dołączył: 25.08.2012

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


Wracając do tematu, zrobiłem tak:
  1. ...............
  2.  
  3. sort($_POST['wystaw']);
  4.  
  5. $w = count($_POST['wystaw']);
  6. for ($i = 0; $i < $w; $i++)
  7. {
  8. if(!empty($wystaw[$i]) )
  9. {
  10. $save = "INSERT.......";
  11. }
  12. }

sama tablica się ładnie posortowała, ale zapis nadal leci w zaznaczonych rekordach poziomych.
  1. Array
  2. (
  3. [a] => save
  4. [kto] => wszyscy
  5. [wystaw] => Array
  6. (
  7. [0] => A Jan
  8. [1] => B orys
  9. [2] => C zesiek
  10. [3] => D arek
  11. )
  12. )


a insert jest taki:
  1. Insert A Jan ..............
  2. Insert C zesiek ..............
  3. Insert B orys ..............
  4. Insert D arek ..............

Go to the top of the page
+Quote Post
Pyton_000
post 14.03.2020, 15:30:43
Post #6





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Skoro sortujesz tablicę post a wyciągasz wartości z $wystaw to jakim cudem ma być to posortowane?
Go to the top of the page
+Quote Post
krzesik
post 14.03.2020, 16:49:20
Post #7





Grupa: Zarejestrowani
Postów: 476
Pomógł: 1
Dołączył: 25.08.2012

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


:-) zasada sroki w gnat, patrzysz a nie widzisz. Dziękuję!
Go to the top of the page
+Quote Post
javafxdev
post 15.03.2020, 09:35:40
Post #8





Grupa: Zarejestrowani
Postów: 95
Pomógł: 7
Dołączył: 27.10.2015

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


Współczuję późniejszego utrzymania tego kodu. Jak kolejność insertów do bazy ma znaczenie to później będzie tylko gorzej.
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 19.04.2024 - 03:50