Mam forum PHPBB by Przemo, i jest na nim zarejestrowanych 560 użytkowników i chciałem wszystkim tym, którzy nie mają ustawionego żadnego avatara ustawić swój domyślny, nie wiem czy są do tego jakieś gotowe addony czy inne hacki (I szczerze nie chce mi się tego szukać), więc postanowiłem zrobić to ręcznie. I tak: Zrobiłem sobie backup tablicy z danymi użytkowników.
Wyglada to mniej wiecej tak:
<?php ... INSERT INTO `phpbb_users` VALUES (2, 1, 'Upachi', '2f14dfbe621f187ce0021936124f32f4', 1140191880, 0, 1140171276, 1138012805, 1, 147, 1.00, 1, 'polish', 'Y-m-d, H:i', 0, 0, 1140125863, NULL, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 'link_do_avatara', 2, 'mail', '', '', 'Poland', '..:: Made BY [color=blue:5fefec3379][b:5fefec3379]Upachi[/b:5fefec3379][/color:5fefec3379] ::..', '5fefec3379', '', 1, 1, '', '', '', '', '', '', '', '15', '25', '30', 999999, 0, '', NULL, 0, '', 1, 1, 999999, 0, 0, NULL, NULL, 1, 1, 1, 1, 0, 1, 2, 2, 1, 1, 0, 1, 0, 0, 0, 98, 150, NULL, 1, '53053b20'); ... ?>
Wiem, że link do avatara znajduje się na 32 pozycji. Nie znam dobrze, php więc próbowałem zrobić to za pomocą tych funkcji, które znam.
Zrobiłem jedną ogromną tablicę z danymi wszystkich użytkowników i rozwaliłęm ją na kawałeczki (po przecinkach) i zliczyłem ilośc komórek (Jest tego ponad 47000). Następnie zrobiłem whila od 32 do tych 47000 a w środku zrobiłęm skok co 85. Działa to tyle że tylko do 39 użytkownika. Bo 40 użytkownik nie ma już linka do avatara na 32 pozycji tylko na 33 (Potem ta pozycja zmienia się jeszcze kilkakrotnie). Ale zauważyłem, że jeśli usunę pierwszych 39 użytkowników. To znowu kilku jest poprawnych a reszta się psuje. Po usunięciu tych kilku użytkowników znowu do pewnego momentu jest Ok a reszta zmaszczona.
I teraz moje pytanie, czy można zrobić to innym sposobem, czy raczej muszę pobawić się w tworzenie warunków dla każdego przesunięcia.
A oto kod:
<?php $default_avatar = "'link_do_domyślnego_avatara'"; $non = "''"; $plik = users.lst $tablica= "INSERT INTO `phpbb_users` VALUES (2, 1, 'Upachi', '2f14dfbe621f187ce0021936124f32f4', 1140191880, 0, 1140171276, 1138012805, 1, 147, 1.00, 1, 'polish', 'Y-m-d, H:i', 0, 0, 1140125863, NULL, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 'link_do_avatara', 2, 'mail', '', '', 'Poland', '..:: Made BY [color=blue:5fefec3379][b:5fefec3379]Upachi[/b:5fefec3379][/color:5fefec3379] ::..', '5fefec3379', '', 1, 1, '', '', '', '', '', '', '', '15', '25', '30', 999999, 0, '', NULL, 0, '', 1, 1, 999999, 0, 0, NULL, NULL, 1, 1, 1, 1, 0, 1, 2, 2, 1, 1, 0, 1, 0, 0, 0, 9
8, 150, NULL, 1, '53053b20');" // Tutaj są wszytkie rekordy ale wkleiłem tylko jeden po by miejsca zabrakło. do { if($tablica[$x]==$non) { $tablica[$x]="$default_avatar"; } else { } $x = $x+85; } while($x <= $i); ?>