Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
[PHP][MySQL] Problem z usuwaniem rekordów - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: [PHP][MySQL] Problem z usuwaniem rekordów (/thread-php-mysql-problem-z-usuwaniem-rekordow)



[PHP][MySQL] Problem z usuwaniem rekordów - MateuszRyaN - 13-11-2010

Witam. Mam taki problem. Otóż w moim skrypcie po naciśnięciu klawisza isset($_POST['all']) Tworzy się tabela, w której wyświetla mi wszystkie rekordy. Dodatkowo w ostatniej kolumnie, do każdego rekordu chciałem mieć opcję DEL do usuwania go i EDIT do edycji. I też tak jest, udało mi się to wmiare ogarnąć. Niestety jest taki problem, że przycisk DEL w jakiś sposób łączy się z EDIT. To znaczy, gdy klikne DEL (elegancko usuwa mi rekord) ale jak dam EDIT to co prawda wyświetla mi formularz do edycji, ale niżej wyskakuje mi poprzednia funkcja "Rekord został usunięty". Nie wiem w której części skryptu jest popełniony błąd. Powinno być osobno w odnośniku DELL i osobno EDIT. Proszę o pomoc.

Kod PHP:
<?php

    $connection 
= @mysql_connect('localhost''root''haslo')
    or die(
'Brak połączenia z serwerem MySQL');
    
$db = @mysql_select_db('palma77_manager'$connection)
    or die(
'Nie mogę połączyć się z bazą danych');
    
mysql_query("SET CHARSET 'latin2'"$connection);
    
mysql_query("SET NAMES latin2");
    
mysql_query("SET CHARACTER SET latin2");
    
mysql_query("SET collation_connection = latin2_general_ci");
    



if (isset(
$_POST['all']))
{




$wynik mysql_query("SELECT * FROM manager ORDER BY `id` DESC ;")
or die(
'Błąd zapytania');


if(
mysql_num_rows($wynik) > 0) {


    echo 
"<br>";
    echo 
"<table cellpadding='4' cellspacing='0' style='border:1px solid #aebecc'>";
    echo 
"<tr style='border:1px solid #aebecc'>";
    echo 
"<td style='border:1px solid #aebecc; font-weight:bold; opacity:0.7;filter:alpha(opacity=70); background-color:#FFF; text-align: center; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".ID."</td>";
    echo 
"<td style='border:1px solid #aebecc; font-weight:bold; opacity:0.7;filter:alpha(opacity=70); background-color:#FFF; text-align: center; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".DATA."</td>";
    echo 
"<td style='border:1px solid #aebecc; font-weight:bold; opacity:0.7;filter:alpha(opacity=70); background-color:#FFF; text-align: center; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".NAZWISKO."</td>";
    echo 
"<td style='border:1px solid #aebecc; font-weight:bold; opacity:0.7;filter:alpha(opacity=70); background-color:#FFF; text-align: center; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".TELEFON."</td>";
    echo 
"<td style='border:1px solid #aebecc; font-weight:bold; opacity:0.7;filter:alpha(opacity=70); background-color:#FFF; text-align: center; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".SPRZĘT."</td>";
    echo 
"<td style='border:1px solid #aebecc; font-weight:bold; opacity:0.7;filter:alpha(opacity=70); background-color:#FFF; text-align: center; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".MODEL."</td>";
    echo 
"<td style='border:1px solid #aebecc; font-weight:bold; opacity:0.7;filter:alpha(opacity=70); background-color:#FFF; text-align: center; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".PRZYJMOWAŁ."</td>";
    echo 
"<td style='border:1px solid #aebecc; font-weight:bold; opacity:0.7;filter:alpha(opacity=70); background-color:#FFF; text-align: center; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".CZYNNOŚĆ."</td>";
    echo 
"</tr>";
    while(
$r mysql_fetch_object($wynik)) {
        echo 
"<tr style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>";
        echo 
"<td style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".$r->id."</td>";
        echo 
"<td style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".$r->data."</td>";
        echo 
"<td style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".$r->nazwisko."</td>";
        echo 
"<td style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".$r->telefon."</td>";
        echo 
"<td style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".$r->nazwa_sprzetu."</td>";
        echo 
"<td style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".$r->model."</td>";
        echo 
"<td style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".$r->przyjmuje."</td>";
        echo 
"<td style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif; '>
       <a style='text-decoration:underline; color:#808d98;' href=\"menager.php?a=del&amp;id=
{$r->id}\">DEL</a>
       <a style='text-decoration:underline; color:#808d98;' href=\"menager.php?a=edit&amp;id=
{$r->id}\">EDIT</a>
       </td>"
;
        echo 
"</tr>";
    }
    echo 
"</table>";
}
}
 
     
$a trim($_GET['a']);
    
$id trim($_GET['id']);
    
      if(isset(
$_GET['id']) && ( $a 'edit'))    {

         
$wynik mysql_query("SELECT * FROM manager WHERE id='$id'")
    or die(
'Błąd zapytania'); 

         if(
mysql_num_rows($wynik) > 0) {
 
             
$r mysql_fetch_assoc($wynik);

             echo 
'<form action="menager.php?a=save" method="post">
  
             <input type="hidden" name="a" value="save" />
  
             <input type="hidden" name="id" value="'
.$id.'" />
  
             nazwisko:<br />
  
             <input type="text" name="nazwisko"
  
             value="'
.$r->nazwisko.'" /><br />
  
             telefon<br />
  
             <input type="text" name="telefon"
  
             value="'
.$r->telefon.'" /><br />
  
             <input type="submit" value="popraw" />
  
             </form>'
;
  
         }
  
      }
  
      elseif(
$a == 'save') {
  
         
$id $_POST['id'];
  
         
$nazwisko trim($_POST['nazwisko']);
  
         
$telefon trim($_POST['telefon']);
  
         
mysql_query("UPDATE manager SET nazwisko='$nazwisko', telefon='$telefon' WHERE id='$id'")
  
         or die(
'Błąd zapytania');
  
         echo 
'Dane klienta zostały zaktualizowane poprawnie.';
  
      }
      
    
      if(isset(
$_GET['id']) && ( $a 'del'))
   {
  
$wynik = @mysql_query("DELETE FROM manager WHERE `id`='".mysql_real_escape_string($_GET['id'])."'")
  
         or die(
'Błąd zapytania: '.mysql_error());
  
         echo 
'Zlecenie zostało poprawnie usunięte.';
  
      }

      
  
      
?>



RE: [PHP][MySQL] Problem z usuwaniem rekordów - Pedro84 - 13-11-2010

Poznaj subtelne różnice pomiędzy =, == a ===.


RE: [PHP][MySQL] Problem z usuwaniem rekordów - MateuszRyaN - 14-11-2010

(13-11-2010, 20:22)Pedro84 napisał(a): Poznaj subtelne różnice pomiędzy =, == a ===.

Wiem jaka jest różnica wiem już gdzie popełniłem błąd. Usuwanie działa bezproblemu ale gdzieś jest błąd w edycji. Podeśle 2 screeny w których będzie tabela przed wciśnięciem przycisku EDIT i po:

przed kliknięciem EDIT:
[Obrazek: 20101113223218.jpg]
po kliknięciu: (dodam że w formularzu edycji na razie mam tylko nazwisko i telefon dla testów...no i wyświetla się z echa Że rekord został zaktualizowany)
[Obrazek: 20101113223251.jpg]

Jak widać wszystko ładnie zmienia...tylko całość wygląda jakby w ogóle nie łapało mi ID. Nie wiem czym to moze być spowodowane. Wkleje poniżej na tyle ile mogłem poprawiony kod:

Kod PHP:
<?php
    $connection 
= @mysql_connect('localhost''xxx''yyy')
    or die(
'Brak połączenia z serwerem MySQL');
    
$db = @mysql_select_db('palma77_manager'$connection)
    or die(
'Nie mogę połączyć się z bazą danych');
    
mysql_query("SET CHARSET 'latin2'"$connection);
    
mysql_query("SET NAMES latin2");
    
mysql_query("SET CHARACTER SET latin2");
    
mysql_query("SET collation_connection = latin2_general_ci");
    
if (isset(
$_POST['all']))
{

$wynik mysql_query("SELECT * FROM manager ORDER BY `id` DESC ;")
or die(
'Błąd zapytania');

if(
mysql_num_rows($wynik) > 0) {

    echo 
"<br>";
    echo 
"<table cellpadding='4' cellspacing='0' style='border:1px solid #aebecc'>";
    echo 
"<tr style='border:1px solid #aebecc'>";
    echo 
"<td style='border:1px solid #aebecc; font-weight:bold; opacity:0.7;filter:alpha(opacity=70); background-color:#FFF; text-align: center; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>ID</td>";
    echo 
"<td style='border:1px solid #aebecc; font-weight:bold; opacity:0.7;filter:alpha(opacity=70); background-color:#FFF; text-align: center; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>DATA</td>";
    echo 
"<td style='border:1px solid #aebecc; font-weight:bold; opacity:0.7;filter:alpha(opacity=70); background-color:#FFF; text-align: center; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>NAZWISKO</td>";
    echo 
"<td style='border:1px solid #aebecc; font-weight:bold; opacity:0.7;filter:alpha(opacity=70); background-color:#FFF; text-align: center; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>TELEFON</td>";
    echo 
"<td style='border:1px solid #aebecc; font-weight:bold; opacity:0.7;filter:alpha(opacity=70); background-color:#FFF; text-align: center; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>SPRZĘT</td>";
    echo 
"<td style='border:1px solid #aebecc; font-weight:bold; opacity:0.7;filter:alpha(opacity=70); background-color:#FFF; text-align: center; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>MODEL</td>";
    echo 
"<td style='border:1px solid #aebecc; font-weight:bold; opacity:0.7;filter:alpha(opacity=70); background-color:#FFF; text-align: center; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>PRZYJMOWAŁ</td>";
    echo 
"<td style='border:1px solid #aebecc; font-weight:bold; opacity:0.7;filter:alpha(opacity=70); background-color:#FFF; text-align: center; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>CZYNNOŚĆ</td>";
    echo 
"</tr>";
    while(
$r mysql_fetch_object($wynik)) {
        echo 
"<tr style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>";
        echo 
"<td style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".$r->id."</td>";
        echo 
"<td style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".$r->data."</td>";
        echo 
"<td style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".$r->nazwisko."</td>";
        echo 
"<td style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".$r->telefon."</td>";
        echo 
"<td style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".$r->nazwa_sprzetu."</td>";
        echo 
"<td style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".$r->model."</td>";
        echo 
"<td style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif;'>".$r->przyjmuje."</td>";
        echo 
"<td style='border:1px solid #aebecc; font-size:12px; font-family:Arial, Helvetica, sans-serif; '>
       <a style='text-decoration:underline; color:#808d98;' href=\"menager.php?a=del&amp;id=
{$r->id}\">DEL</a>
       <a style='text-decoration:underline; color:#808d98;' href=\"menager.php?a=edit&amp;id=
{$r->id}\">EDIT</a>
       </td>"
;
        echo 
"</tr>";
    }
    echo 
"</table>";
}
}
 
     
$a trim($_GET['a']);
    
$id trim($_GET['id']);
    
      if(isset(
$_GET['id']) && ( $a == 'edit'))    {

         
$wynik mysql_query("SELECT * FROM manager WHERE id='$id'")
    or die(
'Błąd zapytania'); 

         if(
mysql_num_rows($wynik) > 0) {
 
             
$r mysql_fetch_assoc($wynik);

             echo 
'<form action="menager.php?a=save" method="post">
  
             <input type="hidden" name="a" value="save" />
  
             <input type="hidden" name="id" value="'
.$id.'" />
  
             nazwisko:<br />
  
             <input type="text" name="nazwisko"
  
             value="'
.$r->nazwisko.'" /><br />
  
             telefon<br />
  
             <input type="text" name="telefon"
  
             value="'
.$r->telefon.'" /><br />
  
             <input type="submit" value="popraw" />
  
             </form>'
;
  
         }
  
      }
  
      elseif(
$a == 'save') {
  
         
$id $_POST['id'];
  
         
$nazwisko trim($_POST['nazwisko']);
  
         
$telefon trim($_POST['telefon']);
  
         
mysql_query("UPDATE manager SET nazwisko='$nazwisko', telefon='$telefon' WHERE id='$id'")
  
         or die(
'Błąd zapytania');
  
         echo 
'Dane klienta zostały zaktualizowane poprawnie.';
  
      }
      
    
      if(isset(
$_GET['id']) && ( $a == 'del'))
   {
  
$wynik = @mysql_query("DELETE FROM manager WHERE `id`='".mysql_real_escape_string($_GET['id'])."'")
  
         or die(
'Błąd zapytania: '.mysql_error());
  
         echo 
'Zlecenie zostało poprawnie usunięte.';
  
      }

      
  
      
?>