Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Aktualizacja Tabel oraz wys. informacji na stronie
Forum PHP.pl > Forum > Przedszkole
Reiven
Witam, wziąłem się za pisanie stronki i doszedłem do wyświetlania danych z bazy danych na stronie...
(chciałem zrobić coś strony z linkami s.php?id=1 i żeby te dane był wyświetlane na stronach w zależności od ID)
lecz wyświetla mi cały czas jedną i tą samą stronę... a nie zmienia.

plik funkcje.php
  1. <?php
  2. function strony()
  3. {
  4.  
  5. global $id;
  6.  
  7. $id = (int) $id;
  8.  
  9. $query = "SELECT * FROM strony WHERE id=$id";
  10. $result = mysql_query($query);
  11. $a = mysql_num_rows($result);
  12.  
  13. if($a==0) {
  14.  
  15. $title = 'błąd!';
  16. $text = 'Nie ma strony o takim numerze w bazie danych! ';
  17.  
  18. } else {
  19.  
  20. $r = mysql_fetch_array($result);
  21.  
  22. $tytul = $r['tytul'];
  23. $text = $r['text'];
  24.  
  25.  
  26. $text = stripslashes($text);
  27. $tytul = stripslashes($tytul);
  28.  
  29. }
  30.  
  31.  
  32.  
  33. echo "$tytul";
  34. echo $text;
  35.  
  36.  
  37.  
  38. }
  39. ?>


s.php


  1. <?
  2. global $id;
  3.  
  4. if(isset($id)) {
  5.  
  6. strony();
  7.  
  8. } else {
  9.  
  10.  
  11. echo 'błąd';
  12.  
  13. }
  14.  
  15.  
  16.  
  17.  
  18. ?>


oczywiście zincludowałem plik funkcje.php już nie mogę sobie poradzić.
2 mój problem to to że skrypt ktory napisałem niechce mi aktualizować danych w mysql :|

w kodzie dodałem

  1. <?php
  2. echo $query;
  3. ?>


i wyswietliło mi:
Kod
UPDATE menu SET nazwa='', zawartosc='' WHERE id=


a skrypt wygląda tak:
  1. <?php
  2.  
  3. include("config.php");
  4. mysql_connect ("$dbhost","$dblogin","$dbpass");
  5. mysql_select_db ("$dbname");
  6. mysql_query('SET CHARACTER SET utf8');
  7. $zapytanie = "SELECT * FROM menu ORDER BY id DESC";
  8. $wykonaj = mysql_query ($zapytanie);
  9. while($wiersz=mysql_fetch_array ($wykonaj)) {
  10. echo " <tr>
  11. <td width="4%">".$wiersz['id']."</td>
  12. <td width="18%">".$wiersz['zawartosc']."</td>
  13. <td width="18%">".$wiersz['nazwa']."</td>
  14.  
  15. <td width="6%"><b><a href="edit.php?stan=mod&id=".$wiersz['id']."">Modyfikacja</a> / <a href="edit.php?stan=usun&id=".$wiersz['id']."">Usun</a></b></td>
  16. </tr>";
  17. }
  18. if($stan=='mod') {
  19. global $PHP_SELF, $id, $op, $goto;
  20.  
  21.  $query = "SELECT * FROM menu WHERE id=$id";
  22.  $result = mysql_query($query);
  23.  
  24.  $row = mysql_fetch_array($result);
  25.  
  26. $zawartosc = $row['zawartosc'];
  27. $zawartosc = stripslashes($zawartosc);
  28. $zawartosc = htmlspecialchars($zawartosc);
  29.  
  30. $nazwa = $row['nazwa'];
  31. $nazwa = stripslashes($nazwa);
  32. $nazwa = htmlspecialchars($nazwa);
  33.  
  34. echo '<form name="form_1" method="POST" action="edit.php?stan=update">
  35. <table align="center" border="0" cellspacing="3" cellpadding="0">
  36. <tr>
  37. <td align="right" valign="top" class="uni_01">tytuł menu</td>
  38. <td class="next">
  39. <input type="text" name="title" size="35" value="'.$nazwa.'">
  40. </td>
  41. </tr>
  42. <tr>
  43. <td align="right" valign="top" class="uni_01">zawartość</td>
  44. <td class="next">
  45. <textarea name="text" rows="15" cols="80" style="width: 100%">'.$zawartosc.'</textarea>
  46. </td>
  47. </tr>
  48. <tr>
  49. <td align="right" valign="top" class="uni_01">&nbsp;</td>
  50. <td class="next">
  51. <input style="font-weight: bold;" type="submit" name="ok" value="zapisz">
  52. <input type="reset" name="Reset" value="wyczyść">
  53. <input type="hidden" name="cmd" value="update">
  54. </td>
  55. </tr>
  56. </table>
  57. </form>
  58. ';
  59. }
  60. if($stan=='update') {
  61. global $id, $nazwa, $zawartosc;
  62.  
  63.  $zawartosc = addslashes($zawartosc);
  64.  $nazwa = addslashes($nazwa);
  65.  $query = "UPDATE menu SET nazwa='$nazwa', zawartosc='$zawartosc' WHERE id=$id ";
  66.  $result = mysql_query($query);
  67. echo $query;
  68.  }
  69.  
  70. if($stan=='usun') {
  71. global $id;
  72.  $query = "DELETE FROM menu WHERE id='$id'";
  73.  $result = mysql_query($query);
  74. echo ("<a href='edit.php'>Wróć</a>"); 
  75.  
  76. }
  77. elseif ($cmd == 'dodajblok') {
  78. echo '<form method="post" action="edit.php?cmd=menu_d">
  79. <table border="0" cellspacing="3" cellpadding="0" align="center">
  80. <tr>
  81. <td align="right" valign="top" class="uni_01">tytuł menu</td>
  82. <td class="next">
  83. <input type="text" name="nazwa" size="35">
  84. </td>
  85. </tr>
  86.  
  87. <tr>
  88. <td align="right" valign="top" class="uni_01">zawartość</td>
  89. <td class="next">
  90. <textarea name="zawartosc" rows="15" cols="80" style="width: 100%"></textarea>
  91. </td>
  92. </tr>
  93. <tr>
  94. <td align="right" valign="top" class="uni_01">&nbsp;</td>
  95. <td class="next">
  96. <input style="font-weight: bold;" type="submit" name="menu_d" value="dodaj">
  97. <input type="reset" name="Reset" value="Wyczyść">
  98. </td>
  99. </tr>
  100. </table>
  101. </form>
  102. ';
  103.  
  104. }
  105. elseif ($cmd == 'menu_d') {
  106. global $nazwa, $zawartosc, $id;
  107.  
  108.  
  109.  $query = "INSERT INTO menu SET zawartosc='$zawartosc', nazwa='$nazwa'";
  110.  $result = mysql_query($query);
  111. echo ("<a href='edit.php'>Wróć</a>"); 
  112. }
  113.  
  114. ?>


usuwanie i dodawanie ładnie działa a modyfikacja już nie :| Proszę o pomoc.
Pozdrawiam.
skowron-line
Kod
i wyswietliło mi:
[code]UPDATE menu SET nazwa='', zawartosc='' WHERE id=

[/code]

to zamien $nazwa na $_POST['nazwa']

i daj w podwojne uszy bo to stringi
Reiven
zrobiłem tak:

  1. <?php
  2. $query = "UPDATE menu SET nazwa='{$_POST['nazwa']}', zawartosc='{$_POST['zawartosc']}' WHERE id='{$_POST['id']}'";
  3. ?>


zrobiłem też tak:
  1. <?php
  2. $query = "UPDATE menu SET nazwa='{$_POST[nazwa]}', zawartosc='{$_POST[zawartosc]}' WHERE id='{$_POST[id]}'";
  3. ?>


i nadal:

Kod
UPDATE menu SET nazwa='', zawartosc='' WHERE id=''


blink.gif
Ociu
  1. <?php
  2. $query = "UPDATE menu SET nazwa='".$_POST['nazwa']."', zawartosc='".$_POST['zawartosc']."' WHERE id=".$_GET['id']." ";
  3. ?>


Pamiętaj o zabezpieczeniu tego, to tylko przykład.
Reiven
ociu

i nadal

Kod
UPDATE menu SET nazwa='', zawartosc='' WHERE id=


:/:/
Ociu
A pokazuje Ci dane w formularzu ?
Reiven
tak pokazuje wszystko ładnie... a nie che się aktualizować :|

dobra nad tamtym później popracuje... mam inny problem :/
w wielu serwisach widnieją podstrony np: strona.php?id=1 co pobiera informacje z bazy danych MySQL. Próbowałem sam napisać i powiedzmy że wyszło ale nie chce mi zmieniać stron :| mam 2 rekordy w bazie danych o ID: 1 i 2 i skrypt który napisałem pokazuje tylko rekord o ID=1 przy zmianie na ID=2 nadal pokazuje ID=1 nawet jak wejde na: s.php to tak samo pokazuje stronę o ID=1 a nie powinno :/

plik: module/strony.php

  1. <?php
  2.  
  3. function strony()
  4. {
  5. global $id,$tytul,$text;
  6. $id = (int) $id;
  7.  
  8. $query = "SELECT * FROM strony WHERE id=$id";
  9. $result = mysql_query($query);
  10. $a = mysql_num_rows($result);
  11.  
  12. if($a==0) {
  13.  
  14. $tytul = "blad";
  15. $text = "Nie ma strony o podanym ID !";
  16.  
  17.  
  18. } else {
  19.  
  20. $row = mysql_fetch_array($result);
  21.  
  22. $tytul = $row['tytul'];
  23. $text = $row['text'];
  24. $text = stripslashes($text);
  25. $tytul = stripslashes($tytul);
  26. }
  27.  
  28. echo $tytul;
  29. echo '<br>';
  30. echo '<table width="98%">';
  31. echo '<tr><td>'.$text.'</td></tr>';
  32. echo '</table>';
  33. }
  34.  
  35. ?>


plik: s.php

  1. <?php 
  2. header("Content-Type: text/html; charset=UTF-8");
  3. include ("config.php");
  4. include ("funkcje.php");
  5. include ("module/strony.php");
  6. function show() {
  7. global $id,$title;
  8.  
  9.  
  10.  
  11.  
  12. if ($id == $id){
  13. strony('');
  14. }
  15.  
  16. }
  17.  
  18.  
  19.  
  20.  
  21. include ("theme/$theme/index.php");
  22. ?>


dobra strony już załatwiłem, lecz mam nadal problem z aktualizacją tabel sad.gif
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.