Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] zmiana wartości MySQL po id wpisów
adek-
post
Post #1





Grupa: Zarejestrowani
Postów: 124
Pomógł: 2
Dołączył: 19.04.2007
Skąd: Częstochowa

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


Witam, zrobiłem sobie taką tabelkę wyświetlającą mi użytkowników i chcę aby po kliknięciu przycisku przy x userze, zmieniła mu się wartość pola `status` w MySQL na 1 gdy jest 0, lub na 0, gdy jest 1
$tabela_users jest zadeklarowana wyżej, i ogólnie zmieniało mi ale u wszystkich, nie potrafię zrobić aby tylko zmieniło przy danej osobie którą kliknę...
  1. echo '<br><br><br><hr><br><b>WSZYSCY UŻYTKOWNICY:</b>';
  2. echo '<table><tr bgcolor="#69d8f4"><td><b>ID &nbsp; </b></td><td width="160"><b>Nazwa</b></td><td width="90"><b>Login</b></td><td width="170"><b>Imię i Nazwisko</b></td><td><b>e-mail</b></td><td><b> &nbsp; Nr telefonu</b></td><td><b>Widzi</b></td><td><b>Zezwól</b></td></tr>';
  3. $q = "SELECT * FROM $tabela_users";
  4. $r = mysql_query($q);
  5. // TABELA WYSW DANYCH
  6. $i=0;
  7. while($wymien = mysql_fetch_assoc($r)) {
  8. $color = ($i % 2 == 0) ? '' : '';
  9. $bgcolor = ($i % 2 == 0) ? 'fafafa' : '';
  10.  
  11. echo '<tr bgcolor="'.$bgcolor.'" style="color:'.$color.';"><td>'.$wymien['id'].'.</td><td> '.$wymien['nazwa'].' </td><td> '.$wymien['login'].'</td><td>'.$wymien['imie'].' '.$wymien['nazwisko'].'</td><td> '.$wymien['email'].'</td><td> &nbsp; '.$wymien['tel'].'</td><td> &nbsp; ';
  12. if($wymien['status'] == 1){ echo 'tak';} else { echo '<b>nie</b>';}
  13. echo '<td >';
  14. //##tutaj był wpis ogólny którego wkleiłem w drugim polu php dla wglądu
  15. echo '<a href="uzytkownicy.php?do=zmien&id='.$wymien['id'].'">ZMIEN</a> //gdzieś takie coś widziałem w jakimś poście, ale nie było zdefinowane pole do i zmien, więc to mi nie działa, natomiast wybiera id usera poprawnie po najechaniu na href
  16. </td>';
  17. $i++;
  18. // OPCJE EDYCJI
  19. echo '<td><a bgcolor="#b8c3eb" href="?do=delete&id='.$wymien['id'].'">'.$del.'</a></td>
  20. </tr>';
  21. }
  22. echo '</table>';


dawałem nawet taki wpis ogólny, ale on zmieniał wszystkim użytkownikom... gdy dodałem WHERE id='$wymien[id]' przestał działać
  1. echo <<< KONIEC
  2.  
  3.   <form class="form" action="uzytkownicy.php" method="post">
  4.   <input type="hidden" name="opcja" value="TRUE" />
  5. <input type="submit" value="Widok procentowy" />
  6.   </form>
  7. KONIEC;
  8. if (isset($_POST['opcja']) && !empty($_POST['opcja'])) {
  9. $q = mysql_query("UPDATE $tabela_users SET status=0 WHERE id='$wymien[id]'") or die(mysql_error());
  10. //echo '<font color="#FF0000">Opcja wyświetlania została zmieniona!</font>';
  11. }


Pomoże ktoś zrobić
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
adek-
post
Post #2





Grupa: Zarejestrowani
Postów: 124
Pomógł: 2
Dołączył: 19.04.2007
Skąd: Częstochowa

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


Jacobson, wychodzi na to samo, tylko zmienną deklaruję i wpisuję nazwę zmiennej zamiast wymien[id], robi z wszystkich pól 1 lub 0
Barcelona nie bardzo wiem o co Ci chodzi, zwłaszcza, że jak pisałem "?do=zmien&" jest nie zdeklarowane, a skopiowane z jakiejś strony jako przykład... obczytałem się trochę i chyba nie da się zrobić funkcji 'a href' żeby działała jako submit button, dlatego pokombinowałem z takim czymś

w tablicy asocjacyjnej wyciągającej wszystkie wyniki w pętli while i wrzuciłem combo boxa
  1. echo '<form id="form1" name="form1" method="post" action="uzytkownicy.php">';
  2. print $wymien['status'].'&nbsp;';
  3. ?>
  4. <select name="select_<?=$wymien['id'];?>">
  5. <option value="1" <?=$wymien['status']==1 ? 'selected' : '';?>>Tak</option>
  6. <option value="0" <?=$wymien['status']==0 ? 'selected' : '';?>>Nie</option>
  7. </select>
  8.  
  9. <input type="submit" name="Submit" value="ok" />
  10. </form>
  11. <?php
  12. if(isset($_POST['submit'])) {
  13. $sql = mysql_query("UPDATE $tabela_users SET status='$_POST[form1]' WHERE id='$wymien[id]' "); }


Pobiera mi dobrze z MySQL pole `status` i wyświetla "tak" tam gdzie jest 1 i "nie" tam gdzie jest 0... ale update nie działa, dlatego bo tak naprawdę nie wiem jak wprowadzić poprawnie $sql, a dokładniej wydaję mi się że zamiast $_POST[combobox] powinno być coś innego, tzn jakiś wpis który by mówił co zostało wybrane w polu select
  1. $sql = mysql_query("UPDATE $tabela_users SET status='$_POST[form1]' WHERE id='$wymien[id]' "); }


Ten post edytował adek- 24.12.2011, 14:04:37
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: 12.10.2025 - 03:50