Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> usuń z 2 tablic
JOHNY
post
Post #1





Grupa: Zarejestrowani
Postów: 297
Pomógł: 0
Dołączył: 17.01.2003
Skąd: Tarnów

Ostrzeżenie: (0%)
-----


Mam taki problem bo nie wiem jak w jednym zapytaniu usunąć zawartość tablicy gdzie sa przechowywane komentarze questionmark.gif
tablice:
news
id|autor|.... / reszta nieważna

coments
id|news_id|...

id z news = news_id z coments // wiadoma sprawa
I nie wiem jak dokończyć zapytanie

[sql:1:22606cacb1]
$query = "DELETE FROM news, coments WHERE id='$id'";
[/sql:1:22606cacb1]

Pytając tak to mi usunie tylko newsa z ID i komentarza z ID zamiast komenta z NEWS_ID

Czy można jak w przypadku form news, coments zastosować coś podobnego w WHERE np: WHERE id='$id', news_id='$id' questionmark.gif ale chyba tak się nie da sad.gif

Próbowałem też tak
[sql:1:22606cacb1]
$query = "DELETE FROM newspl, coments WHERE newspl.id='$id' AND coments.news_id='$id'";[/sql:1:22606cacb1]

Ale też lipa
Czy jest na to jakiś sposób questionmark.gif
Go to the top of the page
+Quote Post
FiDO
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

Ostrzeżenie: (0%)
-----


Musisz to rozbic na 2 zapytania:
[sql:1:be5767097e]DELETE FROM komentarze WHERE news_id = $id;[/sql:1:be5767097e]
[sql:1:be5767097e]DELETE FROM newsy WHERE id = $id;[/sql:1:be5767097e]


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
JOHNY
post
Post #3





Grupa: Zarejestrowani
Postów: 297
Pomógł: 0
Dołączył: 17.01.2003
Skąd: Tarnów

Ostrzeżenie: (0%)
-----


Hmm no nie wiem czy to ma jakieś znaczenie jeśli mam function
standardowo to funkcja tak wygladala
[php:1:d81f9f4dc9]<?php
function del($id, $co="newspl") {

$query = "DELETE * FROM $co WHERE id='$id'";
$wynik = mysql_query($query);

}
?>[/php:1:d81f9f4dc9]

A po modyfikacji
[php:1:d81f9f4dc9]<?php
function del($id, $co="newspl", $co1="coments") {

$query = "DELETE * FROM $co WHERE id='$id'";
$query = "DELETE * FROM $co1 WHERE news_id='$id'";
$wynik = mysql_query($query);
echo '<meta http-equiv="refresh" content="0; url=index.php?pg=newspl">';

}
?>[/php:1:d81f9f4dc9]
chociaż nie wiem czy czegoś nie skopałem to i tak nie chce trybić sad.gif
Go to the top of the page
+Quote Post
Majdan
post
Post #4





Grupa: Zarejestrowani
Postów: 445
Pomógł: 0
Dołączył: 21.12.2003
Skąd: Tomaszów Lubelski

Ostrzeżenie: (10%)
X----


[php:1:735b6cde2e]<?php
function del($id, $co="newspl", $co1="coments") {

$query1 = "DELETE * FROM $co WHERE id='$id'";
$query2 = "DELETE * FROM $co1 WHERE news_id='$id'";
$wynik1 = mysql_query($query1);
$wynik2 = mysql_query($query2);
echo '<meta http-equiv="refresh" content="0; url=index.php?pg=newspl">';

}
?>[/php:1:735b6cde2e]


--------------------
Go to the top of the page
+Quote Post
JOHNY
post
Post #5





Grupa: Zarejestrowani
Postów: 297
Pomógł: 0
Dołączył: 17.01.2003
Skąd: Tarnów

Ostrzeżenie: (0%)
-----


Majdan najgorsze z tego wszystkiego jest to że tak też próbowałem i nawet nie drgnie odświeży strone i nic dalej w bazie jest sad.gif <płacze>

link wyglada tak do tego
[php:1:2c5d7068e1]<?php
echo "<TD align=center class="pole"><a href=index.php?pg=newspl&op=del&id=".$row['id'].">Usuń</a></TD>n";
?>[/php:1:2c5d7068e1]
Pokazuje nr id ale nie chce usunąć z tych 2 tablic

Na pojedynczym query chodzi ale jak sa 2 to juz nie
Go to the top of the page
+Quote Post
Majdan
post
Post #6





Grupa: Zarejestrowani
Postów: 445
Pomógł: 0
Dołączył: 21.12.2003
Skąd: Tomaszów Lubelski

Ostrzeżenie: (10%)
X----


[php:1:e52e60ad32]<?php
$query1 = "DELETE * FROM $co WHERE id='$id'";
$query2 = "DELETE * FROM $co1 WHERE news_id='$id'";
if (!$wynik1 = mysql_query($query1)) echo mysql_errno($link) . ": " . mysql_error($link). "n";
if(!$wynik2 = mysql_query($query2)) echo mysql_errno($link) . ": " . mysql_error($link). "n";
?>[/php:1:e52e60ad32]
Sprawdź co Ci teraz wyświetli.

EDIT: W miejsce '$link' wstaw identyfikator połączenia z bazą.


--------------------
Go to the top of the page
+Quote Post
JOHNY
post
Post #7





Grupa: Zarejestrowani
Postów: 297
Pomógł: 0
Dołączył: 17.01.2003
Skąd: Tarnów

Ostrzeżenie: (0%)
-----


Warning: mysql_errno(): supplied argument is not a valid MySQL-Link resource in C:Apache2htdocsrc2adminnewspl.php on line 25

25 i 26 to twoje pierwsze if i 2 if
Go to the top of the page
+Quote Post
Majdan
post
Post #8





Grupa: Zarejestrowani
Postów: 445
Pomógł: 0
Dołączył: 21.12.2003
Skąd: Tomaszów Lubelski

Ostrzeżenie: (10%)
X----


Zmieniłem posta.


--------------------
Go to the top of the page
+Quote Post
JOHNY
post
Post #9





Grupa: Zarejestrowani
Postów: 297
Pomógł: 0
Dołączył: 17.01.2003
Skąd: Tarnów

Ostrzeżenie: (0%)
-----


1064: Something is wrong in your syntax obok '* FROM newspl WHERE id='16'' w linii 1 1064: Something is wrong in your syntax obok '* FROM coments WHERE news_id='16'' w linii 1
Go to the top of the page
+Quote Post
cichy
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 197
Pomógł: 0
Dołączył: 9.09.2003
Skąd: z Marsa

Ostrzeżenie: (0%)
-----


Powinno być:
[php:1:213376e838]<?php
$query1 = "DELETE FROM $co WHERE id='$id'";
$query2 = "DELETE FROM $co1 WHERE news_id='$id'";
?>[/php:1:213376e838]
bez * miedzy delete i from

Pozdro
Go to the top of the page
+Quote Post
JOHNY
post
Post #11





Grupa: Zarejestrowani
Postów: 297
Pomógł: 0
Dołączył: 17.01.2003
Skąd: Tarnów

Ostrzeżenie: (0%)
-----


Z * nie ma się co dziwić ze nie usunąłem skrypta poprawiałem do 4 rano zeby dojść do tego i nic
No teraz mi wypisuje że:
1046: Nie wybrano żadnej bazy danych 1046: Nie wybrano żadnej bazy danych

jak nie wybrano jak jest wybrane ID
Go to the top of the page
+Quote Post
Majdan
post
Post #12





Grupa: Zarejestrowani
Postów: 445
Pomógł: 0
Dołączył: 21.12.2003
Skąd: Tomaszów Lubelski

Ostrzeżenie: (10%)
X----


[php:1:e89aa6ac53]<?php
$host = "localhost";
$user = "";
$haslo = "";
$baza = "";

$co = "";
$co1 = "";
$id = "";

$id = mysql_connect($host, $user, $haslo);
if (!mysql_select_db($baza, $id)) echo mysql_errno($id) . ": " .
mysql_error($id). "n";

$query1 = "DELETE FROM " . $co . " WHERE id='" . $id . "'";
$query2 = "DELETE FROM " . $co1 . " WHERE news_id='" . $id . "'";

if (!$wynik1 = mysql_query($query1)) echo mysql_errno($id) . ": " .
mysql_error($id). "n";
if(!$wynik2 = mysql_query($query2)) echo mysql_errno($id) . ": " .
mysql_error($id). "n";
?>[/php:1:e89aa6ac53]


--------------------
Go to the top of the page
+Quote Post
JOHNY
post
Post #13





Grupa: Zarejestrowani
Postów: 297
Pomógł: 0
Dołączył: 17.01.2003
Skąd: Tarnów

Ostrzeżenie: (0%)
-----


Wielkie dzięki Majdan
trochę przemodelowałem kod teraz wygląda tak

[php:1:aa5a5c0537]<?php
function del($id, $co = "newspl", $co1 = "coments") {

$query1 = "DELETE FROM " . $co . " WHERE id='" . $id . "'";
$query2 = "DELETE FROM " . $co1 . " WHERE news_id='" . $id . "'";

if (!$wynik1 = mysql_query($query1)) echo mysql_errno($id) . ": " .
mysql_error($id). "n";
if(!$wynik2 = mysql_query($query2)) echo mysql_errno($id) . ": " .
mysql_error($id). "n";
echo '<meta http-equiv="refresh" content="0; url=index.php?pg=newspl">';
}
?>[/php:1:aa5a5c0537]

Działa jak natura chciała biggrin.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 10:36