Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]kasowanie danych w bazie problem z wkonaniem php
michal_86
post
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 1.02.2010

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


Witam - dopiero zaczynam przygodę z php - udało mi się na razie stworzyć bazę, dodawać do niej rekordy i pokazywać je w strukturze html

Mam teraz problem ze skryptem kasowania danych z bazy mysql
oto skrypt:
  1. <?php
  2.  
  3.  
  4.  
  5. $connection = @mysql_connect('localhost', 'root')
  6. or die('Brak połączenia z serwerem MySQL');
  7. $db = @mysql_select_db('biurapow5', $connection)
  8. or die('Nie mogę połączyć się z bazą danych');
  9.  
  10. $zapytanie = "SELECT * FROM pow5 ORDER BY id ";
  11. $wykonaj = mysql_query ($zapytanie);
  12. while($wiersz=mysql_fetch_array ($wykonaj)) {
  13. echo " <tr>
  14. <td width=\"4%\">".$wiersz['id']."</td>
  15. <td width=\"18%\">".$wiersz['tytul']."</td>
  16. <td width=\"18%\">".$wiersz['opis']."</td>
  17. <td width=\"18%\">".$wiersz['powierzchnia']."</td>
  18. <td width=\"18%\">".$wiersz['czynsz']."</td>
  19. <td width=\"14%\">".$wiersz['dostepne']."</td>
  20.  
  21. <td width=\"6%\"><a href=\"kasoferte.php?stan=del&iddel=".$wiersz['id']."\">KASUJ</a></b></td>
  22. </tr>";
  23. }
  24. if(stan=='del') {
  25. $zapytanie2="DELETE FROM dane WHERE id=$iddel";
  26. $wynik2 = mysql_query($zapytanie2);
  27. echo "Rekord o id=$iddel został skasowany !";
  28. }
  29. else { echo "Błąd nie udało się skasować rekordu";
  30.  
  31. }
  32. ?>

Nie wywala mi błędu żadnego tylko pisze wartość ostatnią else : "Błąd nie udało się skasować rekordu"
Jaki może być problem?
Dodam tylko że zmienna id jest w phpmyadminie zapisana jako AUTO_INCREMENT
proszę o pomoc

pozdr!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 14)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




if(stan=='del')

pytanie pomocnicze do ciebie:
Co to jest 'stan' ?
Tylko zastanow sie dwa razy zanim mi odpowiesz. Bo ja wiem, ty nie wiesz (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
john_doe
post
Post #3





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

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


$zapytanie2="DELETE FROM dane WHERE id=" . $_GET['iddel'];

wysyłasz to do tego samego pliku?
Go to the top of the page
+Quote Post
michal_86
post
Post #4





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 1.02.2010

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


stan miało być nazwą zmiennej umożliwiającą kasowanie, takie było założenie - rozumiem że coś mi się pomyliło?

czyli zamiast stan powinienem tam wpisać " " (IMG:style_emoticons/default/questionmark.gif)

Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




stan - to dla php stala o nazwie stan. gdy takiej nie ma to uznaje to za tekst 'stan'

Wiesz jak wygladają zmienne w php?

$stan - to jest zmienna w php

$_GET['stan'] - to jest zmienna z url i to wlasnie powinno byc zamiast stan
Go to the top of the page
+Quote Post
michal_86
post
Post #6





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 1.02.2010

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


ok , spróbuje, dzięki - jak pisałem i jak widać - dopiero zaczynam i nie jest to wszystko poukładane..(IMG:style_emoticons/default/smile.gif)



Prosze tylko nie bić. Nie wiem czy dobrze zrozumiałem jeśli chodzi o wstawienie - pokaże po prostu co zrobiłem:
  1. <td width=\"6%\"><a href=\"kasoferte.php? $stan=del&iddel=".$wiersz['id']."\">KASUJ</a></b></td>
  2. </tr>";
  3. }
  4. if($_GET['stan']=='del') {
  5. $zapytanie2="DELETE FROM dane WHERE id=$iddel ";


Ten post edytował michal_86 1.02.2010, 22:13:27
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




"kasoferte.php? $stan=

tutaj tego $ mozesz sobie darowac.
"kasoferte.php?stan=
Go to the top of the page
+Quote Post
michal_86
post
Post #8





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 1.02.2010

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


$zapytanie2="DELETE FROM dane WHERE id=$iddel - czy przy tym $idel nie powinienem czegoś zmienić?
teraz mam komunikat że skasowało , ale wpis nadal jest i oczywiście przy pokazaniu id= jest pusto..czyli tutaj mam próbować z $GET?? i czy ze zmienną stan czy nie?

a mozę olać to wszystko i robić z osobnym formularzem na zasadzie $post?

Ten post edytował michal_86 1.02.2010, 22:28:09
Go to the top of the page
+Quote Post
nospor
post
Post #9





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
a mozę olać to wszystko i robić z osobnym formularzem na zasadzie $post?
a co za roznica czy get czy post? Jak nei umiesz uzyc $_GET to i tym bardziej nie bedziesz umial uzyc $_POST.

Cytat
czyli tutaj mam próbować z $GET
tak. jak cos jest z url to masz sie do tego dobierac poprzez $_GET, jak coś jest z post to masz sie do tego dobierac poprzez $_POST
Go to the top of the page
+Quote Post
bastard13
post
Post #10





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

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


http://www.w3schools.com/PHP/php_get.asp
http://php.net/manual/en/reserved.variables.get.php
http://php.net/manual/en/reserved.variables.php
Przejrzyj to pobierznie, a obiecuję, że połowa z Twoich pytań w twej kwestii zostanie wyjaśniona.
Go to the top of the page
+Quote Post
michal_86
post
Post #11





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 1.02.2010

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


dzięki powalczę jutro calutki dzień.

$post akurat umiałem użyć..ale bardziej przypadkowo..do dodawania danych do bazy co działa mi bez zarzutu

generalnie nie raz tu jeszcze tak czy owak zawitam, bo mam w planach stworzenie funkcji dodawania danych do bazy przy równoczesnym tworzeniu podstrony w których część z tych danych się znajdjdzie...o ile
przez php mogę tworzyć nową stronę przez formularz

początki są trudne - thx za pomoc

na pewno - do zobaczenia na forum





mam taki kod :
  1. $zapytanie2="DELETE FROM dane WHERE id=$_GET['$iddel'] ";

i taki błąd : Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\xampp\htdocs\xampp\kasoferte.php on line 75

naczytałem się o tej funckji $_GET i wszędzie były dane przestłane w [''] - nie wiem natomiast czy w funkcji selekt mam to zrobić inaczej?

Ten post edytował michal_86 2.02.2010, 13:53:13
Go to the top of the page
+Quote Post
nospor
post
Post #12





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




nie chodzi o select, tylko chodzi o tekst. Przeczytaj dokladnie to:
http://pl.php.net/manual/pl/language.types.string.php
Go to the top of the page
+Quote Post
michal_86
post
Post #13





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 1.02.2010

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


poczytałem - trzeba było wstawić klamrę {

nadal jednak nie chciał zrealizowac funkcji "zapytanie2"
Postanowiłem zmienić taktykę , nieco, ale nadal muszę coś mylić ponieważ funkcji nie chce nawet ruszyć



  1. <td width=\"6%\"><a href=\"kasoferte.php?stan=del&iddel=".$wiersz['id']."\">KASUJ</a></b></td>
  2.  
  3. </tr>";
  4.  
  5. }
  6.  
  7. $iddel=$_GET['iddel'];
  8. $stan=$_GET['stan'];
  9.  
  10. if($stan=='del') {
  11.  
  12. $zapytanie2="DELETE FROM dane WHERE id='$iddel' ";
  13.  
  14. $wynik2 = mysql_query($zapytanie2);
  15.  
  16. echo "Rekord o id='$iddel' został skasowany !";
  17.  
  18. }
  19.  
  20. else { echo "Błąd nie udało się skasować rekordu";
  21.  
  22.  
  23.  
  24. }
  25.  
  26. ?>


jakaś podpowiedź?

znalazłem w necie coś takiego:
  1. /website/deleteuser.php?id=<userid> for each, where deleteuser.php contains the (pseudocode):
  2.  
  3. $sql = "DELETE FROM usertable WHERE id = " . (int) $_GET['id'];


czy oznacznie id jest poprawne tutaj?

czy mogę po wpisaniu frazy
  1. $_GET['stan'] = $stan;
użyć go tak potem w warunku if :
  1. if($stan=='del')


czy za każdym razem musze pisać
  1. if($_GET['$stan']=='del')
Go to the top of the page
+Quote Post
mhw
post
Post #14





Grupa: Zarejestrowani
Postów: 43
Pomógł: 10
Dołączył: 3.08.2009

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


Cytat(michal_86 @ 2.02.2010, 18:57:42 ) *
czy mogę po wpisaniu frazy
  1. $_GET['stan'] = $stan;
użyć go tak potem w warunku if [...]

Nie, ale po wpisaniu
  1. $stan = $_GET['stan'];
już tak (IMG:style_emoticons/default/winksmiley.jpg)



Go to the top of the page
+Quote Post
michal_86
post
Post #15





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 1.02.2010

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


dzięki..okazuje się że robiłem to dobrze, tylko żę baza z której miałem kasować rekord ma inną nazwę..stąd cały czas błędy

ALE - bardzo dziękuje za linki i pomoc bo się cholernie dużo nauczyłem

pozdr!

bardzo dziękuję!
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.08.2025 - 21:58