Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Usuwanie rekordów z bazy danych mysql - problem
Forum PHP.pl > Forum > Przedszkole
Sztymi
Witam
Mam kolejny problem

napisalem cos takiego (przykład)
Kod
elseif ( $co == 'usun') {
  
        $query1 = "SELECT CONCAT(id) AS id, CONCAT(glory) AS glory, DATE_FORMAT(data, '%M %d, %Y') AS data FROM glors ";
  $result1 = @mysql_query ($query1);
  if (mysql_affected_rows() == 1) {
  
  $nr = $row[0];

    $query = "DELETE FROM glors WHERE id='$nr' ";
    $result = @mysql_query ($query);
    echo 'Glor został usunięty';
    } else { echo ' Wystąpił błąd';}
    }


Niestety to nie działa =/
Natomiast gdy zamienie (w tym)
Kod
"DELETE FROM glors WHERE id='$nr' "

zmienna $nr np. na 1 i to wszytko wgram na serwer to usuwa rekord z id 1
Wnioskuje ze cos jest nie tak z $row[0]
Próbowalem juz podstawiac zamiast $nr $row[0] i kombinowalem - niestety nic =/

Przy okazji chciałbym sie zapytać o to samo, ale o edycje wpisów - mianowicie o pola formularzy -> czy wystarczy dodatkowo dopisac jako np. value=" .'row[1]'. czy w jakis inny sposob?

Proszę o pomoc
Ociu
  1. <?php
  2. $query = &#092;"DELETE FROM glors WHERE id='\".$nr.\" \";
  3. ?>


?

Ja robie tak:
adres.pl/ble.php?usun=".$row['id']."

i potem tylko

  1. <?php
  2. $query = &#092;"DELETE FROM glors WHERE id='\".$_GET['usun'].\" \";
  3. ?>


Dużo osoób mówi mi, ze to niebezpieczne, ale przyzwyczajenie..
crash
RTFM:
Cytat
mysql_affected_rows() nie ma zastosowania do operacji SELECT, lecz tylko do operacji, które modyfikują rekordy. Aby uzyskać liczbę wierszy zwróconych przez SELECT, użyj funkcji mysql_num_rows().
Sztymi
tzn ten pliczek wyglada tak (narazie wszystko bez css tylko tak jak jest - potem bede pisal css do calosci)
Kod
...
// zapytanie
$query = "SELECT CONCAT(id) AS id, CONCAT(glory) AS glory, DATE_FORMAT(data, '%M %d, %Y') AS data FROM glors ";

//wykonaj  
$result = @mysql_query ($query);

//ile jest newsow
$num = mysql_num_rows ($result);

//jesli wszystko ok, pokaz rekordy
if ($num > 0) {
echo '<p><center>Glory:</center></p>';
echo '
<table width="650" align="center" cellpadding="2" cellspacing="2" style="border: 1px solid black;">
  <tr>
    <td align="left" ></td> </tr>';
    
    echo '<tr><td align=\"left\" width="10"  style="border: 1px solid black; background-color: #343434;" ><font color="#FFFFFF">Id:</font></td>
    <td aligin=\"left\" width="150" style="border: 1px solid black; background-color: #343434;"><font color="#FFFFFF">Data:</font></td>
    <td align=\"left\" style="border: 1px solid black; background-color: #343434;" ><font color="#FFFFFF">Tre¶æ gloru:</font></td>
    <td aligin=\"left\" style="border: 1px solid black; background-color: #343434;"></td>
    <td aligin=\"left\" style="border: 1px solid black; background-color: #343434;"></td></tr>';
    
    // pobierz i pokaz wszystkie rekordy
    while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    
     echo '<tr><td aligin=\"left\" style="border: 1px dotted black; background-color: #ffffff">'.$row[0].'</td>
                 <td aligin=\"left\" style="border: 1px dotted black; background-color: #ffffff">'.$row[2].'</td>
        <td align=\"left\" style="border: 1px dotted black;" >'.$row[1].'</td>
        <td aligin=\"left\" style="border: 1px solid black; background-color: #343434;"><font color="#FFFFFF"><center><p><a href=editglors.php?co=edytuj&id='.$row[0].'>Edytuj</a></p></center></font></td>
        <td aligin=\"left\" style="border: 1px solid black; background-color: #343434;"><font color="#FFFFFF"><center><p><a href=editglors.php?co=usun&id='.$row[0].'>Usuñ</a></p></center></font></td></tr>';
  }
  
    echo '</table>';
    
    
    
    if ($co == 'edytuj') {
  

      
    echo " '.$glor.' ";
    
   } elseif ( $co == 'usun') {
  
    $query1 = "SELECT CONCAT(id) AS id, CONCAT(glory) AS glory, DATE_FORMAT(data, '%M %d, %Y') AS data FROM glors ";
  $result1 = @mysql_query ($query1);
  if (mysql_affected_rows() == 1) {
  
  $nr = $row[0];

    $query = "DELETE FROM glors WHERE id='$nr' ";
    $result = @mysql_query ($query);
    echo 'Glor zosta³ usuniêty';
    } else { echo ' Wyst±pi³ b³±d';}
    }
    
    

} else { // Je¿eli zapytanie nie zosta³o wykonane pomy¶lnie.
    echo '<p>Aktualnie nie ma ¿adnych glorów.</p>';
}

mysql_close();

?>


jesli chodzi o "edytuj" to narazie nie robilem bo tez mam problem wyswietlaniem formularza juz zapelnionego danymi z danego rekordu - dokładniej problem z value="<? echo " '.row[1].' "; ?> itd.

Co mam zle w tym calym pliczku? i jak rozwiazac problem z $row[0] (itd.) przy edycji i usuwaniu?
z gory dzieki za odpowiedzi
crash
  1. <?php
  2. $query1 = &#092;"SELECT CONCAT(id) AS id, CONCAT(glory) AS glory, DATE_FORMAT(data, '%M %d, %Y') AS data FROM glors \";
  3. $result1 = @mysql_query ($query1);
  4. if (mysql_affected_rows() == 1) // ten warunek nigdy nie będzie spełniony...
  5. ?>
Sztymi
ok wywaliłem ten warunek i dalej nie chodzi =/

a mozesz mi jeszcze pomoc jesli chodzi o te inne pytanka?
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.