ďťż

Ładny brzuch

to jest formularz ($id jest przesyłane z list wpisów - działa):<?php include'ind.php'; $conn=mysql_connect("127.0.0.1","root","krasnal"); mysql_error(); mysql_select_db("komputery",$conn); mysql_error(); $sql="select * from dane where id=$id"; $sql=mysql_query($sql); mysql_error(); echo"<form ACTION=ed1.php method=post>"; while($row=mysql_fetch_array($sql)){ echo"<table cellspacing=0 align=center>"; echo"<tr><th>Numer seryjny:</TH><td class=wynik><input TYPE=text name=serial size=50 value=".$row["serial"]."></TD></TR>"; echo"<tr><th>Numer inwentarzowy:</TH><td class=wynik><input TYPE=text name=inwent size=15 value=".$row["inwent"]."></TD></TR>"; echo"<tr><th>Numer zestawu:</TH><td class=wynik><input TYPE=text name=zestaw size=5 value=".$row["zestaw"]."></TD></TR>"; echo"<tr><th>Data zakupu:</TH><td class=wynik><input TYPE=text name=buyed size=10 value=".$row["buyed"]."></TD></TR>"; echo"<tr><th>Wartość początkowa:</TH><td class=wynik><input TYPE=text name=wartosc size=20 value=".$row["wartosc"]."></TD></TR>"; echo"<tr><th>Numer rachunku:</TH><td class=wynik><input TYPE=text name=rach size=50 value=".$row["rach"]."></TD></TR>"; echo"<tr><th>Nazwa komputera:</TH><td class=wynik><input TYPE=text name=name size=50 value=".$row["name"]."></TD></TR>"; echo"<tr><th>Użytkownik:</TH><td class=wynik><input TYPE=text name=user size=30 value=".$row["user"]."></TD></TR>"; echo"<tr><th>Miejsce użytkowania:</TH><td class=wynik><input TYPE=text name=place size=50 value=".$row["place"]."></TD></TR>"; echo"<tr><th>Data gwarancji:</TH><td class=wynik><input TYPE=text name=gw_d size=10 value=".$row["gw_d"]."></TD></TR>"; echo"<tr><th>Firma serwisująca:</TH><td class=wynik><input TYPE=text name=serv size=50 value=".$row["serv"]."></TD></TR>"; echo"<tr><th>Miejsce gwarancji:</TH><td class=wynik><input TYPE=text name=gw_g size=20 value=".$row["gw_g"]."></TD></TR>"; echo"<tr><th>Uwagi:</TH><td class=wynik><textarea name=uwagi cols=80 rows=3>".$row["uwagi"]."</TEXTAREA></TD></TR>"; echo"<tr><th>System operacyjny:</TH><td class=wynik><input TYPE=text name=os size=40 value=".$row["os"]."></TD></TR>"; echo"<tr><th>Oprogramowanie:</TH><td class=wynik><textarea name=soft cols=80 rows=3>".$row["os"]."</TEXTAREA></TD></TR>"; echo"<tr><th>Miejsce licencji:</TH><td class=wynik><input TYPE=text name=lic_g size=20 value=".$row["lic_g"]."></TD></TR>"; echo"<tr><th>Numer licencji:</TH><td class=wynik><input TYPE=text name=lic_n size=20 value=".$row["lic_n"]."></TD></TR>"; echo"<tr><th>Rodzaj licencji:</TH><td class=wynik><input TYPE=text name=lic_r size=40 value=".$row["lic_r"]."></TD></TR>"; echo"<tr><th>Key:</TH><td class=wynik><input TYPE=text name=key size=50 value=".$row["key"]."></TD></TR>"; echo"<tr><th>Antywirus:</TH><td class=wynik><input TYPE=text name=av size=50 value=".$row["av"]."></TD></TR>"; echo"<tr><th>Ilość RAM:</TH><td class=wynik><input TYPE=text name=ram size=10 value=".$row["ram"]."></TD></TR>"; echo"<tr><th>Zegar CPU:</TH><td class=wynik><input TYPE=text name=cpu size=10 value=".$row["cpu"]."></TD></TR>"; echo"<tr><th>Wielkość HDD:</TH><td class=wynik><input TYPE=text name=hdd size=10 value=".$row["hdd"]."></TD></TR>"; echo"<tr><th>Status użytkowania:</TH><td class=wynik><input TYPE=text name=state size=40 value=".$row["state"]."></TD></TR>"; } echo"<tr><td></TD><td align=center><input TYPE=submit name=Submit value=ZMIEŃ></TD></TR>"; echo"</TABLE></FORM>"; ?>A to plik mający edytować wyświetlone rekordy:<?php include'ind.php'; $conn=mysql_connect("127.0.0.1","root","krasnal"); mysql_select_db("komputery",$conn); mysql_error(); $sql="update dane set id='$id', serial='$serial', inwent='$inewnt', zestaw='$zestaw', buyed='$buyed', wartosc='$wartosc', rach='$rach', name='$name', user='$user', place='$place', gw_d='$gw_d', serv='$serv', gw_g='$gw_g', uwagi='$uwagi', os='$os', soft='$soft', lic_g='$lic_g', lic_n='$lic_n', lic_r='$lic_r', key='$key', av='$av', ram='$ram', cpu='$cpu', hdd='$hdd', state='$state' where id='$id'"; $sql=mysql_query($sql); mysql_error(); echo"<center>Dane zakualizowane!</CENTER>"; ?>Może ktoś wie czemu to nie działa. Mam inną bazę, w której korzystam z takiego samego kodu na wyświetlanie i edycję wpisów i na niej działa bez problemu. W bazie mysql też chyba wszystko jest ok.



cytat:frogy napisał:
Mam inną bazę, w której korzystam z takiego samego kodu na wyświetlanie i edycję wpisów i na niej działa bez problemu. W bazie mysql też chyba wszystko jest ok.

No to jeżeli to działa na innej bazie, a na tej którą masz nie działa to znaczy że kod jest dobrze napisany tylko widocznie problem jest z bazą danych.
Podaj jaki komunikat jest zapisywany do logów to może wtedy ktoś Ci pomoże, bo inaczej to trudno jest precyzyjnie wskazać miejsce błędu.

Errr... Jakich logów? Z mysql'a? Bo żadnych komunikatów błędów mi nie zwraca.

Tak,:
1. podaj strukturę tabeli
2. hmm, a czy $id zadziała, czy nie powinno być $_POST['id'] (zresztą to odnosi się do tych wszystkich zmiennych przekazywanych przez formularz):?

:D

Kodie



Co do zmiennych to na tej drugiej bazie działaja wszystkie zmienne więc musi i tutaj to chodzić. A jak chodzi o strukturę tabeli to jest problem bo robiłem ję w Mysql Front i nie mam treści skryptu, który mógłbym pokazać do analizy. Ale postaram się jakoś to zorganizować. Jak zdążę to może na jutro bo dziś kończy mi się czas i za chwilę będę musiał spadać więc raczej nic z tego. Niemniej dzięki za zwrócenie uwagi na tabelę. Podejrzewałem, że może być z nią coś nie tak ale Opcja sprawdzenie tabeli w Mysql Front nic nie wykazała więc nie byłem pewny. Poszukam, zobaczę, poprawię (oby), dam znać... Sayonara ;)

Ad 1. Możesz użyć składni mysql:
DESC table;

Ad 2. Sprawdź czy działa:
 echo $id;

Wydaje mi się, że błąd jest albo tu albo tu:D

Kodie

Ja chyba mam coś z bazą nie w porządku. Bo jeśli ten skrypt jest dobry to nie może być nic innego. Tak myślę.:<?php $conn=mysql_connect("127.0.0.1","root","krasnal"); $sql = "CREATE DATABASE komp"; $wynik = mysql_query($sql); if($wynik) echo "Baza została założona !<br>"; else { echo "Baza nie została założona !<br>"; exit; } mysql_select_db("komp",$conn); $zap = "CREATE TABLE dane ( ". "id int(50) DEFAULT '0' NOT NULL auto_increment, ". "serial char(30) unsigned, ". "inwent char(15), ". "zestaw char(5), ". "buyed date default '0000-00-00', ". "wartosc decimal(10,2), ". "rach int(40) unsigned, ". "name char(30), ". "user char(30), ". "place char(150), ". "gw_d date default '0000-00-00', ". "serv char(30), ". "gw_g char(20), ". "uwagi text, ". "os char(30), ". "soft text, ". "lic_g char(30), ". "lic_n char(30), ". "lic_r char(10), ". "key char(50), ". "av char(50), ". "ram char(6), ". "cpu char(8), ". //tu jest 8 w nawiasie a nie żadna buźka... "hdd char(6), ". "state char(15), ". "UNIQUE id (id), ". "PRIMARY KEY (id) ". ")"; $wynik = mysql_query($zap); mysql_error(); if($wynik) echo "Tabela założona prawidłowo !<br>"; else { echo "Błąd ! Tabela nie została założona !<br>"; exit; } ?>
Bo mnie tworzy się tylko baza komp a tabela dane nie stworzyła się ani razu. Ma taką strukturę jak ta, od której zaczął sięten temat. Tamtą też miałem problem zrobić więc w Mysql Front po kolei dodawałem po 1 polu i się udało. Ale jak widać chyba coś jednak jest nie tak. Wszyscy, którzy coś wymyślą proszeni o wypowiedź ( byle choć trochę sensownie).

Trochę to trwało (brak czasu...) niemniej jest ok. Po prostu z jakiegoś powodu walnąłem:cytat:"serial char(30) unsigned, ".
Tymczasem nie da się przecież określić jako bezznakowego typu char. Teraz jest cytat:"serial varchar(30), ". i nie ma problemu. Dodatkowo musiałem też zmienić nazwę pola key na klucz bo chyba nie wolno używać takich nazw jak polecenia mysql'a. Sprawdzałem dodając kolejne wiersze do skryptu i na to mi wyszło. Z tego wniosek, że skrypty są jednak lepsze a te wszystkie "MySql Front'y" i spółka są dobre dla zaawansowanych programistów, którzy są już pewni tego co robią. Początkującym może się raczej tylko namieszać w głowach z tego wszystkiego. To tyle co do tematu. Ale mam jeszcze taki drobiazg. Może wykombinujecie co to jest za zero:
http://img23.exs.cx/.../6822/zero1.gif
Podaję kod odpowiedzialny za tę stronę:<?php $conn=mysql_connect("127.0.0.1","root","krasnal"); mysql_select_db("komputery",$conn); $sql=mysql_query("select * from dane"); //zlicza wpisy w bazie $all=mysql_num_rows($sql); if($all==0) echo"<center><h2>BRAK WPISÓW</H2></CENTER>"; else{ echo ("<div class='wynik'>Wpisów w bazie: ".$all."</div>"); $ile=1;              //menu nawigacyjne if(!isset($p)) $p=0;       if($p>0) echo "<font SIZE=-1><a HREF=ind.php?strona=przegladaj.php&p=".($p-1)."><< WSTECZ </A> Strona ".($p+1); else echo "<font color='black' size=-1><< WSTECZ</font><font SIZE=-1> Strona ".($p+1); if($p<($all-1)) echo "<a HREF=ind.php?strona=przegladaj.php&p=".($p+1)."> DALEJ >></A></FONT>"; ELSE ECHO "<FONT COLOR='BLACK'> DALEJ >></FONT></font>"; $sql="select * from dane limit ".($p*$ile).", ".$ile; $sql=mysql_query($sql);   //określenie danych do wyświetlenia mysql_error(); while($wiersz=mysql_fetch_array($sql)){  // sposób wyświetlania $zestaw=$wiersz['zestaw']; //$p=$p; $id=$wiersz['id']; echo"<br>"; echo"<form ACTION=usun.php method=post><b><a href=usun.php?id=$id>USUŃ WPIS</A> <a HREF=ed.php?id=$id&p=$p>EDYTUJ</A></b></FORM>"; echo "<table width='90%' bgcolor='aliceblue'>"; echo "<tr><th width='30%'>Numer seryjny:</Th><td class='wynik'>".$wiersz["serial"]."</td></TR>"; echo "<tr><th width='30%'>Numer inwentarzowy:</th><td class='wynik'>".$wiersz["inwent"]."</TD></tr>"; echo "<tr><th width='30%'>Numer zestawu:</th><td class='wynik'><font color='darkblue'><b>".$wiersz["zestaw"]."</B></FONT></TD> </tr>"; echo "<tr><th width='30%'>Data zakupu:</th><td class='wynik'>".$wiersz["buyed"]."</TD></tr>"; echo "<tr><th width='30%'>Wartość początkowa:</th><td class='wynik'>".$wiersz["wartosc"]."</TD></tr>"; echo "<tr><th width='30%'>Numer rachunku:</th><class='wynik'>".$wiersz["rach"]."</TD></tr> "; echo "<tr><th width='30%'>Nazwa:</th><td class='wynik'>".$wiersz["name"]."</TD></tr>"; echo "<tr><th width='30%'>Użytkownik:</th><td class='wynik'>".$wiersz["user"]."</TD></tr>"; echo "<tr><th width='30%'>Miejsce użytkowania:</th><td class='wynik'>".$wiersz["place"]."</TD></tr>"; echo "<tr><th width='30%'>Data gwarancji:</th><td class='wynik'>".$wiersz["gw_d"]."</TD></tr>"; echo "<tr><th width='30%'>Firma serwisująca:</th><td class='wynik'>".$wiersz["serv"]."</TD></tr>"; echo "<tr><th width='30%'>Skład zestawu:</th><td class='wynik'><a HREF=ind.php?strona=szczeg.php&zestaw=$zestaw&p=$p>Szczegóły</A></TD></tr> "; echo "<tr><th width='30%'>Miejsce gwarancji:</th><td class='wynik'>".$wiersz["gw_g"]."</TD></tr>"; echo "<tr><th width='30%'>Uwagi:</th><td class='wynik'>".$wiersz["uwagi"]."</TD></tr>"; echo "<tr><th width='30%'>System operacyjny:</th><td class='wynik'>".$wiersz["os"]."</TD></tr>"; echo "<tr><th width='30%'>Zainstalowane oprogramowanie:</th><td class='wynik'>".$wiersz["soft"]."</TD></tr>"; echo "<tr><th width='30%'>Gdzie jest licencja:</th><td class='wynik'>".$wiersz["lic_g"]."</TD></tr>"; echo "<tr><th width='30%'>Numer licencji:</th><td class='wynik'>".$wiersz["lic_n"]."</TD></tr>"; echo "<tr><th width='30%'>Rodzaj licencji:</th><td class='wynik'>".$wiersz["lic_r"]."</TD></tr>"; echo "<tr><th width='30%'>Klucz:</th><td class='wynik'>".$wiersz["klucz"]."</TD></tr>"; echo "<tr><th width='30%'>Zainstalowany antywirus:</th><td class='wynik'>".$wiersz["av"]."</TD></tr>"; echo "<tr><th width='30%'>Ilość pamięci RAM:</th><td class='wynik'>".$wiersz["ram"]."</TD></tr>"; echo "<tr><th width='30%'>Zegar procesora:</th><td class='wynik'>".$wiersz["cpu"]."</TD></tr>"; echo "<tr><th width='30%'>Wielkość dysku twardego:</th><td class='wynik'>".$wiersz["hdd"]."</TD></tr>"; echo "<tr><th width='30%'>Status użytkowania:</th><td class='wynik'>".$wiersz["state"]."</TD></tr>"; echo "</TABLE>"; } } ?>Sorry, że znowu was zawalam kodem ale mi się chyba na oczy rzuciło bo nie potrafię zajarzyć co powoduje wyświetlenie tego 0. Wyświetlałem różne zmienne w trakcie pisania kodu ale chyba wszystko usunąłem a to ) jest jak wmurowane. Z góry dzięki za pomoc.

Halooooo! Czy nikt nic nie zauważył? Naprawdę obejżyjcie ten kod bo ja naprawdę nie widzę co jest odpowiedzialne za wyświetlanie tego "0".

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •