Mam taki oto kod:
<?php
require ('../../smarty/Smarty-2.6.9/libs/Smarty.class.php');
require ('../inne/opcje.php'); // hasło
$smarty = new Smarty;
$smarty -> template_dir = '../inne';
$smarty -> compile_dir = '../inne/kopie';
$smarty -> assign ('TYTUL', 'Indeks administracji');
$smarty -> assign ('SLOWA_KLUCZOWE', '');
$smarty -> assign ('OPIS', '');
$smarty -> assign ('PREFIKS_URI', '../');
$smarty -> assign ('SZABLON', 'szablony/kategorie.tpl');
$smarty -> assign
('LINKI', array ('../' => 'Powrót do bloga', 'kategorie.php' => 'Kategorie', 'index.php?akcja=wyloguj' => 'Wyloguj'));
if (isset ($_COOKIE['zalogowany'])) { if ($_GET['akcja'] == 'dodaj') {
$smarty -> assign ('NAZWA', 'nowy');
}
if ($_GET['akcja'] == 'usun') {
$smarty -> assign ('NAZWA', 'usun');
$zapytanie = mysql_query ('SELECT id, nazwa FROM kategorie'); $kategorie_usun[$wiersz['id']] = $wiersz['nazwa'];
}
$smarty -> assign ('KATEGORIE_USUN', $kategorie_usun);
}
if ($_GET['akcja'] == 'zmien') {
$smarty -> assign ('NAZWA', 'zmien');
$kategorie_zmien = $kategorie_usun;
$smarty -> assign ('KATEGORIE_ZMIEN', $kategorie_zmien);
}
else {
if (isset ($_POST['wyslij1'])) { mysql_query ('INSERT INTO kategorie VALUES (\"\", \"' . $_POST['nazwa'] . '\", \"' . $_POST['opis'] . '\")'); $smarty -> assign ('NAZWA', 'zaladowany');
}
if (isset ($_POST['wyslij2'])) { mysql_query ('DELETE FROM kategorie WHERE id = \"' . $_POST['usun_kategorie'] . '\" LIMIT 1'); mysql_query ('DELETE FROM wpisy WHERE kategoria = \"' . $_POST['usun_kategorie'] . '\"'); $smarty -> assign ('NAZWA', 'usuniety');
}
if (isset ($_POST['wyslij3'])) { mysql_query ('UPDATE FROM kategorie WHERE id = \"' . $_POST['zmien_kategorie'] . '\" SET nazwa = \"' . $_POST['nazwa'] . '\", opis = \"' . '\" LIMIT 1'); $smarty -> assign ('NAZWA', 'zmieniony');
}
############################################
else {
$kategorie[$wiersz['nazwa']] = $wiersz['opis'];
}
$smarty -> assign ('KATEGORIE', $kategorie);
$smarty -> assign ('NAZWA', 'spis');
}
##############################################
}
}
else {
$smarty -> assign ('NAZWA', 'niezalogowany');
}
$smarty -> assign ('TYTUL_STRONY', 'Indeks administracji');
$smarty -> display('szablon.tpl');
?>
No i jeszcze dam środek szablonu, który inkluduję do strony:
{if $NAZWA == "nowy"}
<form action="kategorie.php" method="post"> Nazwa kategorii:
<input type="text" name="nazwa" />Opis:
<input type="text" name="opis" /><br /><input type="submit" name="wyslij1" value="wyslij" /> {elseif $NAZWA == "usun"}
<form action="kategorie.php" method="post"> Wybierz kategorię do usunięcia:
<select name="usun_kategorie">{foreach key=KLUCZ item=ELEMENT from=$KATEGORIE_USUN}
{/foreach}
<input type="submit" name="wyslij2" value="Wyślij!" /> {elseif $NAZWA == "zmien"}
<form action="kategorie.php" method="post"> Wybierz kategorię do zmiany:
<select name="zmien_kategorie">{foreach key=KLUCZ item=ELEMENT from=$KATEGORIE_ZMIEN}
{/foreach}
Nazwa:
<input type="text" name="nazwa" />Opis:
<input type="text" name="opis" /><input type="submit" name="wyslij3" value="Wyślij!" /> {elseif $NAZWA == "zmieniony"}
<p>Zmiany zostały zatwierdzone!
</p> {elseif $NAZWA == "zaladowany"}
<p>Kategoria została dodana!
</p> {elseif $NAZWA == "usuniety"}
<p>Kategoria została usunięta!
</p> {else}
{foreach key=KLUCZ item=ELEMENT from=$KATEGORIE}
<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> {/foreach}
{/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??
Ten post edytował Fipaj 18.05.2005, 11:58:25