Ĺadny brzuch
Co może być przyczyną tego, że skrypt dodający rekordy dodaje rekord tylko w pierwszej próbie, natomiast przy kolejnych niby wszystko leci ok ale zawartość bazy się nie zmienia:?
Więcej szczegółów można prosić?
Peace on earth, war on net...
Zapraszam na QLSITE
A na maila przesyłajcie wszystkie swoje artykuły, opinie, chęci współpracy, itp.
zamieść skrypt, to będziemy mogli powiedzieć
teraz mogę jedynie przypuszczać, że próbujesz dodać wiele razy dokładnie ten sam rekord. A to oczywiście nie zadziala. Zauważ, że PHP nie wyświetla informacji o błędach MySQLa. Aby to zrobić, musisz wywołaś funkcje mysql_error()
Jak chcecie... ale jest tego sporo.To jest formularz, w którym podaję dane do wstawienia:
<form method="post" action="../php/dodaj.php"> <table cellspacing="0"> <tr><th>Numer wpisu:</TH><td class="wynik"> <?php $conn=mysql_connect("127.0.0.1","root","krasnal"); mysql_select_db(komputery); $ile=mysql_query("select * from dane",$conn); $il=mysql_num_rows($ile); mysql_error(); $nr=$il+1; $id=$il; echo"<input TYPE=text name=id size=5 readonly value=$nr style=background-color:transparent;>"; ?> </TD></TR> <tr><th>Numer seryjny:</th><td class="wynik"><input type="text" name="serial" value="" size=50></TD></tr> <tr><th>Numer inwentarzowy:</th><td class="wynik"><input type="text" name="inwent" value="ST-IV-0"></td></tr> <tr><th>Numer zestawu:</th><td class="wynik"><input type="text" name="zestaw" value="kx"></td></tr> <tr><th>Data zakupu:</th><td class="wynik"><input type="text" name="buyed" value="0000-00-00"></td></tr> <tr><th>Wartość początkowa:</th><td class="wynik"><input type="text" name="wartosc" value="0"></td></tr> <tr><th>Numer rachunku:</th><td class="wynik"><input type="text" name="rach" value="" size=50></td></tr> <tr><th>Nazwa komputera:</th><td class="wynik"><input type="text" name="name" value=""></td></tr> <tr><th>Użytkownik:</th><td class="wynik"><input type="text" name="user" value=""></td></tr> <tr><th>Miejsce użytkowania:</th><td class="wynik"><input type="text" name="place" value=" Wydział, pokój x" size=50></td></tr> <tr><th>Data gwarancji:</th><td class="wynik"><input type="text" name="gw_d" value="0000-00-00"></td></tr> <tr><th>Firma serwisująca:</th><td class="wynik"><input type="text" name="serv" value="" size=50></td></tr> <tr><th>Miejsce gwarancji:</th><td class="wynik"><select name="gw_g"> <option VALUE=""></OPTION> <option value="serwis">serwis</option> <option value="użytkownik">użytkownik</option> <option value-"informatyk">informatyk</option> </select></td></tr> <tr><th>Uwagi:</th><td class="wynik"><textarea name="uwagi" rows="2" cols="80%">Tu wpisz dodatkowe informacje o sprzęcie...</textarea></td></tr> <tr><th>System operacyjny:</th><td class="wynik"><select name="os"> <option VALUE=""></OPTION> <option value="Windows 95">Windows 95</option> <option value="Windows 98">Windows 98</option> <option VALUE="Windows 98 PL">Windows 98 PL</OPTION> <option value-"Windows 2000">Windows 2000</option> <option value="Windows XP Professional">Windows XP Professional</option> <option value="Linux">Linux</option> </select></td></tr> <tr><th>Zainstalowane oprogramowanie:</th><td class="wynik"><textarea name="soft" rows="2" cols="80%">Tutaj wymień zainstalowane w komputerze oprogramowanie...</textarea></td></tr> <tr><th>Gdzie znajduje się licencja:</th><td class="wynik"><select name="lic_g"> <option VALUE=""></OPTION> <option value="u użytkownika">u użytkownika</option> <option value="u informatyka">u informatyka</option> </select></td></tr> <tr><th>Numer licencji:</th><td class="wynik"><input type="text" name="lic_n" value="" size=30></td></tr> <tr><th>Rodzaj licencji:</th><td class="wynik"><select name="lic_r"> <option VALUE=""></OPTION> <option value="OEM">OEM</option> <option value="SELECT">SELECT</option> <option value="BOA">BOA</option> </select></td></tr> <tr><th>KEY:</th><td class="wynik"><input type="text" name="key" value=""></td></tr> <tr><th>Antywirus:</th><td class="wynik"><select name="av"> <option value="brak">brak</option> <option value="Norton AntyVirus">Norton AntyVirus</option> <option value="Personal Antivirus">Personal AntiVirus</option> </select></td></tr> <tr><th>Ilość pamięci RAM:</th><td class="wynik"><input type="text" name="ram" value="w MB"></td></tr> <tr><th>Zegar procesora:</th><td class="wynik"><input type="text" name="cpu" value="w MHz"></td></tr> <tr><th>Wielkość dysku twardego:</th><td class="wynik"><input type="text" name="hdd" value="w GB"></td></tr> <tr><th>Status użytkowania:</th><td class="wynik"><select name="state"> <option value="w użyciu">w użyciu</option> <option value="w rezerwie">w rezerwie</option> <option value="wyzłomowany">wyzłomowany</option> </select></td></tr> </TABLE> <center><input type="submit" value="DODAJ"><input type="reset" value="WYCZYĄĆ"></CENTER> </form>
A to skrypt, który je dodaje:
<?php $conn=mysql_connect("127.0.0.1","root","krasnal"); mysql_select_db("komputery",$conn); $result=mysql_query("insert into dane VALUES('','$serial','$inwent','$zestaw','$buyed','$wartosc','$rach','$name','$user','$place','$gw_d' ,'$serv','$gw_g','$uwagi','$os','$soft','$lic_g','$lic_n','$lic_r','$key','$av','$ram','$cpu','$hdd',' $state')"); mysql_close($conn); include 'ind.php';//to tu nie przeszkadza - to plik nadrzędny - schemat strony. echo "<center><h3>Dane wprowadzone.</h3>"; echo "<a HREF=ind.php?strona=../html/dod_podzesp.html>Uzupełnij informacje o podzespołach.</A></CENTER>"; ?>
mi twoj skrypt dziala. dodaje za kazdym razem do tabeli nowy rekord. pokaz moze jeszcze skladnie poolecenia sql, ktorym stworzyles tabele dane.
pozdrawiam
pepsi^no1
Możesz podać strukturę tabeli, system operacyjny, nazwę i wersję, serwera interpretera i MySQL. ;)
Moja rada dodaj mysql_error zaraz po linii, w której dodajesz rekord. Sprawdź także ile rekordów jest w tabeli w tamtej chwile;)
Kodie
Chyba już to załatwiłem. Chodziło o to, ze kombinowałem z paroma innymi sprawami i dodałem do tabeli pole ID, które miało przechowywać numer wpisu. Miało ono być auto_increment ale zapomniałem to ustawić w efekcie czego w poleceniu było ("insert into dane VALUES([b]''[/b],'$serial',. Teraz jest ("insert into dane VALUES('$id','$serial', i działa. NIe wiem tylko czemu działało za pierwszym razem skoro powinno nie ruszyć. Muszę to jeszcze przerobić bo przewiduję kłopoty z ID przy większej liczbie rekordów. Możliwe, że jednak ustawię to jako auto_increment, żeby się numery nie powtarzały, bo w tej chwili nie wiem jak zrobić, żeby po usunięciu wpisu zmieniały się wartości ID następujących po nim rekordów. Ale to już temat na osobny post. Jak sobie nie poradzę to napiszę. Ten temat uważam za załatwiony pozytywnie.;)
cytat:frogy napisał:
NIe wiem tylko czemu działało za pierwszym razem skoro powinno nie ruszyć.
Hehe, też nie wiem dlaczego działało;) pewnie przyjmowało, że ma dodać jako element zerowy:D.
Aby dodać auto_increment użyj polecenia alter:
ALTER TABLE nazwa_tablei MODIFY nazwa_kolumny int auto_increment PRIMARY KEY; :D
Kodie
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Więcej szczegółów można prosić?
Peace on earth, war on net...
Zapraszam na QLSITE
A na maila przesyłajcie wszystkie swoje artykuły, opinie, chęci współpracy, itp.
zamieść skrypt, to będziemy mogli powiedzieć
teraz mogę jedynie przypuszczać, że próbujesz dodać wiele razy dokładnie ten sam rekord. A to oczywiście nie zadziala. Zauważ, że PHP nie wyświetla informacji o błędach MySQLa. Aby to zrobić, musisz wywołaś funkcje mysql_error()
Jak chcecie... ale jest tego sporo.To jest formularz, w którym podaję dane do wstawienia:
<form method="post" action="../php/dodaj.php"> <table cellspacing="0"> <tr><th>Numer wpisu:</TH><td class="wynik"> <?php $conn=mysql_connect("127.0.0.1","root","krasnal"); mysql_select_db(komputery); $ile=mysql_query("select * from dane",$conn); $il=mysql_num_rows($ile); mysql_error(); $nr=$il+1; $id=$il; echo"<input TYPE=text name=id size=5 readonly value=$nr style=background-color:transparent;>"; ?> </TD></TR> <tr><th>Numer seryjny:</th><td class="wynik"><input type="text" name="serial" value="" size=50></TD></tr> <tr><th>Numer inwentarzowy:</th><td class="wynik"><input type="text" name="inwent" value="ST-IV-0"></td></tr> <tr><th>Numer zestawu:</th><td class="wynik"><input type="text" name="zestaw" value="kx"></td></tr> <tr><th>Data zakupu:</th><td class="wynik"><input type="text" name="buyed" value="0000-00-00"></td></tr> <tr><th>Wartość początkowa:</th><td class="wynik"><input type="text" name="wartosc" value="0"></td></tr> <tr><th>Numer rachunku:</th><td class="wynik"><input type="text" name="rach" value="" size=50></td></tr> <tr><th>Nazwa komputera:</th><td class="wynik"><input type="text" name="name" value=""></td></tr> <tr><th>Użytkownik:</th><td class="wynik"><input type="text" name="user" value=""></td></tr> <tr><th>Miejsce użytkowania:</th><td class="wynik"><input type="text" name="place" value=" Wydział, pokój x" size=50></td></tr> <tr><th>Data gwarancji:</th><td class="wynik"><input type="text" name="gw_d" value="0000-00-00"></td></tr> <tr><th>Firma serwisująca:</th><td class="wynik"><input type="text" name="serv" value="" size=50></td></tr> <tr><th>Miejsce gwarancji:</th><td class="wynik"><select name="gw_g"> <option VALUE=""></OPTION> <option value="serwis">serwis</option> <option value="użytkownik">użytkownik</option> <option value-"informatyk">informatyk</option> </select></td></tr> <tr><th>Uwagi:</th><td class="wynik"><textarea name="uwagi" rows="2" cols="80%">Tu wpisz dodatkowe informacje o sprzęcie...</textarea></td></tr> <tr><th>System operacyjny:</th><td class="wynik"><select name="os"> <option VALUE=""></OPTION> <option value="Windows 95">Windows 95</option> <option value="Windows 98">Windows 98</option> <option VALUE="Windows 98 PL">Windows 98 PL</OPTION> <option value-"Windows 2000">Windows 2000</option> <option value="Windows XP Professional">Windows XP Professional</option> <option value="Linux">Linux</option> </select></td></tr> <tr><th>Zainstalowane oprogramowanie:</th><td class="wynik"><textarea name="soft" rows="2" cols="80%">Tutaj wymień zainstalowane w komputerze oprogramowanie...</textarea></td></tr> <tr><th>Gdzie znajduje się licencja:</th><td class="wynik"><select name="lic_g"> <option VALUE=""></OPTION> <option value="u użytkownika">u użytkownika</option> <option value="u informatyka">u informatyka</option> </select></td></tr> <tr><th>Numer licencji:</th><td class="wynik"><input type="text" name="lic_n" value="" size=30></td></tr> <tr><th>Rodzaj licencji:</th><td class="wynik"><select name="lic_r"> <option VALUE=""></OPTION> <option value="OEM">OEM</option> <option value="SELECT">SELECT</option> <option value="BOA">BOA</option> </select></td></tr> <tr><th>KEY:</th><td class="wynik"><input type="text" name="key" value=""></td></tr> <tr><th>Antywirus:</th><td class="wynik"><select name="av"> <option value="brak">brak</option> <option value="Norton AntyVirus">Norton AntyVirus</option> <option value="Personal Antivirus">Personal AntiVirus</option> </select></td></tr> <tr><th>Ilość pamięci RAM:</th><td class="wynik"><input type="text" name="ram" value="w MB"></td></tr> <tr><th>Zegar procesora:</th><td class="wynik"><input type="text" name="cpu" value="w MHz"></td></tr> <tr><th>Wielkość dysku twardego:</th><td class="wynik"><input type="text" name="hdd" value="w GB"></td></tr> <tr><th>Status użytkowania:</th><td class="wynik"><select name="state"> <option value="w użyciu">w użyciu</option> <option value="w rezerwie">w rezerwie</option> <option value="wyzłomowany">wyzłomowany</option> </select></td></tr> </TABLE> <center><input type="submit" value="DODAJ"><input type="reset" value="WYCZYĄĆ"></CENTER> </form>
A to skrypt, który je dodaje:
<?php $conn=mysql_connect("127.0.0.1","root","krasnal"); mysql_select_db("komputery",$conn); $result=mysql_query("insert into dane VALUES('','$serial','$inwent','$zestaw','$buyed','$wartosc','$rach','$name','$user','$place','$gw_d' ,'$serv','$gw_g','$uwagi','$os','$soft','$lic_g','$lic_n','$lic_r','$key','$av','$ram','$cpu','$hdd',' $state')"); mysql_close($conn); include 'ind.php';//to tu nie przeszkadza - to plik nadrzędny - schemat strony. echo "<center><h3>Dane wprowadzone.</h3>"; echo "<a HREF=ind.php?strona=../html/dod_podzesp.html>Uzupełnij informacje o podzespołach.</A></CENTER>"; ?>
mi twoj skrypt dziala. dodaje za kazdym razem do tabeli nowy rekord. pokaz moze jeszcze skladnie poolecenia sql, ktorym stworzyles tabele dane.
pozdrawiam
pepsi^no1
Możesz podać strukturę tabeli, system operacyjny, nazwę i wersję, serwera interpretera i MySQL. ;)
Moja rada dodaj mysql_error zaraz po linii, w której dodajesz rekord. Sprawdź także ile rekordów jest w tabeli w tamtej chwile;)
Kodie
Chyba już to załatwiłem. Chodziło o to, ze kombinowałem z paroma innymi sprawami i dodałem do tabeli pole ID, które miało przechowywać numer wpisu. Miało ono być auto_increment ale zapomniałem to ustawić w efekcie czego w poleceniu było ("insert into dane VALUES([b]''[/b],'$serial',. Teraz jest ("insert into dane VALUES('$id','$serial', i działa. NIe wiem tylko czemu działało za pierwszym razem skoro powinno nie ruszyć. Muszę to jeszcze przerobić bo przewiduję kłopoty z ID przy większej liczbie rekordów. Możliwe, że jednak ustawię to jako auto_increment, żeby się numery nie powtarzały, bo w tej chwili nie wiem jak zrobić, żeby po usunięciu wpisu zmieniały się wartości ID następujących po nim rekordów. Ale to już temat na osobny post. Jak sobie nie poradzę to napiszę. Ten temat uważam za załatwiony pozytywnie.;)
cytat:frogy napisał:
NIe wiem tylko czemu działało za pierwszym razem skoro powinno nie ruszyć.
Hehe, też nie wiem dlaczego działało;) pewnie przyjmowało, że ma dodać jako element zerowy:D.
Aby dodać auto_increment użyj polecenia alter:
ALTER TABLE nazwa_tablei MODIFY nazwa_kolumny int auto_increment PRIMARY KEY; :D
Kodie