Mam taki oto kod:
  1. <?php
  2.  
  3. require ('../../smarty/Smarty-2.6.9/libs/Smarty.class.php');
  4. require ('../inne/opcje.php'); // hasło
  5.  
  6. $smarty = new Smarty;
  7.  
  8. $smarty -> template_dir = '../inne';
  9. $smarty -> compile_dir = '../inne/kopie';
  10.  
  11. $smarty -> assign ('TYTUL', 'Indeks administracji');
  12. $smarty -> assign ('SLOWA_KLUCZOWE', '');
  13. $smarty -> assign ('OPIS', '');
  14. $smarty -> assign ('PREFIKS_URI', '../');
  15. $smarty -> assign ('SZABLON', 'szablony/kategorie.tpl');
  16. $smarty -> assign ('LINKI', array ('../' => 'Powrót do bloga', 'kategorie.php' => 'Kategorie', 'index.php?akcja=wyloguj' => 'Wyloguj'));
  17.  
  18. if (isset ($_COOKIE['zalogowany'])) {
  19. if ($_GET['akcja'] == 'dodaj') {
  20. $smarty -> assign ('NAZWA', 'nowy');
  21. }
  22. if ($_GET['akcja'] == 'usun') {
  23. $smarty -> assign ('NAZWA', 'usun');
  24. $zapytanie = mysql_query ('SELECT id, nazwa FROM kategorie');
  25. while ($wiersz = mysql_fetch_array ($zapytanie)) {
  26. $kategorie_usun[$wiersz['id']] = $wiersz['nazwa'];
  27. }
  28. $smarty -> assign ('KATEGORIE_USUN', $kategorie_usun);
  29. }
  30. if ($_GET['akcja'] == 'zmien') {
  31. $smarty -> assign ('NAZWA', 'zmien');
  32. $kategorie_zmien = $kategorie_usun;
  33. $smarty -> assign ('KATEGORIE_ZMIEN', $kategorie_zmien);
  34. }
  35. else {
  36. if (isset ($_POST['wyslij1'])) {
  37. mysql_query ('INSERT INTO kategorie VALUES (\"\"\"' . $_POST['nazwa'] . '\"\"' . $_POST['opis'] . '\")');
  38. $smarty -> assign ('NAZWA', 'zaladowany');
  39. }
  40. if (isset ($_POST['wyslij2'])) {
  41. mysql_query ('DELETE FROM kategorie WHERE id = \"' . $_POST['usun_kategorie'] . '\" LIMIT 1');
  42. mysql_query ('DELETE FROM wpisy WHERE kategoria = \"' . $_POST['usun_kategorie'] . '\"');
  43. $smarty -> assign ('NAZWA', 'usuniety');
  44. }
  45. if (isset ($_POST['wyslij3'])) {
  46. mysql_query ('UPDATE FROM kategorie WHERE id = \"' . $_POST['zmien_kategorie'] . '\" SET nazwa = \"' . $_POST['nazwa'] . '\", opis = \"' . '\" LIMIT 1');
  47. $smarty -> assign ('NAZWA', 'zmieniony');
  48. }
  49. ############################################
  50. else {
  51. $zapytanie = mysql_query ('SELECT * FROM kategorie');
  52. while ($wiersz = mysql_fetch_array ($zapytanie)) {
  53. $kategorie[$wiersz['nazwa']] = $wiersz['opis'];
  54. }
  55. $smarty -> assign ('KATEGORIE', $kategorie);
  56. $smarty -> assign ('NAZWA', 'spis');
  57. }
  58. ##############################################
  59. }
  60. }
  61. else {
  62. $smarty -> assign ('NAZWA', 'niezalogowany');
  63. }
  64. $smarty -> assign ('TYTUL_STRONY', 'Indeks administracji');
  65.  
  66. $smarty -> display('szablon.tpl');
  67.  
  68. ?>


No i jeszcze dam środek szablonu, który inkluduję do strony:

  1. {if $NAZWA == "nowy"}
  2. <form action="kategorie.php" method="post">
  3. Nazwa kategorii: <input type="text" name="nazwa" />
  4. Opis: <input type="text" name="opis" /><br />
  5. <input type="submit" name="wyslij1" value="wyslij" />
  6. </form>
  7. {elseif $NAZWA == "usun"}
  8. <form action="kategorie.php" method="post">
  9. Wybierz kategorię do usunięcia: <select name="usun_kategorie">
  10. {foreach key=KLUCZ item=ELEMENT from=$KATEGORIE_USUN}
  11. <option value="{$KLUCZ}">{$ELEMENT}</option>
  12. {/foreach}
  13. <input type="submit" name="wyslij2" value="Wyślij!" />
  14. </form>
  15. {elseif $NAZWA == "zmien"}
  16. <form action="kategorie.php" method="post">
  17. Wybierz kategorię do zmiany: <select name="zmien_kategorie">
  18. {foreach key=KLUCZ item=ELEMENT from=$KATEGORIE_ZMIEN}
  19. <option value="{$KLUCZ}">{$ELEMENT}</option>
  20. {/foreach}
  21. <br />
  22. Nazwa: <input type="text" name="nazwa" />
  23. Opis: <input type="text" name="opis" />
  24. <input type="submit" name="wyslij3" value="Wyślij!" />
  25. </form>
  26. {elseif $NAZWA == "zmieniony"}
  27. <p>Zmiany zostały zatwierdzone!</p>
  28. {elseif $NAZWA == "zaladowany"}
  29. <p>Kategoria została dodana!</p>
  30. {elseif $NAZWA == "usuniety"}
  31. <p>Kategoria została usunięta!</p>
  32. {else}
  33. <th>
  34. <td>Nazwa</td><td>Opis</td><td>Działania</td>
  35. </th>
  36. {foreach key=KLUCZ item=ELEMENT from=$KATEGORIE}
  37. <tr>
  38. <td>{$KLUCZ}</td>
  39. <td>{$ELEMENT}</td>
  40. <td><a href="kategorie.php?akcja=dodaj">Dodaj</a> <a href="kategorie.php?akcja=zmien">Zmień</a> <a href="kategorie.php?akcja=usun">Usuń</a></td>
  41. </tr>
  42. {/foreach}
  43. {/if}


W pierwszym listingu zaznaczyłem kawałek, który nie działa. A dokładniej - zwraca błąd "mysql_fetch_array: supplied argument is not a valid MySQL result resource".

Połączenie z bazą danych jest, baza wybrana itp.
Problem musi być więc w zapytaniu... Jednak takie samo zapytanie, wykonywane przez phpMyAdmina, zwraca wyniki...

Może orientujecie się, o co chodzi??