Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Nie zmienia wartości zmiennej na stronie
Forum PHP.pl > Forum > Przedszkole
pdg1264
Witam ponownie smile.gif

Tym razem mój problem polega na tym że po naciśnięciu przycisku "wyłącz" zmienia się wartość zmiennej w bazie a na stronie już nie
Załóżmy że kliknę "wyłącz" przy galerii zmienna w bazie przybiera wartość 0 i na stronie status powinien zmienić się na wyłączony ale tak nie jest

Wyświetlanie
  1. <?php
  2. $mysqli = new mysqli("localhost", "root", "pass", "strona");
  3.  
  4. //----------
  5. function topnews()
  6. {
  7. $query="SELECT topnews FROM opcje";
  8. $topnews=$result=mysql_query($query);
  9.  
  10. if($topnews = 1)
  11. {
  12. echo "<div id='on'>wlączone</div>";
  13. }
  14. else if($topnews = 0)
  15. {
  16. echo "<div id='off'>wyłączone</div>";
  17. }
  18. }
  19. //------------
  20. function galeria()
  21. {
  22. $query2="SELECT galeria FROM opcje";
  23. $galeria=$result=mysql_query($query2);
  24.  
  25. if($galeria = 1)
  26. {
  27. echo "<div id='on'>wlączone</div>";
  28. }
  29. else
  30. {
  31. echo "<div id='off'>wyłączone</div>";
  32. }
  33. }
  34. //--------------
  35. function logowanie()
  36. {
  37. $query3="SELECT logowanie FROM opcje";
  38. $logowanie=$result=mysql_query($query3);
  39.  
  40. if($logowanie = 1)
  41. {
  42. echo "<div id='on'>wlączone</div>";
  43. }
  44. else
  45. {
  46. echo "<div id='off'>wyłączone</div>";
  47. }
  48. }
  49. //--------------
  50. function rejestracja()
  51. {
  52. $query4="SELECT rejestracja FROM opcje";
  53. $rejestracja=$result=mysql_query($query4);
  54.  
  55. if($rejestracja = 1)
  56. {
  57. echo "<div id='on'>wlączone</div>";
  58. }
  59. else
  60. {
  61. echo "<div id='off'>wyłączone</div>";
  62. }
  63. }
  64. $mysqli->close();
  65. ?>
  66. <form action="onoff.php" method="post">
  67. <tr>
  68. <td><p><h3>Okienka na głównej</h3></p><hr></td>
  69. </tr>
  70. <tr>
  71. <td>Status<br></td>
  72. <td><?php topnews(); ?><br></td>
  73. <td><input type="submit" value="wlacz" name="on"/></td>
  74. <td><input type="submit" value="wylącz" name="off"/></td>
  75. </tr>
  76. <tr>
  77. <td><p><h3><hr>Galeria</h3></p><hr></td>
  78. </tr>
  79. <tr>
  80. <td>Status<br></td>
  81. <td><?php galeria(); ?><br></td>
  82. <td><input type="submit" value="wlacz" name="on2"/></td>
  83. <td><input type="submit" value="wylącz" name="off2"/></td>
  84. </tr>
  85. <tr>
  86. <td><p><h3><hr>Logowanie</h3></p><hr></td>
  87. </tr>
  88. <tr>
  89. <td>Status<br></td>
  90. <td><?php logowanie(); ?><br></td>
  91. <td><input type="submit" value="wlacz" name="on3"/></td>
  92. <td><input type="submit" value="wylącz" name="off3"/></td>
  93. </tr>
  94. <tr>
  95. <td><p><h3><hr>Rejestracja</h3></p><hr></td>
  96. </tr>
  97. <tr>
  98. <td>Status<br></td>
  99. <td><?php rejestracja(); ?><br></td>
  100. <td><input type="submit" value="wlacz" name="on4"/></td>
  101. <td><input type="submit" value="wylącz" name="off4"/></td>
  102. </tr>
  103. </form>


Zmiana wartości
  1. <?php
  2. $con=mysqli_connect("localhost","root","pass","strona");
  3. // Check connection
  4. if (mysqli_connect_errno()) {
  5. echo "Błąd podczas łączenia z bazą danych: " . mysqli_connect_error();
  6. }
  7.  
  8. //===========//top news//===============//
  9. if(isset($_POST['on']))
  10. {
  11. $on = $_POST['on'];
  12. $sql = "UPDATE opcje SET topnews = '1'";
  13. echo "<script>alert('Włączono Pomyslnie');</script>";
  14. header("Refresh: 1; url=wlwyl.php");
  15. }
  16.  
  17. else if(isset($_POST['off']))
  18. {
  19. $off = $_POST['off'];
  20. $sql = "UPDATE opcje SET topnews = '0'";
  21. echo "<script>alert('Wyłączono Pomyslnie');</script>";
  22. header("Refresh: 1; url=wlwyl.php");
  23. }
  24.  
  25. //===========//galeria//===============//
  26. if(isset($_POST['on2']))
  27. {
  28. $on2 = $_POST['on2'];
  29. $sql = "UPDATE opcje SET galeria = '1'";
  30. echo "<script>alert('Włączono Pomyslnie');</script>";
  31. header("Refresh: 1; url=wlwyl.php");
  32. }
  33.  
  34. else if(isset($_POST['off2']))
  35. {
  36. $off2 = $_POST['off2'];
  37. $sql = "UPDATE opcje SET galeria = '0'";
  38. echo "<script>alert('Wyłączono Pomyslnie');</script>";
  39. header("Refresh: 1; url=wlwyl.php");
  40. }
  41.  
  42. //===========//logowanie//===============//
  43. if(isset($_POST['on3']))
  44. {
  45. $on3 = $_POST['on'];
  46. $sql = "UPDATE opcje SET logowanie = '1'";
  47. echo "<script>alert('Włączono Pomyslnie');</script>";
  48. header("Refresh: 1; url=wlwyl.php");
  49. }
  50.  
  51. else if(isset($_POST['off3']))
  52. {
  53. $off3 = $_POST['off'];
  54. $sql = "UPDATE opcje SET logowanie = '0'";
  55. echo "<script>alert('Wyłączono Pomyslnie');</script>";
  56. header("Refresh: 1; url=wlwyl.php");
  57. }
  58.  
  59. //===========//rejestracja//===============//
  60. if(isset($_POST['on4']))
  61. {
  62. $on4 = $_POST['on'];
  63. $sql = "UPDATE opcje SET rejestracja = '1'";
  64. echo "<script>alert('Włączono Pomyslnie');</script>";
  65. header("Refresh: 1; url=wlwyl.php");
  66. }
  67.  
  68. else if(isset($_POST['off4']))
  69. {
  70. $off4 = $_POST['off'];
  71. $sql = "UPDATE opcje SET rejestracja = '0'";
  72. echo "<script>alert('Wyłączono Pomyslnie');</script>";
  73. header("Refresh: 1; url=wlwyl.php");
  74. }
  75.  
  76. //============//kiedys cos//==============//
  77.  
  78. if (!mysqli_query($con,$sql)) {
  79. die('Error: ' . mysqli_error($con));
  80. }
  81.  
  82. mysqli_close($con);
  83. ?>



nospor
Juz ci chyba kiedys mowilem, ze
= - to jest przypisanie
== - to jest porownanie

No wiesz, takie podstawy...
pdg1264
Tak wiem na chwile to zmieniłem i zapomniałem zmienić jak kopiowałem.

Jak mam
  1. if($galeria == 1)


to przy wszystkich jest napis "wyłączone" nawet jeżeli w bazie jest inaczej
nospor
$topnews=$result=mysql_query($query);

Przeciez mysql_query() nie zwraca liczby tylko ResultSET.... kurka, patrz do manuala co zwracają funkcje ktore uzywasz...
Jak chcesz sie dobrac do rekordu to masz uzyc mysql_fetch_array() - patrz manual.

A na przyszlosc patrz co zawierają zmienne, na ktorych pracujesz
var_dump($topnews);
i bys wiedzial czemu IF nie dziala jak nalezy... To wszystko masz napisane tutaj:
Temat: Jak poprawnie zada pytanie
Zapoznaj sie DOKLADNIE z tym TEMATEM
borabora
w pliku odpowiedzialnym za wyświetlanie łączysz się za pomocą mysqli a operujesz z mysql_query. Używaj mysqli_query($mysqli,'pytanie'). Poza tym to co napisał nospor z tym, że jeżeli mysqli to:
  1. $result = mysqli_query($mysqli,'SELECT topnews FROM opcje');
  2. $topnews = mysqli_fetch_assoc($result);
  3. $topnews=$topnews['topnews'];

pdg1264
zrobiłem jak napisałem i wyrzuca błędy

  1. Notice: Undefined variable: mysqli in C:\xampp\htdocs\admin\wlwyl.php on line 42
  2.  
  3. Warning: mysqli_query() expects parameter 1 to be mysqli, null given in C:\xampp\htdocs\admin\wlwyl.php on line 42
  4.  
  5. Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null given in C:\xampp\htdocs\admin\wlwyl.php on line 43


//edit

Dobra ogarnołem

  1. function topnews()
  2. {
  3.  
  4. $query="SELECT topnews FROM opcje";
  5. $topnews=$result=mysql_query($query);
  6. $result = mysql_query( $query);
  7. $row = mysql_fetch_array($result);
  8. $topnews = $row['topnews'];
  9.  
  10. if($topnews == 1)
  11. {
  12. echo "<div id='on'>wlączone</div>";
  13. }
  14. else
  15. {
  16. echo "<div id='off'>wyłączone</div>";
  17. }
  18. }
borabora
Popatrz...
w funkcji masz zapytanie:
  1. $result = mysqli_query($mysqli,'SELECT topnews FROM opcje');


zmienna $mysqli musi wejść do tej funkcji jako parametr. Albo łączenie robisz tak:
  1. class DB {
  2. private static $link = null;
  3. public static function con() {
  4. if (self::$link === null) {
  5. self::$link = new mysqli("localhost", "root", "pass", "strona");
  6. }
  7. return self::$link;
  8. }
  9. }

i wtedy do funkcji nic nie wkładasz jako parametr tylko linia
  1. $result = mysqli_query($mysqli,'SELECT topnews FROM opcje');

wygląda tak:
  1. $result = mysqli_query(DB::con(),'SELECT topnews FROM opcje');


//EDIT
ja bym jednak proponował pozostać przy mysqli, ale rób jak chcesz. W swoim kodzie, który wkleiłeś w powyższym poście nie potrzebujesz tego:
  1. $topnews=$result=mysql_query($query);
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.