Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: php sql gdzie popełniam błąd
Forum PHP.pl > Forum > PHP
boddah
Mam plik form.php w którym mam między innymi rozwijaną listę. Dane do niej są pobierane z bazy danych z tabeli kategoria. Wydaje mi się, że działa ona poprawnie oto kod odpowiedzialny za tą listę:
  1. <tr>
  2. <td><font class=napis>Kategoria</td>
  3. <td><select name=\"kategoria\"><?php
  4. $sql = &#092;"SELECT * FROM kategoria ORDER BY id_kategoria\";
  5. $result = mysql_query($sql);
  6. while ($record = mysql_fetch_array($result)) 
  7. echo &#092;"<option value=\"\".$record[\"id_kategoria\"].\"\">\".$record[\"opis\"].\"</option>\";
  8.  ?>
  9. </select>
  10. </TD>
  11. <tr>


Oczywiście logowanie do bazy jest wcześniej.
Jak rozwinę listę pokazuje dobrze dane z bazy.
W tym samym pliku mam też pole input oto fragment kodu:

  1. <td><font class=napis>Temat</td>
  2. <td><input class=inp type=\"text\" name=\"temat\" value=\"<?php echo $row['temat']; ?>\"></td>
  3. <td>&nbsp;&nbsp;</td>


W drugim pliku x.php mam insert-a który dodaje dane z rozwijanej listy i z input-a do bazy danych do tabeli artykul oto fragment kodu:

  1. <?php
  2. $url = 'localhost';
  3. $login = 'root';
  4. $pass = 'krasnal';
  5. mysql_connect($url,$login,$pass);
  6. mysql_select_db('baza_test');
  7. //modyfikuj bazę danych
  8. switch($akcja) {
  9. case('DELETE'):
  10. $zapytanie=&#092;"DELETE FROM arty WHERE id=$id\";
  11. $wynik = mysql_query($zapytanie);
  12. break;
  13. case('INSERT'):
  14. $zapytanie=&#092;"INSERT INTO artykul SET id_kategoria='$id_kategoria', temat='$temat', tresc='$tresc', autor='$id_users', redaktor='$id_users', data_u='$data_u', data_p='$data_p', data_z='$data_z', id_rej_zm='$id_rej_zm'\";
  15. $wynik = mysql_query($zapytanie);
  16. break;
  17. case('UPDATE'):
  18. $zapytanie=&#092;"UPDATE arty SET tytul='$tytul', tresc='$tresc', autor='$autor', miasto='$miasto', data='$data' WHERE id=$id\";
  19.  
  20. $wynik = mysql_query($zapytanie);
  21. break;
  22. default:  
  23. break;
  24. }
  25. ?>


Problem jest w tym ze dane z input-ów dodaje do bazy a dane z listy wyboru nie. Nie jestem na 100% pewien ale chyba zamiast pobranego id_kategoria wpisuje zero ponieważ w bazie mam ustawione pole id_kategoria aby domyślnie wstawiał jeden a po dodaniu jest tam zero sad.gif nie wiem w którym miejscu robię błąd czy przy liście czy może coś nie tak jest z insert-em. Z góry dzięki za pomoc.

Sorki za estetykę . Nie zabłysnołem sadsmiley02.gif . Jeśli chodzi o składnię inserta to można tak jak ja to napisałem i tak jak napisał Minuit.
minuit
czy składnia INSERTA nie wygląda przypadkiem następująco ?
Kod
INSERT INTO table_name (rec1,rec2,rec3) VALUES ('$rec1','$rec2,'$rec3')
ikioloak
Jak przy kazdym mysql_query() napiszesz:
  1. <?php
  2.  
  3. mysql_query($query) or die(mysql_error());
  4.  
  5. ?>

To na pewno pomoze ci to szybciej znalezc blad. Takiej skladni inserta jak napisales to ja tez nigdy jeszcze nie widzialem
Vertical
Napisz w wersji BBcode-friendly, bo z tego nie da się niczego wywnioskować
alpin19
Widać nie wszyscy są na tyle rozumni żeby ułatwić pracę innym....
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.