Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> update wielu rekordow naraz - problem
stal-sw
post
Post #1





Grupa: Zarejestrowani
Postów: 176
Pomógł: 0
Dołączył: 27.06.2002
Skąd: Stalowa Wola

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


Witam.
Mam formularz w ktorym wczytuje naraz wyniki calej kolejki meczow pilkarskich.
Formularz ma pola : data, gol1, gol2, godzina

I teraz naraz che dokonac updatu danych dla tych wszystkich edytowanych meczy.

No i moj skrypt to robi (czesciwo dobrze) - bo jak nie wpisze jakiegos wyniku meczu (bo mecze rozgrywane sa o roznych porach czy tez w rozne dni) to wtedy w zwiazku z tym ze pole w bazie jest typu INT to skyrpt wpisuje mi w taki mecz wynik gol1 i gol2 po "0".

Czyli skrypt dziala dobrze jak nie mam warunku " if(!empty($v)) { " jesli wstaeie ten warunek to nie che mi wogole dokonywac updatu albo wykonuje update np. dla trzech pierwszych rekordow - dziwne (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Jak sobie z tym poradzic (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Moj kod:

  1. <?
  2. if (isset($HTTP_POST_VARS)){
  3. foreach ($_POST['gol1'] as $k=>$v) { 
  4. if(!empty($v)) {
  5. $db->query("UPDATE tmecze SET gol1='".$v ."', gol2='".$_POST['gol2'][$k]."', data='".$_POST['data'][$k]."', x='".$_POST['x'][$k]."' WHERE id = '$k'"); 
  6. }else {
  7. $db->query("UPDATE tmecze SET data='".$_POST['data'][$k]."', x='".$_POST['x'][$k]."' WHERE id = '$k'"); 
  8. }
  9. }
  10. unset($_POST); 
  11. header("Location: ?m=terminarz&s=1");
  12. }
  13. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
misiek172
post
Post #2





Grupa: Zarejestrowani
Postów: 656
Pomógł: 3
Dołączył: 26.10.2005
Skąd: Częstochowa

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


ehh

zamień to :

  1. <?php
  2. if(!empty($v)) {
  3. $db->query("UPDATE tmecze SET gol1='".$v ."', gol2='".$_POST['gol2'][$k]."', data='".$_POST['data'][$k]."', x='".$_POST['x'][$k]."' WHERE id = '$k'");
  4.  }else {
  5.  $db->query("UPDATE tmecze SET data='".$_POST['data'][$k]."', x='".$_POST['x'][$k]."' WHERE id = '$k'");
  6.  }
  7. ?>


na

  1. <?php
  2. $db->query("UPDATE tmecze SET ".($v!=''"gol1='".$v."', ").($_POST['gol2'][$k]!=''"gol2='".$_POST['gol2'][$k]."', ")."data='".$_POST['data'][$k]."', x='".$_POST['x'][$k]."' WHERE id = '$k'");
  3. ?>


powinno śmigać.

Pisałem z ręki więc mogą być nieznaczne błędy.

Mała podpowiedź:
if($cos!=''){ ... }
równa się
($cos!=''? ...)

Ten post edytował misiek172 19.04.2007, 15:09:07
Go to the top of the page
+Quote Post

Posty w temacie


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: 4.10.2025 - 11:06