Witam,
jestem nowy na forum i szczerze nie za wiele poświęciłem na przyswojenie się. Wynika to jednak z małej ilości czasu a dużej potrzeby.
Nie będę za dużo się rozpisywał - na początek pokaże kod z którym ma problem.
<?php
$dodaj = $_POST['dodaj'];
$szukaj = $_POST['szukaj'];
if($szukaj == "szukaj")
{
//połączenie z bazą danych
or
die("BŁĄD: nie można się połączyć z serverem MySQL");
or
die("Nie można wybrać danej bazy danych");
if($usun == "[usuń]")
{
//wykonanie zapytania usunięcia wpisu z bazy danych
$zapytanie = ("DELETE FROM proba WHERE id = '$id' ");
or
die("Nie można usunąć rekordu");
//komunikat
$komunikaty = "<p class='info_text'>wpis został usunięty z bazy</p>";
}
else
{
//wykonanie zapytania wyszukania
$szukaj = ("SELECT * FROM proba WHERE firma LIKE '%$firma%' && imie LIKE '%$nazwisko%' && email LIKE '%$email%' && telefon LIKE '%$telefon%' && www LIKE '%$www%' && stanowisko LIKE '%$stanowisko%' && opis LIKE '%$opis%' && adres LIKE '%$adres%' ORDER BY id DESC");
or
die("Wykonanie zapytania jest nie możliwe");
//wyświetlenie wyników
{
$firma = $row[0];
$nazwisko = $row[1];
$email = $row[2];
$telefon = $row[3];
$www = $row[4];
$stanowisko = $row[5];
$opis = $row[6];
$adres = $row[7];
("
<table width='100%' border='0' cellpadding='0' cellspacing='0'>
<tr>
<td width='21'> </td>
<td width='300'> </td>
<td width='300'> </td>
<td width='300'> </td>
<td width='21'> </td>
</tr>
<tr>
<td width='21'> </td>
<td width='300'><p class='podpisy_pol2'>nazwa firmy</p></td>
<td width='300'><p class='podpisy_pol2'>imie i nazwisko</p></td>
<td width='300'><p class='podpisy_pol2'>logo firmy</p></td>
<td width='21'> </td>
</tr>
<tr>
<td width='21'> </td>
<td width='300' align='left' valign='middle'><p class='podpisy_pol2'><b>$row[0]</b></p></td>
<td width='300' align='left' valign='middle'><p class='podpisy_pol2'><b>$row[1]</b></p></td>
<td width='300' rowspan='4'></td>
<td width='21' rowspan='4'></td>
</tr>
<tr>
<td width='21'></td>
<td width='300'><p class='podpisy_pol2'>adres email</p></td>
<td width='300'><p class='podpisy_pol2'>telefon kontaktowy</p></td>
</tr>
<tr>
<td width='21'></td>
<td width='300' align='left' valign='middle'><p class='podpisy_pol2'><b><a href='mailto:$row[2]'>$row[2]</a></b></p></td>
<td width='300' align='left' valign='middle'><p class='podpisy_pol2'><b>$row[3]</b></p></td>
</tr>
<tr>
<td width='21'></td>
<td width='300'><p class='podpisy_pol2'>adres strony www</p></td>
<td width='300'><p class='podpisy_pol2'>stanowisko</p></td>
</tr>
<tr>
<td width='21'></td>
<td width='300' align='left' valign='middle'><p class='podpisy_pol2'><b><a href='http://$row[4]'>$row[4]</a></b></p></td>
<td width='300' align='left' valign='middle'><p class='podpisy_pol2'><b>$row[5]</b></p></td>
<td width='300'></td>
<td width='21'></td>
</tr>
<tr>
<td width='21'></td>
<td width='300'><p class='podpisy_pol2'>opis firmy</p></td>
<td width='300'></td>
<td width='300'><p class='podpisy_pol2'>adres siedziby firmy</p></td>
<td width='21'></td>
</tr>
<tr>
<td width='21'></td>
<td colspan='2' align='left' valign='top'><p class='podpisy_pol2'><b>$row[6]</b></p></td>
<td width='300' align='left' valign='top'><p class='podpisy_pol2'><b>$row[7]</b></p>
<br /></td>
<td width='21'></td>
</tr>
<tr>
<td width='21'></td>
<td colspan='2' align='left' valign='top'>
<form method='post'>
<input type='hidden' name='iddd' value='$row[8]'>
<input type='hidden' name='szukaj' value='szukaj'>
<input name='usun' type='submit' class='knefel' value='[usuń]' />
</form>
</td>
<td width='300' align='left' valign='top'></td>
<td width='21'></td>
</tr>
</table>
");
}
//komunikat
$komunikaty = "<p class='info_text'>wyniki wyszukiwania znajdują się poniżej</p>";
}
//zamknięcie bazy danych
}
else if($dodaj == "dodaj")
{
$firma = $_POST['firma'];
$nazwisko = $_POST['nazwisko'];
$email = $_POST['email'];
$telefon = $_POST['telefon'];
$www = $_POST['www'];
$stanowisko = $_POST['stanowisko'];
$opis = $_POST['opis'];
$adres = $_POST['adres'];
//połączenie z bazą danych
or
die("BŁĄD: nie można się połączyć z serverem MySQL");
or
die("Nie można wybrać danej bazy danych");
//wykonanie zapytania dodania do bazy
$zapytanie = ("INSERT INTO proba SET firma='$firma', imie='$nazwisko', email='$email', telefon='$telefon', www='$www', stanowisko='$stanowisko', opis='$opis', adres='$adres'");
or
die("Nie można dodać rekordu");
//zamknięcie bazy danych
//komunikat
$komunikaty = "<p class='info_text'>wpis został dodany do bazy</p>";
}
else
{
//informacja o tym jak wyszukać
//informacja o tym jak dodać
}
?>
Cały problem polega na tym, że po wciśnięciu przycisku "[usuń]" nie usuwa się nic i jak mniemam jest to spowodowane tym, iż nie jest przekazana informacja, które id ma być usunięte. Są to jednak tylko moje domysły. Pytanie do specjalistów: jak przekazać do zapytania odpowiednie id wpisu? Chodzi o to żeby usunięty był tylko ten wpis, pod któ®ym kliknięty został guzik "[usuń]"
Ok, problem znalazłem.
Zamieniłem:
//wykonanie zapytania usunięcia wpisu z bazy danych
$zapytanie = ("DELETE FROM klienci WHERE id = '$id'");
na
$ktory = $_POST['id'];
//wykonanie zapytania usunięcia wpisu z bazy danych
$zapytanie = ("DELETE FROM klienci WHERE id = '$ktory'");
no i oczywiście dodałem na samej górze
$usun = $_POST['usun'];
Teraz mam inny problem. Co w stosunku do mojego kodu oznacza taki błąd:
"Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /baza danych/klienci.php on line 411" (411 to 'mysql_free_result($wykonaj);')