Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem ze zmianą zawartości bazy, Nie moge na raz zmienic paru wierszy
-Gość_grucha-
post
Post #1





Goście







Mam taki oto kod:
  1. <?php
  2. for($i=0;$i<$_SESSION['ilu'];$i++) {/*zmiana hasla rodzicow na wszystkich kontach*/
  3. echo $arr[$i].&#092;"<br>\";
  4. $query = mysql_query(&#092;"UPDATE `uczniowie` SET 
  5. `haslo_r` = '\".$nowe_haslo_rodzicow.\"' WHERE `id` = '\".$arr[$i].\"';&#092;");
  6. }/*koniec fora*/
  7.  
  8. ?>


w zmiennej $_SESSION['ilu'] jest zapisana ilość wierszy które musze zmienić
$arr to tablica z ID wybranych wierszy

Problem polega na tym że nie zmiany nie zapisują się w ostatnim wierszu, jeśli np. chce zmienic trzy wiersze to dwa bedą ok a w trzecim pusto.

Sprawdziłem w ten sposób:
  1. <?php
  2. for($i=0;$i<$_SESSION['ilu'];$i++) {/*zmiana hasla rodzicow na wszystkich kontach*/
  3.  
  4. $query = mysql_query(&#092;"UPDATE `uczniowie` SET 
  5. `haslo_r` = '\".$nowe_haslo.\"' WHERE `id` = '\".$arr[$i].\"';&#092;");
  6. If(query) echo $arr[$i].&#092;" \".$nowe_haslo.\"<br>\";
  7. }/*koniec fora*/
  8.  
  9. ?>


No i wyszło ze przy każdym wykonaniu petli zarówno tablica $arr jak i $nowe_haslo zwraca to co trzeba a ajednak nie działa

Jak by co to tabela wygląda nastepujaco:
  1. CREATE TABLE `uczniowie` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `login` varchar(50) NOT NULL DEFAULT '',
  4. `haslo` varchar(50) NOT NULL DEFAULT '',
  5. `login_r` varchar(50) NOT NULL DEFAULT '',
  6. `haslo_r` varchar(50) NOT NULL DEFAULT '',
  7. `imie` varchar(50) NOT NULL DEFAULT '',
  8. `nazwisko` varchar(50) NOT NULL DEFAULT '',
  9. `mama` varchar(50) NOT NULL DEFAULT '',
  10. `tata` varchar(50) NOT NULL DEFAULT '',
  11. `tel_dom` varchar(15) NOT NULL DEFAULT '',
  12. `tel_praca_mama` varchar(15) NOT NULL DEFAULT '',
  13. `tel_kom_mama` varchar(15) NOT NULL DEFAULT '',
  14. `tel_praca_tata` varchar(15) NOT NULL DEFAULT '',
  15. `tel_kom_tata` varchar(15) NOT NULL DEFAULT '',
  16. `klasa` varchar(5) NOT NULL DEFAULT '',
  17. `urodziny` date NOT NULL DEFAULT '0000-00-00',
  18. `imieniny` date NOT NULL DEFAULT '0000-00-00',
  19. `dodatkowe` text NOT NULL,
  20. PRIMARY KEY (`id`)
  21. ) TYPE=MyISAM AUTO_INCREMENT=3 ;
Go to the top of the page
+Quote Post
Kinool
post
Post #2





Grupa: Zarejestrowani
Postów: 560
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Kwidzyn

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


w warunku petli for zamiast
  1. <?php
  2. for($i=0;$i<$_SESSION['ilu'];$i++)
  3. ?>
daj
  1. <?php
  2. for($i=0;$i<=$_SESSION['ilu'];$i++)
  3. ?>
lub
  1. <?php
  2. $ilu = $_SESSION['ilu']+1;
  3. for($i=0;$i<$ilu;$i++)
  4. ?>


powinno byc ok a dlaczego?? bo petala wykonywala sie do momentu gdy $i jest mniejsze od $_SESSION['ilu'] wiec ostatni raz pomija bo wtedy $i jest rowne $_SESSION['ilu']


--------------------
Go to the top of the page
+Quote Post
-Gość_grucha-
post
Post #3





Goście







Własnie problem w tym ze to nie takie proste.
Próbowałem już tego próbowałem tez ostatni wiersz zrobic poza forem i dalej nic.

Na dodatek skrypt nie pomija ostatniego wiersza tylko zmienia wartość na 0 a na innym serwerze na pustą.
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 Aktualny czas: 19.08.2025 - 19:49