Mam taki problemik, otoz nie dziala mi skrypt usuwajacy rekord. Chodzi o to,że skrypt usunie rekord tylko i wylacznie wtedy kiedy id jest liczba typu int. Czyli np jesli id_budynek = 34 to usunie,ale jesli id_budynek = a34 to nie dziala. Oto kody:
<?php
//rozpoczęcie sesji
session_name("SZBD");
session_start();
//je_li zmieniana jest tabela zmienna zapisywana jest w sesji a strona ponownie przeladowywana już bez zmiennej tabela
if(isset($_GET['tabela'])) { $_SESSION['tabela'] = htmlspecialchars($_GET['tabela']); ?><script>location.href='./index.php';</script><?php }
//zmienna odpowiedzialna za okre_lanie operacji zapisywana jest do zwykłej zmiennej
if(isset($_POST['op'])) { $op = $_POST['op']; } elseif(isset($_GET['op'])) { $op = $_GET['op']; } else { $op = "pokaz"; }
//je_li strona otwarta jest poraz pierwszy zmienna sesyjna jest ustawiana na tabelę klient
if(!isset($_SESSION['tabela'])) { $_SESSION['tabela'] = "budynek"; }
include 'laczenie.php';
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<meta name="author" content="Grzegorz Rydzkowski ">
<title>Interfejs Baza Danych Autor: Rydzkowski</title>
<link rel="stylesheet" href="./style.css" type="text/css">
<script type="text/javascript" src="./funcs.js"></script>
</head>
<body>
<div><b>Wybierz tabelę:</b>
<select onchange="przeladuj(this);">
<optgroup label="komputer">
<option value="komputer_nowe" <?php if($_SESSION['tabela'] == "komputer_nowe") { echo "selected"; } ?> >komputer nowe</option>
<option value="komputer_uzywane" <?php if($_SESSION['tabela'] == "komputer_uzywane") { echo "selected";} ?> >komputer uzywane</option>
</optgroup>
<option value="budynek" <?php if($_SESSION['tabela'] == "budynek") { echo "selected"; } ?> >budynek</option>
<option value="pokoj" <?php if($_SESSION['tabela'] == "pokoj") { echo "selected"; } ?> >pokoj</option>
<option value="stan" <?php if($_SESSION['tabela'] == "stan") { echo "selected"; } ?> >stan</option>
</select>
</div>
<div class="head">Aktualna tabela: <?php echo $_SESSION['tabela']; ?></div>
<div style="height: 30px; width: 270px; margin: auto; margin-bottom: 30px;">
<div style="float: left; margin: 0 5px;"><input type="button" name="refresh" value="Podgląd tabeli" class="b" onclick="location.href='index.php?op=pokaz'"></div>
<div style="float: left; margin: 0 5px;"><input type="button" name="new" value="Dodaj nowy rekord" class="b" onclick="location.href='index.php?op=dodaj'"></div>
</div>
<?php
//w zależno_ci co chce zrobić użytkownik, taki plik zostanie wczytany
switch($op) {
case 'pokaz': include('show.php'); break;
case 'dodaj': include('new.php'); break;
case 'usun': include('delete.php'); break;
case 'edytuj': include('edit.php'); break;
case 'szukaj': include('search_result.php');break;
default: include('error.php'); break;
}
?>
</body>
</html>
<?php
//zamknięcie połšczenia z bazš danych
mysql_close($link);
?>
<?php
if($_SESSION['tabela'] != "wiezniowie")
{
$b = (string)$_GET['b']; //dla bezpieczeństwa wycišgamy ze mniennej tylko warto_ć liczbowš
$kolumna = "id_".$_SESSION['tabela'];
$query2 = mysql_query('DELETE FROM '.$_SESSION['tabela'].' WHERE '.$kolumna.' = "'.$b.'"',$link)or die(mysql_error());
//$query1 = mysql_query('SELECT * FROM '.$_SESSION['tabela'].'',$link )
//wy_wietlenie odpowiedniego komunikatu w zależno_ci czy sie powiodło czy nie
if($query2) {
echo '<div class="good">Rekord usunięty</div>';
} else {
echo '<div class="bad">Rekord nie został usunięty!<br>'.mysql_error($link).'</div>';
}
}
?>
i plik java script
//funkcja odpowiedzialna za przeladowanie strony po wyborze innej tabeli z pola select
function przeladuj(a) {
val = a.value;
location.href='index.php?tabela='+val;
return true;
}
//funkcja odpowiedzialna za przej_cie do strony edycji rekordu
function edytuj(a) {
location.href='index.php?op=edytuj&b='+a;
return true;
}
//funkcja odpowiedzialna za przej_cie dostrony usuwania rekordu
//przenosi na stronę dopiero po potwierdzeniu usuwania
function usun(a) {
if(confirm("Czy napewno chcesz usunąć rekord o id "+a+"?")) {
location.href='index.php?op=usun&b='+a;
}
return true;
}
Przejrzalem kod php i wg mnie jest ok, wiec domyslam sie,ze chodzi o java script ktorego kompeltnie nie znam, dlatego prosze Was o pomoc ;) co zmienic zeby dzialalo, niezaleznie czy to bedzie liczba typu calkowitego czy ciag znakow.