Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML][MYSQL]formularz php mysql 3skrypty 1 baza
Forum PHP.pl > Forum > Przedszkole
homer1981
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. ?>
Tajgeer
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
homer1981
Tych <BR> nie bierzcie pod uwage
Zrobiłem tak jak pisałeś i wyskoczył ... błąd zapytania sadsmiley02.gif
trike
zmienne w zapytaniu podawaj tak:
  1. <?php
  2. $query = mysql_query("UPDATE `baza` SET `nazwa`='".$nazwa."' WHERE `id` ='".$id."'");
  3. ?>
Tajgeer
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?
homer1981
$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.
Tajgeer
Kod
$query = mysql_query("UPDATE `baza` SET `nazwa`='$nazwa' WHERE `id` = '$id'") or die(mysql_error());


co wywala?
homer1981
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. ?>
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.