Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Aktualizacja rekordów
Forum PHP.pl > Forum > Przedszkole
pjamorski
Witam

    Wklejam kod:



Kod
<?php
 
 $serek="xxxx";
 $uzytkownik="xxx";
 $haselko = "xxx";

     $connect = mysql_connect($serek,$uzytkownik, $haselko) or die ('Polaczenie z baza nie powiodlo sie exclamation.gif!');
     $db = mysql_select_db("pkp", $connect) or die('Wybor bazy nie powiodl sie exclamation.gif!');
  
     $pokaz = "SELECT * FROM dane ORDER BY id";
     $wynik = mysql_query($pokaz) or die('Wyswietlenie nie jest mozliwe exclamation.gif!');
     while($wiersz = mysql_fetch_array($wynik))
         {
             //echo '<br>'.$wiersz['id'].' - '.$wiersz['imie'].' - '.$wiersz['nazwisko'].' - '.$wiersz['nazwa_zakladu'].' - '.$wiersz['telefon1'].' - '.$wiersz['telefon2'].' - '.$wiersz['telefon3'];
             /* Kazda komorka z dana jest brana osobno pod uwage */
             $qwe1[] = $wiersz['imie'];
             $qwe2[] = $wiersz['nazwisko'];
             $qwe3[] = $wiersz['nazwa_zakladu'];
             $qwe4[] = $wiersz['telefon1'];
             $qwe5[] = $wiersz['telefon2'];
             $qwe6[] = $wiersz['telefon3'];
             $qwe7[] = $wiersz['miejsce'];
             $qwe8[] = $wiersz['aplikacja'];
             $qwe9[] = "\r\n";
         }
     $id = $_POST['id'];
     $imie = $_POST['imie'];
     $nazwisko =$_POST['nazwisko'];
     $nazwa = $_POST['nazwa_zakladu'];
     $tele1 = $_POST['telefon1'];
     $tele2 = $_POST['telefon2'];
     $tele3 = $_POST['telefon3'];
     $miejsce = $_POST['miejsce'];
     $aplikacja = $_POST['aplikacja'];
  

$zapytanie = "UPDATE dane1 SET id='$id', imie='$imie',nazwisko='$nazwisko, nazwa_zakladu='$nazwa', telefon1='$tele1', telefon2='$tele2', telefon3='$tele3', miejsce='$miejsce', aplikacja='$aplikacja' WHERE id='3'";
     

$wynik = mysql_query($zapytanie) or die('nie mozna edytowac rekordu');
     echo 'aktualizaja rekordu powiodla sie'; 
?>


Teraz moje pytanie: 

Dlaczego wskazany rekord nie chce się zaktualizować?questionmark.gif Kurcze wydaje mi się, że zapis kodu jest poprawny i wszystko jest zgodnie z normami na tym poziomie. Wywala mi komunikat:

nie mozna edytowac rekordu . Czy mogę liczyć ja wyprostowanie mojego problemu?

dzięki



P.S.

     Dane pobierane są z formularza do edycji.
nospor
nie: or die('nie mozna edytowac rekordu');
a: or die('zapytanie:'.$zapytanie.' blad:'.mysql_error());
i dowiesz sie jaki masz konkretnie blad.

Uzywaj wlasciwego bbcode!!!
ayeo
Brakuje Ci apostrofa po $nazwisko
dr_bonzo
No i
pjamorski
Cytat
nie: or die('nie mozna edytowac rekordu');
a: or die('zapytanie:'.$zapytanie.' blad:'.mysql_error());
i dowiesz sie jaki masz konkretnie blad.




Żadnego błędu, apostrof poprawiłem, wywala mi, że aktualizacja powiodła się ale w bazie nie ma ruchu.

kurcze dalej nie wiem co robić  sciana.gif



oto kod formularza:

Kod
<table border='0' align='center' width='1170' class='cala_tabelka3'>
 <tr><td align='left'> 
     <form ACTION='edytuj.php' METHOD='POST'>
         <div class='nazwy_pol'>
             Podaj ID rekordu: <input type='text' name='id' size='2' maxlength='4'>[i]<br>
             Imie: <input type='text' name='imie' class='pola'>[i]
             Nazwisko: <input type='text' name='nazwisko' >[i]
             Miejsce: <input type='text' name='miejsce' > [i]
             Aplikacja: <input type='text' name='aplikacja'>[i]<br></div>
             <div class='nazwy_pol'> Telefon 1: <input type='text' name='telefon1' value='' class='pola'></div>
             <div class='nazwy_pol'>Telefon 2: <input type='text' name='telefon2' value='' class='pola'></div>
             <div class='nazwy_pol'>Telefon 3: <input type='text' name='telefon3' value='' class='pola'></div>
             <tr><td align='left'><input type='SUBMIT' value='Edytuj rekord' class='przycisk'><input type='RESET' value='Czyść pola' class='przycisk'></td></tr>
         </form> 
</td></tr></table>


przepraszam za bbcode, musze sobie przypomnieć jak prawidłowo wstawiać kody, sorka.
nospor
Cytat
Żadnego błędu,
Skoro wywalalo ci "nie mozna edytowac rekordu" to moja zmiana powinna ci wywalic blad. Pokaz kod po zmianach i tym razem uzyj wlasciwego bbcode
Foxx
Wyświetl sobie zapytanie przed wykonaniem (echo $zapytanie;) i zobacz jaką ostatecznie przyjmuje postać. Skopiuj je z przeglądarki i spróbuj wykonać np. w phpmyadminie.
pjamorski
Myślę sobie o takiej sprawie:

Czy zapytanie aktualizujące dany rekord w zupełności wystarczy? Czy powinienem zrobić taki algorytm:

1. Wydobyć rekordy z bazy

2. Zaktualizować wskazany rekord WHERE id='jakies id ' w polu formularza.

3. Skasować stary rekord DELETE

4. Zapisać zaktualizowany rekord do bazy z wskazanym id.



Po paru zmianach aktualizuje mi ale podczas gdy wpisuje id dla rekordu który chce zmienić to zapisuje mi w innym rekordzie o innym id.
Foxx
1. UPDATE wystarczy.
2. Przyszła mi do głowy jeszcze jedna myśl - zauważ, że Twój kod aktualizujący rekord jest PO pobraniu danych i wyświetleniu ich na stronie. Przewiduję więc, że po wprowadzeniu zmiany widzisz jeszcze starą wersję rekordu i dopiero po odświeżeniu strony zobaczysz nową wersję. Zwróć na to uwagę, podejrzyj rekordy bezpośrednio w bazie i zobaczysz czy naprawdę się nie zmieniają.
3. Zrób to, o czym pisałem w poprzednim poście i powiedz czy nadal nie widzisz żadnego błędu.
pjamorski
Dobra, dzięki za pomoc, poradziłem sobie w tych ciężkich chwilach.

Temat zamknięty.
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.