Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][HTML][MYSQL]formularz php mysql 3skrypty 1 baza
homer1981
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 15.07.2008

Ostrzeżenie: (0%)
-----


Mam taką baze o nazwie baza , która zawiera rekordy id, kod, nazwa
I do tego 3 skrypty php

skrypt1.php:
  1. <form name="form1" enctype="multipart/form-data"method="post" action="skrypt2.php">
  2. <?
  3. <td width =10>login:</td><td width=70> <input type=text<BR>name=wpis_login size="5"></td></tr><BR><input type=text name=wpis_kodu size="5"<BR><input type="submit" name="Submit" value="Zaloguj"/>?>


skrypt2..php
  1. <?php
  2. <form enctype="multipart/form-data"method="post" action="skrypt3"><BR>$connection = mysql_connect("serwer,"login","haslo");<BR>$db = mysql_select_db("bazydanych", $connection) or die("nie polaczono z baza");<BR>$query =  mysql_query("SET NAMES 'utf8'");<BR>$query  = mysql_query("SET CHARACTER SET 'utf8_polish_ci");<BR>while($row = mysql_fetch_array($result)){ <BR>$id=$row['id'];<BR>$kod = $row['kod'];<BR>$nazwa = $row['nazwa];<BR>if ($wpis_kodu=$kod)<BR>{<BR><input  type=text name=nazwa value =$nazwa size=5><BR>}<BR><input type=submit name=Submit value=zmień>
  3. ?>


skrypt3.php
  1. <?php
  2. $connection = mysql_connect("serwer","login","haslo");<BR>$db = mysql_select_db("bazy_danych", $connection) or die("nie polaczono z baza");<BR>$id =$_POST['id'];<BR>$kod =$_POST['kod'];<BR>$nazwa =$_POST['nazwa'];<BR>$query ="UPDATE baza SET <BR>nazwa='$nazwa'<BR>WHERE id ='1"; //  to mi działa jeżeli kod jest zgodny z wpisem_kodu dla id=1 a jak zrobić coś takiego : <BR>WHERE id='$id' '? // tak nie działa na żaden ze spobów<BR>WHERE kod='$kod' " // tez nie działą<BR>WHERE id=$id"; // przy t akim wpisie  wyskakuje błąd zapytania
  3. ?>
Go to the top of the page
+Quote Post
Tajgeer
post
Post #2





Grupa: Zarejestrowani
Postów: 290
Pomógł: 48
Dołączył: 11.05.2008
Skąd: Kielce

Ostrzeżenie: (0%)
-----


skrypt3.php

zamiast
Kod
$query ="UPDATE baza SET <BR>nazwa='$nazwa'<BR>WHERE id ='1";

daj
Kod
$query = mysql_query("UPDATE `baza` SET `nazwa`='$nazwa' WHERE `id` ='$id'");


Tak w ogóle, to co to za <BR> w treści zapytania? O.o

Ten post edytował Tajgeer 30.03.2009, 16:17:08
Go to the top of the page
+Quote Post
homer1981
post
Post #3





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 15.07.2008

Ostrzeżenie: (0%)
-----


Tych <BR> nie bierzcie pod uwage
Zrobiłem tak jak pisałeś i wyskoczył ... błąd zapytania sadsmiley02.gif
Go to the top of the page
+Quote Post
trike
post
Post #4





Grupa: Zarejestrowani
Postów: 82
Pomógł: 9
Dołączył: 9.01.2008

Ostrzeżenie: (0%)
-----


zmienne w zapytaniu podawaj tak:
  1. <?php
  2. $query = mysql_query("UPDATE `baza` SET `nazwa`='".$nazwa."' WHERE `id` ='".$id."'");
  3. ?>


Ten post edytował trike 30.03.2009, 16:42:58
Go to the top of the page
+Quote Post
Tajgeer
post
Post #5





Grupa: Zarejestrowani
Postów: 290
Pomógł: 48
Dołączył: 11.05.2008
Skąd: Kielce

Ostrzeżenie: (0%)
-----


Przy cudzysłowach nie jest to potrzebne - wystarczy sama zmienna bez zbędnych cudzysłowów. Inaczej sprawa ma się przy apostrofach, ale akurat tutaj nie znalazły one swojego użycia.

Jaki to był błąd zapytania?

Ten post edytował Tajgeer 30.03.2009, 16:49:13
Go to the top of the page
+Quote Post
homer1981
post
Post #6





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 15.07.2008

Ostrzeżenie: (0%)
-----


$query = mysql_query("UPDATE `baza` SET `nazwa`='".$nazwa."' WHERE `id` ='".$id."'");
$result = mysql_query($query) or die("zmien zapytanie");

Poprostu nie wpisuje nic do bazy i wyskakuje "zmień zapytanie"

PS. Jak juz pisałem wyzej ... jeżeli zamiast $id jest liczba np 1 wówczas rekord w bazie o id=1 zostaje zmieniony i błąd nie wyskakuje.
Go to the top of the page
+Quote Post
Tajgeer
post
Post #7





Grupa: Zarejestrowani
Postów: 290
Pomógł: 48
Dołączył: 11.05.2008
Skąd: Kielce

Ostrzeżenie: (0%)
-----


Kod
$query = mysql_query("UPDATE `baza` SET `nazwa`='$nazwa' WHERE `id` = '$id'") or die(mysql_error());


co wywala?

Ten post edytował Tajgeer 30.03.2009, 17:20:05
Go to the top of the page
+Quote Post
homer1981
post
Post #8





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 15.07.2008

Ostrzeżenie: (0%)
-----


Przy takim schemacie jak napisano powyżej jest ... prawie ok. Tzn. nie wywala żadnego błędu ,ale nie dodaje też do bazy. Na innym forum ktoś napisał ,że w skrypt2.php nie mam zadeklarowanego czym jest to id - jest jedynie zadeklarowana zmienna $id=$_POST[id] ,ale ona w sumie pobiera id z skryptu1 do skryptu2. Jak ją zadeklarować w 2-ce żeby była pobierana ze skryptu 1 i przekazywana była do 2 i miała taką samą wartość w 3 ce.

sciana.gif

//// że musiałem usunąć przypadkowo kopię zapasową //// sciana.gif sciana.gif sciana.gif sciana.gif sciana.gif sciana.gif

po prawie 12 h doszedłem do innej niż miałem wcześniej opcji ,ale najważniejsze żę działa :
w skryp2 dałem ukryte pole formularza :
  1. <?php
  2. <input type=hidden name=id value='$id']>
  3. ?>

a w skrypt3 koncowa część zapytania wygląda tak:
  1. <?php
  2. WHERE id ='$id'";
  3. ?>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 03:40