Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][mySQL] Aktualizacja rekordów z warunkiem
--Michu--
post
Post #1





Goście







Witam. Nie potrafię napisać takiego kodu aktualizacji rekordu z warunkami:

formularz, a w nim dane do aktualizacji:
$nick
$dana
$2dana
$3dana
$4dana

i teraz co ma się stać: musi się aktualizować nick (tylko przy aktualizowanej danej i tylko jeśli dana spełnia warunek) i każda dana, która ma wartość większą od poprzedniej zapisanej w bazie. Czyli jeśli nowa $2dana jest mniejsza < od starej zapisanej w bazie $2dana, to ten rekord nie jest aktualizowany, tylko pozostałe (jeśli oczywiście spełniają ten warunek).

Przykład:

Stare dane zapisane w bazie:
nick przy $dana "Mietek"
wartość $dana "1"
nick przy $2dana "Stefek"
wartość $2dana "2"
nick przy $3dana "Benek"
wartość $3dana "3"
nick przy $4dana "Piotrek"
wartość $4dana "1"

Aktualizuję:
podaję nick "Michu"
podaję $dana "2"
podaję $2dana "3"
podaję $3dana "1"
podaję $4dana " "

Co się dzieje:
stara $dana < nowa $dana = aktualizacja danej i nicku przy danej = nick przy $dana "Michu", wartość $dana "2"
stara $2dana < nowa $2dana = aktualizacja danej i nicku przy danej = nick przy $2dana "Michu", wartość $2dana "3"
stara $3dana > nowa $3dana = wszystko zostaje bez zmian = nick przy $3dana "Benek", wartość $3dana "3"
stara $4dana > nowa $4dana = wszystko zostaje bez zmian = nick przy $4dana "Piotrek", wartość $4dana "1"
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
--Michu--
post
Post #2





Goście







Dokładnie chodzi mi o takie coś, z tym, że ten kod tutaj zmienia nick przy każdym rekordzie, a ja chcę by zmieniał tylko przy aktualizowanym:

  1. <?php 
  2. // odbieramy dane z formularza 
  3.  
  4. $username = 'xx';
  5. $password = 'xx';
  6. $database = 'xx';
  7. mysql_connect('xx', $username, $password);
  8. @mysql_select_db($database);
  9. $query="SELECT * FROM tabela2";
  10. $result=mysql_query($query);
  11. $num=mysql_numrows($result);
  12. $nick=mysql_result($result,"nick");
  13. $danaa=mysql_result($result,"danaa");
  14. $danab=mysql_result($result,"danab");
  15. $data=mysql_result($result,"inne");
  16.  
  17. $danaa1 = $_POST['dana']; 
  18. $danab1 = $_POST['danaa']; 
  19. $nick1 = $_POST['nick'];
  20. $data1 = $_POST['data'];
  21.  
  22. if($danaa1>$danaa) { 
  23.  
  24. // łączymy się z bazą danych 
  25. $connection = @mysql_connect('xx', 'xx', 'xx') 
  26. or die('Brak połączenia z serwerem MySQL'); 
  27. $db = @mysql_select_db('xx', $connection) 
  28. or die('Nie mogę połączyć się z bazą danych'); 
  29.  
  30. // dodajemy rekord do bazy 
  31. $ins = @mysql_query("UPDATE tabela2 SET nick='$nick1', danaa='$danaa1'"); 
  32.  
  33. if($ins) echo "<center><h1>Proszę czekać!</h1><br>Jeśli nie zostaniesz przeniesiony w ciągu 2 sekund, <u><a href='staty3.php'>kliknij tutaj.</a></u></center>";
  34. else echo "<center>Błąd! Nie udało się dodać nowego rekordu</center>"; 
  35.  
  36. mysql_close($connection); 
  37. }
  38. elseif($danab1>$danab) { 
  39.  
  40. // łączymy się z bazą danych 
  41. $connection = @mysql_connect('xx', 'xx', 'xx') 
  42. or die('Brak połączenia z serwerem MySQL');
  43. $db = @mysql_select_db('xx', $connection) 
  44. or die('Nie mogę połączyć się z bazą danych'); 
  45.  
  46. // dodajemy rekord do bazy 
  47. $ins = @mysql_query("UPDATE tabela2 SET nick='$nick1', danab='$danab1'"); 
  48.  
  49. if($ins) echo "<center><h1>Proszę czekać!</h1><br>Jeśli nie zostaniesz przeniesiony w ciągu 2 sekund, <u><a href='staty3.php'>kliknij tutaj.</a></u></center>";
  50. else echo "<center>Błąd! Nie udało się dodać nowego rekordu</center>"; 
  51.  
  52. mysql_close($connection); 
  53. }
  54. else {
  55. echo("zla dana");
  56. }
  57.  
  58. ?>
Go to the top of the page
+Quote Post

Posty w temacie
- -Michu-   [PHP][mySQL] Aktualizacja rekordów z warunkiem   23.04.2008, 20:55:46
- - Cezar708   nie jestem pewien, czy trafiam w meritum sprawy, a...   23.04.2008, 22:59:27
- - -Michu-   Nie nie, to tylko przykład   24.04.2008, 05:57:21
- - piotrooo89   Podaj kod jak to robisz bo bez tego ani rusz.   24.04.2008, 06:48:14
- - -Michu-   Z tym, że ja właśnie nie umiem go zrobić... Próbow...   24.04.2008, 10:56:55
- - Berg   [PHP] pobierz, plaintext <?php2dana='$2dana'?...   24.04.2008, 11:12:20
- - piotrooo89   Tak jak napisał Berg prztestuj zapytanie w ph...   24.04.2008, 11:36:30
- - -Michu-   Ależ tutaj nie ma błędu, to jest to na czym chciał...   24.04.2008, 11:44:59
- - piotrooo89   A jeszcze takie pytanie czy kod w którym masz form...   24.04.2008, 11:55:26
- - MacPain   Może błąd tkwi w tym, że chces...   24.04.2008, 11:57:25
- - Berg   Nie do końca chyba rozumiem co chcesz zrobić ale [...   24.04.2008, 12:02:10
- - -Michu-   Oj, to tylko przykład, na którym chciałem zbudować...   24.04.2008, 12:08:02
- - Crozin   [PHP] pobierz, plaintext <? //dane$nick = ...   24.04.2008, 14:31:44
- - -Michu-   Witam, nie mogłem wcześniej sprawdzić kodu, gdyż n...   26.04.2008, 15:40:35
- - -Michu-   Dokładnie chodzi mi o takie coś, z tym, że ten kod...   26.04.2008, 20:06:43
- - crackcomm   robimy Kod$zapytanie_wyciagajace = mysql_que...   26.04.2008, 20:23:03
- - -Michu-   Ten kod też nie działa, niewiem, może ja coś źle r...   27.04.2008, 18:39:11
- - webdicepl   Masz błąd w tej lini: [PHP] pobierz, plaintext ...   27.04.2008, 18:49:25
- - -Michu-   nadal tylko pusta strona... poprawiłem też dwie li...   27.04.2008, 18:53:44


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: 10.10.2025 - 20:52