Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MSSQL]Problem z przekazaniem zmiennej
czareku
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 21.10.2008

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


Witam. Jestem w trakcie robiebia "aplikacji" umożliwiającej dodawanie, usuwanie i modyfikacje rekordów w bazie mssql. Dodawanie przeszło bez większych problemów. Teraz mam mały problem z usuwaniem.
Obrazowo to wygląda mniej więcej tak:

Rekord1 Rekord2 Rekord3 | USUN | EDYTUJ
innyRekord1 innyRekord2 innyRekord3 | USUN | EDYTUJ

Chciałbym, żeby po kliknieciu USUN przy danym rekordzie został on usunięty.

Zrobiłem sobie plik usun.php, który wygląda tak:

  1. <?php
  2. include("connbd.php");
  3. $ins = mssql_query("DELETE FROM Drut WHERE Drut='$drut' ");
  4.  
  5. if($ins) echo "Rekord zostal usuniety poprawnie ";
  6. else echo "Blad nie usunieto rekordu do tabeli";
  7. ?>

Problem w tym, że nie wiem jak przekazać do wyżej wymienionego pliku zmienna $drut, z pliku tabela.php
  1. <?php
  2. echo "<table callspacing='3' cellpadding='5'>";
  3. echo "<tr bgcolor='#dddddd' align='left'>";
  4. echo "<th>Drut</th>
  5. <th>Srednica drutu</th>
  6. <th>12NC</th>
  7. <th>USUN</th>
  8. <th>EDYTUJ</th>";
  9. echo "</tr>";
  10.  
  11. while ( $wiersz = mssql_fetch_array($wynik))
  12. {
  13. echo "<tr align='left'>";
  14. echo "<td>".$wiersz['Drut']."</td>";
  15. echo "<td>".$wiersz['Srednica_drutu']."</td>";
  16. echo "<td>".$wiersz['NC12']."</td>";
  17. echo "<td>".'<a href="usun.php?Drut=$wiersz[`Drut`];">[USUN]</a>'."</td>";
  18. echo "<td>".EDYTUJ."</td>";
  19. echo "</tr>";
  20. ?>

Jak widać próbowałem coś w ten deseń echo "<td>".'<a href="usun.php?Drut=$wiersz[`Drut`];">[USUN]</a>'."</td>";
ale to nie jest dobrze. Może macie jakąś inną propozycję rozwiazania tego problemu?
PS wiem, że mam pomieszany kod php z html, ale tym się zajmę później.

Ten post edytował czareku 13.01.2009, 15:47:01
Go to the top of the page
+Quote Post
help_mee
post
Post #2





Grupa: Zarejestrowani
Postów: 244
Pomógł: 21
Dołączył: 10.02.2008
Skąd: Załęcze Wielkie

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


może sesją(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
kefirek
post
Post #3





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


A tak zobacz
  1. <?php
  2. if (isset($_GET['Drut'])) {
  3. $ins = mssql_query("DELETE FROM Drut WHERE Drut='".$_GET['Drut']."'");
  4. }
  5. ?>
Go to the top of the page
+Quote Post
czareku
post
Post #4





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 21.10.2008

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


To co zaproponowałeś też nie przejdzie bo część:
  1. <?php
  2. echo "<td>".'<a href="usun.php?Drut=$wiersz[`Drut`];">[USUN]</a>'."</td>";
  3. ?>

nie działa tak jak powinna, gdyby pobierana została odpowiednia nazwa drutu to w url powinno być ...Drut=jakisdrut, a niestety nie jest, i mam ...Drut=$wiersz[`Drut`];

Ten post edytował czareku 13.01.2009, 15:56:13
Go to the top of the page
+Quote Post
help_mee
post
Post #5





Grupa: Zarejestrowani
Postów: 244
Pomógł: 21
Dołączył: 10.02.2008
Skąd: Załęcze Wielkie

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


masz where - miej index
http://dev.mysql.com/doc/refman/5.1/en/mysql-indexes.html

ps... to zrób prosty formularz z buttonem usuń i ukrytym pole jakiśdrut
Go to the top of the page
+Quote Post
kefirek
post
Post #6





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


To daj tam tak i powinno działać
  1. <?php
  2. echo "<td>
  3. <a href='usun.php?Drut='".$wiersz['Drut']."'>USUN</a>
  4. </td>";
  5. ?>
Go to the top of the page
+Quote Post
czareku
post
Post #7





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 21.10.2008

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


Teraz w linku mam php?Drut=
Wszystko wykonuje się do końca, pojawia się komunikat o poprawnym usunięciu, jednak widzę, że w tabelce dalej jest ten rekord. Ale już chyba coraz bliżej poprawnego działania:)) Jutro popróbuje jeszcze coś z tym zrobić (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
help_mee
post
Post #8





Grupa: Zarejestrowani
Postów: 244
Pomógł: 21
Dołączył: 10.02.2008
Skąd: Załęcze Wielkie

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


Cytat(czareku @ 13.01.2009, 16:17:56 ) *
Teraz w linku mam php?Drut=
Wszystko wykonuje się do końca, pojawia się komunikat o poprawnym usunięciu, jednak widzę, że w tabelce dalej jest ten rekord. Ale już chyba coraz bliżej poprawnego działania:)) Jutro popróbuje jeszcze coś z tym zrobić (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)


masz where - miej index
http://dev.mysql.com/doc/refman/5.1/en/mysql-indexes.html

musisz dać bo pole drut w tabeli nie jest chyba kluczem?
Go to the top of the page
+Quote Post
decha-design
post
Post #9





Grupa: Zarejestrowani
Postów: 415
Pomógł: 46
Dołączył: 26.05.2007
Skąd: Sandomierz

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


  1. <?php
  2. echo '<td>
  3. <a href="usun.php?Drut="'.$wiersz['Drut'].'">USUN</a>
  4. </td>';
  5. ?>
powinno dzialać ...

@kefirek ... od kiedy to w html przy atrybutach używamy apostrofów co? Cudzysłów, Cudzysłów i jeszcze raz Cudzysłów ...
Go to the top of the page
+Quote Post
czareku
post
Post #10





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 21.10.2008

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


Cytat
musisz dać bo pole drut w tabeli nie jest chyba kluczem?

Jest kluczem.

  1. <?php
  2. echo '<td>
  3. <a href="usun.php?Drut="'.$wiersz['Drut'].'">USUN</a>
  4. </td>';
  5. ?>


Niestety dalej nie działa. Cala procedura wykonuje się niby poprawnie, ale rekord dalej nie znika z tabeli;( Nie wiem jak inaczej przekazac numer tego pola do zapytania:/ Zapytanie delete ogólnie jest ok, bo jak wstawie "twardą" wartość, na przykład where Drut = "Drut" , to usuwa mi dany rekord.

Ten post edytował czareku 14.01.2009, 09:22:10
Go to the top of the page
+Quote Post
melkorm
post
Post #11





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


wrzuć w kod :
  1. <?php
  2. var_dump('<a href="usun.php?Drut="'.$wiersz['Drut'].'">USUN</a>');
  3. ?>


I pokaż co Ci się wypluje .

edit: to ta godzina :F

Ten post edytował melkorm 14.01.2009, 09:41:54
Go to the top of the page
+Quote Post
czareku
post
Post #12





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 21.10.2008

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


Wielkie dzięki za pomoc, już wszystko działa jak należy, przynajmniej na razie nie ma żadnych problemów:D Teraz edycja...mam nadzieję, że pójdzie szybciej. Jeszcze raz dzięki za pomoc.

Ten post edytował czareku 14.01.2009, 10:38:38
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 - 18:23