Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> UPDATE, zapisuje tylko najwyzsze indeksy
adeq_PL
post
Post #1





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 25.01.2006
Skąd: Oświęcim

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


Witam mam nastepujacy problem....

Posiadam kod ktorego zadaniem jest update'owac tabele bazy. Ale wynikl problem i nie wiem co zrobic. Oto kod

  1. <?php
  2.  
  3.         $pytaj_opis = "SELECT * FROM opis_str_miej WHERE id_str_miej='".$_POST['id']."'";    
  4.         $dzialaj_opis=mysql_query($pytaj_opis);
  5.         $liczba_kolumn_opis = mysql_num_fields($dzialaj_opis);         
  6.         $pole_opis = mysql_fetch_row($dzialaj_opis);
  7.  
  8. if($_POST['dni']==true){
  9.  for($ile=0;$ile<=7;$ile++){
  10.   if(isset($_POST['dni'][$ile])){
  11.  
  12.      $zapisz5= $_POST['dni'][$ile]." od ".$_POST['godzod'][$ile].":".$_POST['minod'][$ile]." do 
  13. ".$_POST['godzdo'][$ile].":".$_POST['mindo'][$ile]."<br>";
  14.      
  15.   }
  16.  }
  17.  
  18. $update5 = "UPDATE opis_str_miej SET Czynne='".$zapisz5."' WHERE id_str_miej='".$_POST['id']."' LIMIT 1 ";        
  19.    $q5=mysql_query($update5);
  20.  
  21. }
  22.  
  23. else{
  24. $zapisz5= $pole_opis[3];
  25.  
  26.   $update5 = "UPDATE opis_str_miej SET Czynne='".$zapisz5."' WHERE id_str_miej='".$_POST['id']."' LIMIT 1 ";        
  27.   $q5=mysql_query($update5);
  28. }
  29.  
  30. ?>


A problem dotyczy updeta, ktory umieszcze zmienna $zapisz5 w bazie, a mianowicie update zapisuje tylko elementy o najwyzszym indeksie $ile. Co mam zrobic zeby update zapisywal wszystkie zmienne a nie tylko te o najwyzszym $ile questionmark.gif

Probowalem $update5 umiescic w petli ale jest tak samo, tez zapisuje tylko najwieksze indeksy...

Pozdrawiam i dzieki za pomoc smile.gif

Ten post edytował adeq_PL 6.04.2006, 12:00:26


--------------------
Wszystko powinno zostać uproszczone tak bardzo, jak to tylko możliwe, ale nie bardziej. - Albert Einstein
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
Kuziu
post
Post #2





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

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


Chociaż by pomyśleć LIMIT 1 co zrobi pewnie zrobi LIMIT na 1 rekord questionmark.gif

Więc jak ma Ci podmienić wszystkie skoro masz zlimitowane na 1 rekord.

Ten post edytował Kuziu 6.04.2006, 12:11:43


--------------------
Słońce zachodzi ... kolejna noc nadchodzi ...
Go to the top of the page
+Quote Post
kszychu
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


W pętki zakażdym przebiegiem nadpisujesz sobie wartość zmiennej $zapisz5 i po zakończeniu pętli ma ona wartość z ostatniego przebiegu, czyli dla najwyższej zmiennej $ile.
Moja rada: umieść update wewnątrz pętli for.


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
adeq_PL
post
Post #4





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 25.01.2006
Skąd: Oświęcim

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


Usunalem LIMIT 1 , umiescilem update w petli i nadal zapisuje tylko "najstarsza" wartosc.

A poza tym umieszczajac UPDATE w petli wykonuje sie on tyle razy ile przebiega petla wiec UPDATE bedzie napisywal nowe wartosci puki sie nie skonczy petla.

Czy dobrze to rozumie??


--------------------
Wszystko powinno zostać uproszczone tak bardzo, jak to tylko możliwe, ale nie bardziej. - Albert Einstein
Go to the top of the page
+Quote Post
kszychu
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


A co Ty właściwie chcesz osiągnąć tym kodem?


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
adeq_PL
post
Post #6





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 25.01.2006
Skąd: Oświęcim

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


Za pomoca tego kodu chcialem pobrac dane z formularza:

  1. <?php
  2.  
  3. $tablica = array ("Pn.-Pt.", "Poniedziałek", "Wtorek", "&para;roda", "Czwatrek", "Pi&plusmn;tek", "Sobota", "Niedziela");
  4.  
  5.  echo "<table width=350 cellpadding='1' cellspacing='0'>";
  6.  
  7. for($ile=0;$ile<=7;$ile++){
  8.  
  9.  echo "<tr><td align='left'>";
  10.  
  11.  echo "<input type='checkbox' id=check_$ile onClick='show($ile)' name='dni[]' value=$tablica[$ile]>
  12.  <font class=edytuj>$tablica[$ile]</font>
  13.  
  14.  </td><td>";
  15.  
  16. echo "<div id='div_$ile' style='display:none'>
  17.  
  18. <font class=edytuj> od: </font><input type='text' size='1' name='godzod[$ile]' maxlength='2'> 
  19. <font class=edytuj> : </font><input type='text' size='1' name='minod[$ile]' maxlength='2'>
  20. <font class=edytuj> do: </font><input type='text' size='1' name='godzdo[$ile]' maxlength='2'>
  21. <font class=edytuj> : </font><input type='text' size='1' name='mindo[$ile]' maxlength='2'>
  22.  
  23. </div>";
  24.  
  25. echo "</td></tr>";
  26.  
  27.  }
  28.  
  29.  
  30. echo "</table>";
  31.  
  32. ?>


przeksztalcic je w odpowiadajacy mi ciag znakow i tym ciagiem zatapic poprzednie dane w bazie.


--------------------
Wszystko powinno zostać uproszczone tak bardzo, jak to tylko możliwe, ale nie bardziej. - Albert Einstein
Go to the top of the page
+Quote Post
kszychu
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


Zaczynam łapać. Może więc zamiast $zapisz5 = w pętli daj $zapisz5 .=


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
adeq_PL
post
Post #8





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 25.01.2006
Skąd: Oświęcim

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


Cytat
Zaczynam łapać. Może więc zamiast $zapisz5 = w pętli daj $zapisz5 .=


A co oznacza ten przecinek po $zapisz5?? W takiej formie to chyba nie pojdzie....

Nadal sie nad tym glowie, ma ktos moze jeszcze jakies propozycje??


--------------------
Wszystko powinno zostać uproszczone tak bardzo, jak to tylko możliwe, ale nie bardziej. - Albert Einstein
Go to the top of the page
+Quote Post
nospor
post
Post #9





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
A co oznacza ten przecinek po $zapisz5??
To nie przecinek, tylko kropka. A co oznacza? Manual nie gryzie:
http://pl.php.net/manual/pl/language.operators.string.php
http://pl.php.net/manual/pl/language.opera....assignment.php

Cytat
W takiej formie to chyba nie pojdzie..
Na przyszlosc jak czegos nie wiesz to nie chybuj, tylko sprawdź smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
adeq_PL
post
Post #10





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 25.01.2006
Skąd: Oświęcim

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


OK porzepraszam ze najpierw nie sprawdzilem tylko od razu walilem ze sie nie da.... sadsmiley02.gif

kszychu jestes wielki dzieki za pomoc o to chodzilo smile.gif


--------------------
Wszystko powinno zostać uproszczone tak bardzo, jak to tylko możliwe, ale nie bardziej. - Albert Einstein
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: 21.08.2025 - 18:53