Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MSSQL]Problem z przekazaniem zmiennej
Forum PHP.pl > Forum > Przedszkole
czareku
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.
help_mee
może sesjąquestionmark.gif
kefirek
A tak zobacz
  1. <?php
  2. if (isset($_GET['Drut'])) {
  3. $ins = mssql_query("DELETE FROM Drut WHERE Drut='".$_GET['Drut']."'");
  4. }
  5. ?>
czareku
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`];
help_mee
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
kefirek
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. ?>
czareku
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ć winksmiley.jpg
help_mee
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ć 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?
decha-design
  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 ...
czareku
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.
melkorm
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
czareku
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.
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.