Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dodawanie artykułu w cms
Forum PHP.pl > Forum > Bazy danych
elldiablo
Hej

mam problem z dodaniem artykułu do odpowiedniego menu.
Są 2 tabele:

artykulu
-id
-id_kategoria (indeks)
-nazwa (var)
-tresc (var)

kategoria (czyli menu)
-id
-nazwa (var)


Mój formularz wygląda tak:

Kod
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
                <label>Dodaj do menu:<br />
                <select name="id">
                    <option>Wybierz menu</option>
                <?php
                $listamenu = mysql_query ("SELECT * FROM kategoria ORDER BY id ASC" );
                while ($row = mysql_fetch_object($listamenu))
                {
                    echo "<option value=\"$row->id\">$row->nazwa</option>";
                }
                ?>
                </select>
                </label><br />
                <label>Dodaj tytuł:<br />
                <input name="nazwa" maxlength="40" />
                </label><br />
                <label>Dodaj artykuł:<br />
                <textarea name="tresc" rows="10" cols="40"></textarea>
                </label><br />
                <input type="submit" value="Dodaj" />
                </form>


Potem

Kod
                <?php
                if(!empty($_POST['tresc']) && !empty($_POST['nazwa']) && !empty($_POST['id']))
                {
                    $id = $_POST['id'];
                    $tytulartykulu = $_POST['nazwa'];
                    $trescartykulu = $_POST['tresc'];
                    
                    $sql = ("INSERT INTO artykul(nazwa,tresc,id_kategoria) VALUES('$tytulartykulu', '$trescartykulu', '$id_kategoria')");
                    if (mysql_query($sql))
                    {
                        echo "<p>Dodano nowy artykuł</p>";
                        echo "<p><a href=\"index.php\">Powrót</a></p>";
                    }
                    else
                    {
                        echo "<p>Błąd podczas dodawania artykułu</p>";
                    }
                }
                ?>


i cały czas jest błąd przy dodawaniu artykułu

Macie jakieś rozwiązania?questionmark.gif
erix
Choroba, szklana kula się zepsuła...

Przeczytaj, co mam w stopce czerwonymi literami napisane.
kefirek
Masz tak

  1. <?php
  2. $sql = ("INSERT INTO artykul(nazwa,tresc,id_kategoria) VALUES('$tytulartykulu', '$trescartykulu', '$id_kategoria')");
  3. ?>


Skąd się bierze ?
'$id_kategoria' Nie powinno tam być $id ?

Po za tym zobacz tak
  1. <form action="<?php echo basename($_SERVER['PHP_SELF']); ?>" method="post">
  2.                <label>Dodaj do menu:<br />
  3.                <?php
  4.                $listamenu = mysql_query ("SELECT * FROM kategoria ORDER BY id ASC" );
  5.                $link = "";
  6.        while ($row = mysql_fetch_object($listamenu))
  7. {
  8. $link .= "<option value='".$row['id']."'>".$row['nazwa']."</option>\n";
  9. }
  10.                ?>
  11.                <select name="id">
  12.                    <option selected="selected">Wybierz menu</option>
  13.               <?php $link ?> </select>
  14.                </label><br />
  15.                <label>Dodaj tytuł:<br />
  16.                <input name="nazwa" maxlength="40" />
  17.                </label><br />
  18.                <label>Dodaj artykuł:<br />
  19.                <textarea name="tresc" rows="10" cols="40"></textarea>
  20.                </label><br />
  21.                <input type="submit" value="Dodaj" />
  22.                </form>
  23.        
  24.        
  25.         <?php
  26.                if(!empty($_POST['tresc']) && !empty($_POST['nazwa']) && !empty($_POST['id']))
  27.                {
  28.                    $id = $_POST['id'];
  29.                    $tytulartykulu = $_POST['nazwa'];
  30.                    $trescartykulu = $_POST['tresc'];
  31.                    
  32.                    $sql = ("INSERT INTO artykul(nazwa, tresc, id_kategoria) VALUES('$tytulartykulu', '$trescartykulu', '$id')");
  33.                    if (mysql_query($sql))
  34.                    {
  35.                        echo "<p>Dodano nowy artykuł</p>";
  36.                        echo "<p><a href=\"index.php\">Powrót</a></p>";
  37.                    }
  38.                    else
  39.                    {
  40.                        echo "<p>Błąd podczas dodawania artykułu</p>";
  41.                    }
  42.                }
  43.                ?>
zak293
Zacytuj blad jaki masz zwracany tak ciężko cokolwiek powiedzieć bo może to zależeć od wielu czynników.
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.