Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML][MYSQL]Problem ze znakiem '<' :)
Forum PHP.pl > Forum > Przedszkole
frykar
Witam, mam pozornie wyglądający "głupi problem". A mianowicie mam taki kod:
  1. <?php
  2.  if (!$Nazwa_serwisu)
  3.   {
  4.    echo "Nie ma danych<br>";
  5.   }
  6.  else
  7.   {
  8.    $connection = @mysql_connect("localhost", "root", "krasnal")
  9.    or die("Brak lacznosci");
  10.  
  11.    $db_name = "rma";
  12.  
  13.    mysql_select_db($db_name, $connection);
  14.  
  15.    $nazwa = $_POST['Nazwa_serwisu'];
  16.  
  17.    $sql = "UPDATE dodaj_serwis SET Nazwa_serwisu='$_POST[Nazwa_serwisu]' LIMIT 1";
  18.        
  19.  
  20.    $result = @mysql_query($sql, $connection);
  21.    
  22. $num=mysql_numrows($result);
  23.  
  24. $i=0;
  25. while ($i < $num)
  26. {
  27.  
  28. $Nazwa_serwisu=mysql_result($result,$i,"Nazwa_serwisu");
  29. $Telefon=mysql_result($result,$i,"Telefon");
  30. $Nr_seryjny=mysql_result($result,$i,"Nr_seryjny");
  31. $Data_zakupu=mysql_result($result,$i,"Data_zakupu");
  32. $Dlugosc_gwarancji=mysql_result($result,$i,"Dlugosc_gwarancji");
  33. $Rodzaj_serwisu=mysql_result($result,$i,"Rodzaj_serwisu");
  34. $Data_realizacji=mysql_result($result,$i,"Data_realizacji");
  35. $Dane_klienta=mysql_result($result,$i,"Dane_klienta");
  36. $Opis_problemu=mysql_result($result,$i,"Opis_problemu");
  37.  
  38.  
  39. <form action="edit.php" method="post">
  40. <input type="hidden" name="ud_id" value="<? <b><b><b><b>echo</b></b></b></b> $id; ?>">
  41. Nazwa_serwisu: <input type="text" name="ud_Nazwa_serwisu" value="<? <b><b><b><b>echo</b></b></b></b> $Nazwa_serwisu; ?>"><br>
  42. Telefon: <input type="text" name="ud_Telefon" value="<? <b><b><b><b>echo</b></b></b></b> $Telefon; ?>"><br>
  43. Nr_seryjny: <input type="text" name="ud_Nr_seryjny" value="<? <b><b><b><b>echo</b></b></b></b> $Nr_seryjny; ?>"><br>
  44. Data_zakupu: <input type="text" name="ud_Data_zakupu" value="<? <b><b><b><b>echo</b></b></b></b> $Data_zakupu; ?>"><br>
  45. Dlugosc_gwarancji: <input type="text" name="ud_Dlugosc_gwarancji" value="<? <b><b><b><b>echo</b></b></b></b> $Dlugosc_gwarancji; ?>"><br>
  46. Rodzaj_serwisu: <input type="text" name="ud_Rodzaj_serwisu" value="<? <b><b><b><b>echo</b></b></b></b> $Rodzaj_serwisu; ?>"><br>
  47. Data_realizacji: <input type="text" name="ud_Data_realizacji" value="<? <b><b><b><b>echo</b></b></b></b> $Data_realizacji; ?>"><br>
  48. Dane_klienta: <input type="text" name="ud_Dane_klienta" value="<? <b><b><b><b>echo</b></b></b></b> $Dane_klienta; ?>"><br>
  49. Opis_problemu: <input type="text" name="ud_Opis_problemu" value="<? <b><b><b><b>echo</b></b></b></b> $Opis_problemu; ?>"><br>
  50. <input type="Submit" value="Aktualizuj">
  51. </form>
  52.  
  53. ++$i;
  54. }
  55. ?>

Jak odpalam ten skrypt na stronie, pojawia mi się błąd że brakuje '<' w tym miejscu:
Kod
<form action="edit.php" method="post">

Dla mnie powyższy kod wygląda prawidłowo, ale nie działa to pewnie się mylę. Spójrzcie na niego
Dodam jeszcze że jak przed tym kawałkiem kodu
Kod
<form action="edit.php" method="post">
wstawie '?>' to fragment poniżej tego kodu jest ok, ale tak nie może być, bo wtedy nie bedzie realizacji całego kodu.
piotrooo89
nie możesz w php używać "gołych" znaczników/tagów html'a, echo'uj je albo skończ wcześniej dając ?>
decha-design
Cytat(piotrooo89 @ 4.02.2009, 21:36:53 ) *
echo'uj je albo skończ wcześniej dając ?>


kolega może nie wiedzieć co to znaczy echo'uj ... =)

  1. <form action="edit.php" method="post">
  2. <input type="hidden" name="ud_id" value="<? <b><b><b><b>echo</b></b></b></b> $id; ?>">
wtf?

  1. <?php
  2. echo '<form action="edit.php" method="post">
  3. <input type="hidden" name="ud_id" value="'.$id.'">';
  4. ?>
frykar
Ale nie wiem czy zauważyliście gdzie sie zaczyna kod php i gdzie sie konczy. Zapis który uzyłem faktycznie nie jest najlepszy, ale taki znalazlem w jednej z ksiazek. Zrobilem tak jak napisales ale dalej wyskakuje komunikat o braku znaku '<'. Najlepiej to widac w jakims edytorze PHP.
Foxx
Widzimy gdzie się zaczyna php a gdzie kończy. W książce widocznie jest błąd, ten zapis jest całkowicie błędny a nie nienajlepszy.
Manual: wyskakiwanie z HTML'a
frykar
To może ktoś poprawić tam gdzie mam błąd? Patrzyłem na manula ale poprawki nic nie dały i dalej jest ten błąd czyli brak znaku '<'. A może jest inny sposób aby połączyć sie z plikiem edit.php?? Posty typu "kod jest niepoprawny" nic mi nie dają. Może napisze ktoś coś więcej.
matixrr
Przed
Kod
<form...

daj
Kod
echo'


a za
Kod
</form>

daj
Kod
';


I pozmieniaj te value tak jak decha-design napisał.
Foxx
Dałem ci linka do manuala do rozdziału, w którym dowiesz się jak to poprawnie zrobić.
Nikt nie napisał samego "kod jest niepoprawny".
Jak poprawki mogły nic nie dać? Może chociaż numery linii, w których jest błąd się zmieniły?
Wklej poprawioną wersję i błąd.
Ramadisu
Cytat(frykar @ 5.02.2009, 18:16:17 ) *
To może ktoś poprawić tam gdzie mam błąd? Patrzyłem na manula ale poprawki nic nie dały i dalej jest ten błąd czyli brak znaku '<'. A może jest inny sposób aby połączyć sie z plikiem edit.php?? Posty typu "kod jest niepoprawny" nic mi nie dają. Może napisze ktoś coś więcej.





<?php otwiera kod php

?> zamyka kod php



Jeżeli chcesz w miejscu na php umieścić kod HTML, to musisz użyć funkcji echo(), lub print(). O obu traktuje się w manualu (www.php.net).
Widzę że przy zmiennych ponownie otwierasz miejsce dla kodu php za pomocą <? - wytłumaczysz mi w jakim celu to robisz, jeśli wcześniej nie został on zamknięty za pomocą ?> ? 

Kolejna sprawa:
Cytat
<? <b><b><b><b>echo</b></b></b></b> $id; ?>
- co to ma dać?
Otwierasz kod php, a następnie używasz znacznika html... to nie ma szans się nie wysypać. Następnie piszesz echo, które - jak się domyślam ma wyświetlić wartość $id. Poczytaj dokładnie jak się używa funkcji w php.
Składnia funkcji echo - echo('TEKST'); lub echo($zmienna). Jeśli chcesz wyświetlić znaczniki html, to musisz je wyświetlić jako tekst, bo nie należą one do składni języka php.
frykar
Oto poprawiony kod:
  1. <?php
  2. while ($i < $num)
  3. {
  4.  
  5. $Nazwa_serwisu=mysql_result($result,$i,"Nazwa_serwisu");
  6. $Telefon=mysql_result($result,$i,"Telefon");
  7. $Nr_seryjny=mysql_result($result,$i,"Nr_seryjny");
  8. $Data_zakupu=mysql_result($result,$i,"Data_zakupu");
  9. $Dlugosc_gwarancji=mysql_result($result,$i,"Dlugosc_gwarancji");
  10. $Rodzaj_serwisu=mysql_result($result,$i,"Rodzaj_serwisu");
  11. $Data_realizacji=mysql_result($result,$i,"Data_realizacji");
  12. $Dane_klienta=mysql_result($result,$i,"Dane_klienta");
  13. $Opis_problemu=mysql_result($result,$i,"Opis_problemu");
  14.  
  15.  
  16. echo '<form action="edit.php" method="post">
  17. <input type="hidden" name="ud_id" value="'.$id.'">
  18.  
  19. Nazwa_serwisu: <input type="text" name="ud_Nazwa_serwisu" value=" '.$Nazwa_serwisu.'">
  20. Telefon: <input type="text" name="ud_Telefon" value=" '.$Telefon.'">
  21. Nr_seryjny: <input type="text" name="ud_Nr_seryjny" value=" '.$Nr_seryjny.'">
  22. Data_zakupu: <input type="text" name="ud_Data_zakupu" value=" '.$Data_zakupu.'">
  23. Dlugosc_gwarancji: <input type="text" name="ud_Dlugosc_gwarancji" value="'.$Dlugosc_gwarancji.'">
  24. Rodzaj_serwisu: <input type="text" name="ud_Rodzaj_serwisu" value="'.$Rodzaj_serwisu.'">
  25. Data_realizacji: <input type="text" name="ud_Data_realizacji" value="'.$Data_realizacji.'">
  26. Dane_klienta: <input type="text" name="ud_Dane_klienta" value="'.$Dane_klienta.'">
  27. Opis_problemu: <input type="text" name="ud_Opis_problemu" value="'.$Opis_problemu.'">
  28. <input type="Submit" value="Aktualizuj">
  29. </form>';
  30.  
  31. ++$i;
  32. }
  33. ?>

Teraz pojawia sie taki błąd:
Parse error: parse error, unexpected $end in "ścieżka" on line 60 (na samym końcu)
Ramadisu
Czy jesteś pewien że problem leży w tej części skryptu? Mi to wygląda na niedomknięty { }. Skrypt po odpaleniu u mnie na serwerze działa. Co prawda zazwyczaj zamiast ++$i, używam $i++, ale jak sprawdziłem, obie wersje działają.
frykar
Tak miałeś rację brakowało zamknięcia '}' w jednym miejscu. Ale znowu wyskakuje błąd tym razem taki:
Warning: mysql_numrows(): supplied argument is not a valid MySQL result resource in c:\usr\krasnal\www\p1\edycja.php on line 22
erix
Musiałeś zapytanie pokisić. Masz mysql_error" title="Zobacz w manualu PHP" target="_manual, debuguj. winksmiley.jpg
Ramadisu
Cytat(frykar @ 5.02.2009, 20:27:27 ) *
Tak miałeś rację brakowało zamknięcia '}' w jednym miejscu. Ale znowu wyskakuje błąd tym razem taki:
Warning: mysql_numrows(): supplied argument is not a valid MySQL result resource in c:\usr\krasnal\www\p1\edycja.php on line 22


Prawdopodobnie mysql_query(), na którym użyłeś mysql_num_rows() jest błędnym zapytaniem. Mogłeś też użyć funkcji mysql_num_rows() w niewłaściwy sposób. Wklej fragment kodu w którym używasz tej funkcji + zapytanie do bazy na którym chcesz jej użyć.

I tak jak Erix napisał - przy mysql_query('SELECT...') dodaj or die(mysql_error());
frykar
  1. <?php
  2.  if (!$Nazwa_serwisu)
  3.   {
  4.    echo "Nie ma danych<br>";
  5.   }
  6.  else
  7.   {
  8.    $connection = @mysql_connect("localhost", "root", "krasnal")
  9.    or die("Brak lacznosci");
  10.  
  11.    $db_name = "rma";
  12.  
  13.    mysql_select_db($db_name, $connection);
  14.  
  15.    $nazwa = $_POST['Nazwa_serwisu'];
  16.  
  17.    $$sql = "UPDATE dodaj_serwis SET Nazwa_serwisu='$_POST[Nazwa_serwisu]' LIMIT 1";
  18.        
  19.  
  20.    $result = @mysql_query($sql, $connection);
  21.    
  22. $num=mysql_num_rows($result)
  23. }
  24. $i=0;
  25. ?>

po tym kodzie zaczyna się petla while{} (poprzedni kod). po poprawce kodu otrzymuje taki komunikat:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\usr\krasnal\www\p1\edycja.php on line 22
Zapytanie było puste
erix
  1. <?php
  2. $$sql = "UPDATE dodaj_serwis SET Nazwa_serwisu='$_POST[Nazwa_serwisu]' LIMIT 1"
  3. ?>

Ten podwójny dolar, to celowo?
piotrooo89
w zmiennej $sql masz UPDATE nie SELECTA, jak chcesz zliczyć rekordy? aha i od razu mówię że jest to mało wydajne lepiej zainteresować się COUNT().
frykar
smile.gif usunąłem $, ale ten sam błąd pozostał sad.gif
Ramadisu
Cytat(frykar @ 5.02.2009, 21:19:07 ) *
smile.gif usunąłem $, ale ten sam błąd pozostał sad.gif



Manual, manual, manual i jeszcze raz manual!


Cytat
mysql_num_rows() zwraca liczbę wierszy w wyniku. Tę funkcję stosuje się tylko do operacji SELECT. Aby pobrać ilość wierszy przetworzonych w operacjach INSERT, UPDATE lub DELETE należy użyć funkcji mysql_affected_rows().




http://pl.php.net/mysql_num_rows

Już nie mówię o tym, że :
Kod
"UPDATE dodaj_serwis SET Nazwa_serwisu='$_POST[Nazwa_serwisu]' LIMIT 1"

lepiej byłoby zapisać:
Kod
'UPDATE `dodaj_serwis` SET `Nazwa_serwisu` = '.$_POST[Nazwa_serwisu].' LIMIT 1'
frykar
Teraz to już się wqrw...em. Teraz jak wpisuje w pliku edycja.html Nazwe_serwisu, który chcę aby został edytowany, to wszystkie rekordy zmieniają Nazwe_serwsiu na tą co wpiszę w polu tekstowym:(
Ramadisu
Cytat(frykar @ 5.02.2009, 21:29:20 ) *
Teraz to już się wqrw...em. Teraz jak wpisuje w pliku edycja.html Nazwe_serwisu, który chcę aby został edytowany, to wszystkie rekordy zmieniają Nazwe_serwsiu na tą co wpiszę w polu tekstowym:(




Bo właśnie to robi to zapytanie. Jeśli chciałeś dodać nowy rekord: 'INSERT INTO `tabela` (`kolumna1`, `kolumna2`, `kolumna3`) VALUES ("'.$wartosc1.'","'.$wartosc2.'","'.$wartosc3.'")'. Jeśli jednak chciałeś aktualizować rekord w tabeli, to powinieneś użyć WHERE.
frykar
Fragment poprawionego kodu:
  1. <?php
  2. $nazwa = $_POST['Nazwa_serwisu'];
  3.  
  4.    $sql = "UPDATE dodaj_serwis SET Nazwa_serwisu='$_POST[Nazwa_serwisu]'";
  5.        
  6.  
  7.    $result = @mysql_query($sql, $connection)
  8.    or die(mysql_error());
  9. if ($result)
  10.    {
  11.    }
  12. }
  13. ?>

Teraz efektem jest wyświetlenie się 0.
Ramadisu
Cytat(frykar @ 5.02.2009, 21:37:07 ) *
Fragment poprawionego kodu:
  1. <?php
  2. $nazwa = $_POST['Nazwa_serwisu'];
  3.  
  4.    $sql = &#092;"UPDATE dodaj_serwis SET Nazwa_serwisu='$_POST[Nazwa_serwisu]'\";
  5.        
  6.  
  7.    $result = @mysql_query($sql, $connection)
  8.    or die(mysql_error());
  9. if ($result)
  10.    {
  11.    }
  12. }
  13. ?>

Teraz efektem jest wyświetlenie się 0.


http://pl.php.net/mysql_affected_rows


Tam jest WSZYSTKO. Funkcja przyjmuje ARGUMENT.

//piotrooo89 - rzeczywiście, mój błąd
frykar
Czyli zapytanie powinno wyglądać tak:?
  1. <?php
  2. $sql = "UPDATE dodaj_serwis WHERE Nazwa_serwisu='$_POST[Nazwa_serwisu]'";
  3. ?>
piotrooo89
Cytat(Ramadisu @ 5.02.2009, 21:40:12 ) *
Tam jest WSZYSTKO. Funkcja przyjmuje ARGUMENT.


Kod
Połączenie MySQL. Jeśli identyfikator połączenia nie zostanie podany, użyte zostanie ostatnie połączenie otwarte przez [url="http://pl.php.net/manual/pl/function.mysql-connect.php"]mysql_connect()[/url]. Jeśli połączenie takie nie zostanie znalezione, funkcja spróbuje nawiązać połączenie tak, jakby wywołana została funkcja [url="http://pl.php.net/manual/pl/function.mysql-connect.php"]mysql_connect()[/url] bez argumentów. Jeśli żadne połączenie nie zostanie znalezione lub nawiązane, wygenerowany zostanie błąd poziomu [b]E_WARNING[/b].


może Ty sobie przeczytaj winksmiley.jpg
Ramadisu
Cytat(frykar @ 5.02.2009, 21:40:41 ) *
Czyli zapytanie powinno wyglądać tak:?
  1. <?php
  2. $sql = &#092;"UPDATE dodaj_serwis WHERE Nazwa_serwisu='$_POST[Nazwa_serwisu]'\";
  3. ?>




Powoli przestaje się orientować w tym co to zapytanie ma robić.

Powinno to wyglądać tak: UPDATE `tabela` SET `kolumna` = '.$wartosc.' WHERE `kolumna2` = '.$ktory_wiersz edytowac

Czyli np. UPDATE `users` SET `podpis` = '.$_POST['podpis'].' WHERE `user_login` = '.$_SESSION['login']
piotrooo89
Cytat(frykar @ 5.02.2009, 21:37:07 ) *
  1. <?php
  2. $sql = &#092;"UPDATE dodaj_serwis SET Nazwa_serwisu='$_POST[Nazwa_serwisu]'\";
  3. ?>


wiec co do tego poczytaj o UPDATE

Cytat(frykar @ 5.02.2009, 21:37:07 ) *
Teraz efektem jest wyświetlenie się 0.


masz błąd w UPDATE i dlatego zwraca Ci 0.
frykar
No właśnie tyle było postów, że nie wiadomo już o co chodzi smile.gif. Przypominam, że chcę aby edytować cały rekord a nie wybraną kolumnę! Czyli tak
- wpisuje w przegladarce Nazwe_serwisu
- wciskam edytuj
- pojawiają się pola do edycji danych (kolumn)
- zmieniam odpowiednie dane
- wciskam "Aktualizuj" i gotowe smile.gif

A ten manual to fajny, szczególnie dla tych którzy zaczynają zabawę z php i mysql.smile.gif
piotrooo89
Cytat(frykar @ 5.02.2009, 21:56:19 ) *
No właśnie tyle było postów, że nie wiadomo już o co chodzi smile.gif . Przypominam, że chcę aby edytować cały rekord a nie wybraną kolumnę!


to musisz podać coś co będzie ten rekord odróżniać od innych. ID, nazwa etc...
frykar
No własnie dlatego wpisuje sie Nazwe_serwisu gdyż każda jest inna. Najpierw wpisujemy tą nazwę i powinniśmy edytować wybraną.
piotrooo89
robiąc tak:

  1. <?php
  2. $sql = "UPDATE dodaj_serwis SET Nazwa_serwisu='$_POST[Nazwa_serwisu]'";
  3. ?>


zmieniasz wszystkie nazwy_serwisu na jednakowe, musisz użyć klauzuli WHERE aby edytować TYLKO JEDEN rekord.

//EDIT

coś prostszego: http://www.w3schools.com/Sql/sql_update.asp
frykar
[quote name='frykar' post='568001' date='5.02.2009, 21:40:41 ']

  • [/list]

  • [/list]
    frykar
    Qrde z takiego małego problemu zrobił sie taki duży:) Ok zrobiłem troche inaczej. Teraz mam 2 pliki. Jeden wybiera rekord, który będę chciał edytować, drugi zaś słuzy do edycji. Oto one:
    edytorek.html

  • [/list]
  • mysql_connect(localhost,$username,$password);
  •  
  • $query="UPDATE contacts SET Nazwa_serwisu='$ud_Nazwa_serwisu', Telefon='$ud_Telefon', Nr_seryjny='$ud_Nr_seryjny', Data_zakupu='$ud_Data_zakupu', Dlugosc_gwarancji='$ud_Dlugosc_gwarancji', Rodzaj_serwisu='$ud_Rodzaj_serwisu', Data_realizacji='$ud_Data_realizacji', Dane_klienta='$ud_Dane_klienta', Opis_problemu='$ud_Opis_problemu' WHERE id='$ud_id'";
  • mysql_query($query);
  • echo "Rekord zaktualizowany";
  • ?>
  • <HTML>
  • <HEAD>
  • <TITLE>Aktualizacja danych</TITLE>
  • </HEAD>
  • <BODY>
  • <P><strong>Aktualizacja danych</strong>:</P>
  •  
  • <P><a href="menu.html">Powrot do menu</a></P>
  • </BODY>
  • </HTML>

    [/list]

  • [/list]
    [PHP] [topic=0]elefon'];
  • mysql_connect(localhost,$username,$password);
  •  
  • $query="UPDATE contacts SET Nazwa_serwisu='$ud_Nazwa_serwisu', Telefon='$ud_Telefon', Nr_seryjny='$ud_Nr_seryjny', Data_zakupu='$ud_Data_zakupu', Dlugosc_gwarancji='$ud_Dlugosc_gwarancji', Rodzaj_serwisu='$ud_Rodzaj_serwisu', Data_realizacji='$ud_Data_realizacji', Dane_klienta='$ud_Dane_klienta', Opis_problemu='$ud_Opis_problemu' WHERE id='$ud_id'";
  • mysql_query($query);
  • echo "Rekord zaktualizowany";
  • ?>
  • <HTML>
  • <HEAD>
  • <TITLE>Aktualizacja danych</TITLE>
  • </HEAD>
  • <BODY>
  • <P><strong>Aktualizacja danych</strong>:</P>
  •  
  • <P><a href="menu.html">Powrot do menu</a></P>
  • </BODY>
  • </HTML>

    [/list]
    [PHP] elefon'];
  • mysql_connect(localhost,$username,$password);
  •  
  • $query="UPDATE contacts SET Nazwa_serwisu='$ud_Nazwa_serwisu', Telefon='$ud_Telefon', Nr_seryjny='$ud_Nr_seryjny', Data_zakupu='$ud_Data_zakupu', Dlugosc_gwarancji='$ud_Dlugosc_gwarancji', Rodzaj_serwisu='$ud_Rodzaj_serwisu', Data_realizacji='$ud_Data_realizacji', Dane_klienta='$ud_Dane_klienta', Opis_problemu='$ud_Opis_problemu' WHERE id='$ud_id'";
  • mysql_query($query);
  • echo "Rekord zaktualizowany";
  • ?>
  • <HTML>
  • <HEAD>
  • <TITLE>Aktualizacja danych</TITLE>
  • </HEAD>
  • <BODY>
  • <P><strong>Aktualizacja danych</strong>:</P>
  •  
  • <P><a href="menu.html">Powrot do menu</a></P>
  • </BODY>
  • </HTML>

    [/list]

  • [/list]
    [PHP] [topic=0]elefon'];
  • mysql_connect(localhost,$username,$password);
  •  
  • $query="UPDATE contacts SET Nazwa_serwisu='$ud_Nazwa_serwisu', Telefon='$ud_Telefon', Nr_seryjny='$ud_Nr_seryjny', Data_zakupu='$ud_Data_zakupu', Dlugosc_gwarancji='$ud_Dlugosc_gwarancji', Rodzaj_serwisu='$ud_Rodzaj_serwisu', Data_realizacji='$ud_Data_realizacji', Dane_klienta='$ud_Dane_klienta', Opis_problemu='$ud_Opis_problemu' WHERE id='$ud_id'";
  • mysql_query($query);
  • echo "Rekord zaktualizowany";
  • ?>
  • <HTML>
  • <HEAD>
  • <TITLE>Aktualizacja danych</TITLE>
  • </HEAD>
  • <BODY>
  • <P><strong>Aktualizacja danych</strong>:</P>
  •  
  • <P><a href="menu.html">Powrot do menu</a></P>
  • </BODY>
  • </HTML>

    [/list]
    [PHP]


  • Wybierany jest rekord przez 'id'

    Po odpaleniu pierwszego pojawia sie cos takiego:
    Nazwa_serwisu: Telefon: Nr_seryjny: Data_zakupu: Dlugosc_gwarancji: Rodzaj_serwisu: Data_realizacji: Dane_klienta: Opis_problemu: '; ++$i; } ?>

    nie widać dokładnie ale po nazwach kolumn są pola tekstowe z
    Kod
    '.$nazwa.'


    Ktoś ma jakiś pomysł?
    frykar
    edytorek.php

  • [/list]
  • mysql_connect(localhost,$username,$password);
  •  
  • $query="UPDATE 'dodaj_serwis' SET 'Nazwa_serwisu' = '.$_POST['wartosc1'].', 'Telefon' = '.$_POST['wartosc2'].', 'Nr_seryjny' = '.$_POST['wartosc3'].' , 'Data_zakupu' = '.$_POST['wartosc4'].' , 'Dlugosc_gwarancji' = '.$_POST['wartosc5].' , 'Rodzaj_serwisu' = '.$_POST['wartosc6'].' , 'Data_realizacji' = '.$_POST['wartosc7'].' , 'Dane_klienta' = '.$_POST['wartosc8'].' , 'Opis_problemu' = '.$_POST['wartosc9'].'  WHERE 'id' = '.$_POST['id'].' ";
  • mysql_query($query);
  • echo "Rekord zaktualizowany";
  • ?>
  • <HTML>
  • <HEAD>
  • <TITLE>Aktualizacja danych</TITLE>
  • </HEAD>
  • <BODY>
  • <P><strong>Aktualizacja danych</strong>:</P>
  •  
  • <P><a href="menu.html">Powrot do menu</a></P>
  • </BODY>
  • </HTML>

    [/list]

  • [/list]
    [PHP] [topic=0]elefon'];
  • mysql_connect(localhost,$username,$password);
  •  
  • $query="UPDATE 'dodaj_serwis' SET 'Nazwa_serwisu' = '.$_POST['wartosc1'].', 'Telefon' = '.$_POST['wartosc2'].', 'Nr_seryjny' = '.$_POST['wartosc3'].' , 'Data_zakupu' = '.$_POST['wartosc4'].' , 'Dlugosc_gwarancji' = '.$_POST['wartosc5].' , 'Rodzaj_serwisu' = '.$_POST['wartosc6'].' , 'Data_realizacji' = '.$_POST['wartosc7'].' , 'Dane_klienta' = '.$_POST['wartosc8'].' , 'Opis_problemu' = '.$_POST['wartosc9'].'  WHERE 'id' = '.$_POST['id'].' ";
  • mysql_query($query);
  • echo "Rekord zaktualizowany";
  • ?>
  • <HTML>
  • <HEAD>
  • <TITLE>Aktualizacja danych</TITLE>
  • </HEAD>
  • <BODY>
  • <P><strong>Aktualizacja danych</strong>:</P>
  •  
  • <P><a href="menu.html">Powrot do menu</a></P>
  • </BODY>
  • </HTML>

    [/list]
    [PHP] elefon'];
  • mysql_connect(localhost,$username,$password);
  •  
  • $query="UPDATE 'dodaj_serwis' SET 'Nazwa_serwisu' = '.$_POST['wartosc1'].', 'Telefon' = '.$_POST['wartosc2'].', 'Nr_seryjny' = '.$_POST['wartosc3'].' , 'Data_zakupu' = '.$_POST['wartosc4'].' , 'Dlugosc_gwarancji' = '.$_POST['wartosc5].' , 'Rodzaj_serwisu' = '.$_POST['wartosc6'].' , 'Data_realizacji' = '.$_POST['wartosc7'].' , 'Dane_klienta' = '.$_POST['wartosc8'].' , 'Opis_problemu' = '.$_POST['wartosc9'].'  WHERE 'id' = '.$_POST['id'].' ";
  • mysql_query($query);
  • echo "Rekord zaktualizowany";
  • ?>
  • <HTML>
  • <HEAD>
  • <TITLE>Aktualizacja danych</TITLE>
  • </HEAD>
  • <BODY>
  • <P><strong>Aktualizacja danych</strong>:</P>
  •  
  • <P><a href="menu.html">Powrot do menu</a></P>
  • </BODY>
  • </HTML>

    [/list]

  • [/list]
    [PHP] [topic=0]elefon'];
  • mysql_connect(localhost,$username,$password);
  •  
  • $query="UPDATE 'dodaj_serwis' SET 'Nazwa_serwisu' = '.$_POST['wartosc1'].', 'Telefon' = '.$_POST['wartosc2'].', 'Nr_seryjny' = '.$_POST['wartosc3'].' , 'Data_zakupu' = '.$_POST['wartosc4'].' , 'Dlugosc_gwarancji' = '.$_POST['wartosc5].' , 'Rodzaj_serwisu' = '.$_POST['wartosc6'].' , 'Data_realizacji' = '.$_POST['wartosc7'].' , 'Dane_klienta' = '.$_POST['wartosc8'].' , 'Opis_problemu' = '.$_POST['wartosc9'].'  WHERE 'id' = '.$_POST['id'].' ";
  • mysql_query($query);
  • echo "Rekord zaktualizowany";
  • ?>
  • <HTML>
  • <HEAD>
  • <TITLE>Aktualizacja danych</TITLE>
  • </HEAD>
  • <BODY>
  • <P><strong>Aktualizacja danych</strong>:</P>
  •  
  • <P><a href="menu.html">Powrot do menu</a></P>
  • </BODY>
  • </HTML>

    [/list]
    [PHP]


  • Tak wyglada po poprawkach. O czymś zapomniałem? Po kompilacji wyskakuje taki błąd:

    Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\usr\krasnal\www\p1\edytorek.html on line 8

    To samo pojawia się w dwóch plikach tam gdzie jest $query

    W pliku edytorek.php poprawilem i juz nie ma tego błędu(zamiast "" musialobyć '')Teraz pojawia się błąd: Cos jest nie tak z " w linii 1- ale ta linii to poczatek kodu.
    W edit. php to nie pomogło.

    Czy już zapomnieliście o moim problemie?? Dalej nikt nic nie napisał, a potrzebuje to jak najszybciej poprawić. Aha, może jest inny sposób, żeby np. dane co mam w swojej bazie (z mysql'a) wczytać do formularza, w którym wprowadzam nowe rekordy i tam wówczas poprawić interesujące mnie dane??
  • Invision Power Board © 2001-2025 Invision Power Services, Inc.