Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> 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 (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

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

Pozdrawiam i dzieki za pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował adeq_PL 6.04.2006, 12:00:26
Go to the top of the page
+Quote Post
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 (IMG:http://forum.php.pl/style_emoticons/default/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
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.
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??
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?
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.
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 .=
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??
Go to the top of the page
+Quote Post
nospor
post
Post #9





Grupa: Moderatorzy
Postów: 36 559
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ź (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
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.... (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif)

kszychu jestes wielki dzieki za pomoc o to chodzilo (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.09.2025 - 14:21