![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 12.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam mam problem , nie wiem jak usunąć jednocześnie dane z dwóch tabel... tabele mam skonstrułowane nastepujaco jedna polskie( id_p, slowo_p, opis_p) druga angielskie (id_a, slowo_a, opis_a) one sa ze soba połaczone w trzeciej tabeli laczaca (id_l, id_p, id_a).... i nie wiem jakiego uzyc selecta abym mogła usunąc dane z tabeli polskie i jednoczesnie dane z tabeli angielskie.... do tego mam jeszcze jeden problem....chciałabym moc zmodyfikowac jakies slowo np polskie- slowo_p takbym mogła wpisac dane wszystkie tzn zeby mogło mi wyszukac szukane slowo , ale zebym mogła zmodyfikowac dane jednoczesnie z dwoch tabel tj: slowo_p, opis_p, slowo_a, opis_a. i zeby zapisało zmiany do dwoch tabel. Nie wiem jak to rozgrysc....Bardzo prosze o pomoc
dziekuje ania[/sql] (IMG:http://forum.php.pl/style_emoticons/default/dry.gif) |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 28.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
a co masz dane?
tzn. na podstawie jakich wartości chcesz usunąć dane? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 12.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
chciałabym wyczyscic tabelki
tabelki sa takie: 1. POLSKIE id_p klucz slowo_p opis_p 2.ANGIELSKIE id_p klucz slowo_a opis_a 3.LACZONA id_l id_p id_a ma to byc słownik i chciałabym abym po wybraniu jakiegos slowa np. z tabelki polskie usunał mi go takze w tabelce angielskie...bo dodawanie słowa jest takie ze wpisuje slowo_polskie, opis_polski, slowo_angielskie, opis_angielski... czyli dodaje mi do dwoch tabel..teraz chce aby po wybraniu jakiegos slowa np z tabelki polskie usunał go takze w tabelce angielskie...mam taki sam problem ze zmodyfikowaniem (edycja) jakiegos slowa....czyli wyszukanie i zmodyfikowanie do dwoch tabel. Mam nadzieje ze jakos ułatwiłam zadanie |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Załóżmy, że chcesz usunąć z tabeli polskie wiersz o id równym 5. Rozumiem, że ma usunąć z tabeli angielskie taki sam wiersz, ale nie koniecznie o takim samym id? Jeśli tak to robisz to w następujący sposób:
Co do modyfikacji nie do końca rozumiem o ci Ci chodzi. Jeśli być to jaśniej napisała, wówczas coś by się wymyśliło (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) edit Pisaliśmy w tym samym momencie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Modyfikację robisz tak samo:
Ten post edytował batman 28.12.2006, 11:57:17 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 12.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
id sa takie same po to stworzyłam tabelke łaczaca.... naprzykład wyszukuje slowo np. kot i posiadam cos takiego:
slowo_p - kot, opis- przyjaciel domu slowo_a- cat, opis_a- jakies tam.... i jak wchodze do słownika pol-ang wyszukam kot to chce go usunac z tabel polskie i angielskie jednoczenie.. tak samo chciałabym z modyfikowaniem .... robie to w mysql-u i w php napisałam takze wyrazenie ktore bedzie sprawdzało czy podano argumenty wyszukiwania dziekuje za pomoc .....ide dalej myslec |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Jeśli id jest takie identyczne w obu tabelach, to możesz usunąć tabelę łączącą i wstawić id_p do tabeli angielskie jako klucz obcy ustawiony na casacade. Wówczas podczas usuwania z jednej tabeli, dane będą usuwane z drugiej. Modyfikacja jednak będzie musiała odbywać się w dwóch zapytaniach.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 28.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
no to ja bym zrobił coś takiego:
np.: mamy dane polskie słowo i chcemy żeby usunął je ze słownika 1) wyszukaj w tabeli polskich słów to słowo które chcesz usunąć i pobierz jego id_p (można olać ten krok jeśli id_p już mamy) 2) wywal to słowo z polskiej tabeli 3) pobierz id_a z jakimi słowami łączy się id_p i też je wywal z tabeli łączącej 4) wywal z tabeli angielskiej te słowa których id_a pobrałaś w 4 kroku nie chce mi się tego na php pisać teraz, ale to chyba już nie będzie taki problem // EDIT: w sposobie batmana brakuje usuwania danych z tabeli łączącej Ten post edytował Moriturius 28.12.2006, 12:10:29 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 12.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
jak stworzyc zapytanie selecta ktory wyszuka mi jakies slowo z tabeli polskie , ale jednoczesnie wyszuka mi go w angielskich wraz z opisami czyli bede miała pełny opis slowo_p, opis_p, slowo_a, opis_a
|
|
|
![]()
Post
#9
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 12.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
<?php
$wyrazenie=$HTTP_POST_VARS['wyrazenie']; $wyrazenie = trim($wyrazenie); if (!$wyrazenie) { echo 'Brak parametrow wyszukiwania.'; exit; } $wyrazenie = addslashes($wyrazenie); @ $db = mysql_connect('localhost', 'anna', 'anna'); if (!$db) { echo 'Blad: Polaczenie z baza danych nie powiodlo sie. Sprobuj jeszcze raz..'; exit; } mysql_select_db('polang'); //$zapytanie = "select P.slowo_p, A.slowo_a, P.opis_p, A.opis_a from P.polskie, A.angielskie, L.laczona where L.id_p=L.id_a like '$wyrazenie'"; $zapytanie ="" $wynik = mysql_query($zapytanie); $ile_znalezionych = mysql_num_rows($wynik); if($ile_znalezionych==0) { echo " Przykro mi, nie znaleziono żadnego słowa: $wyrazenie<br/>"; } else { echo '<p>Ilość znalezionych pozycji: '.$ile_znalezionych.'</p>'; for ($i=0; $i <$ile_znalezionych; $i++) { $wiersz = mysql_fetch_array($wynik); echo '<p> ߐ Słowo polskie: '; echo stripslashes($wiersz['slowo_p']); echo '<strong> | Slowo angielskie: '; echo stripslashes($wiersz['slowo_a']); echo '</strong> | Opis polski: '; echo stripslashes($wiersz['opis_p']); echo '</strong> | Opis angielski: '; echo stripslashes($wiersz['opis_s']); echo '</p>'; } } ?> <h3>Usuwanie rekordu z bazy</h3> <form action="usun_polskie.php" method="post"> <table border="0"> <TR><TD>ID:</TD><td><input type="text" name="id_p" maxlength="5" size="5"><br/></td></TR> <TR><TD colspan="2"><input type="submit" value="USUN"></TD></TR> </table> </form> </body> </html> załaczam kod jaki musze zmodyfikowac i nie wiem jaki wpisac select do wyszukanie danego slowa z tabel a tutaj mam kod do modyfikowania <b>****Modyfikuj polskie slowo****</b> <h2 style="border-bottom-style : ridge;">Rezultaty wyszukiwania</h2> <?php $wyrazenie=$HTTP_POST_VARS['wyrazenie']; $wyrazenie = trim($wyrazenie); if (!$wyrazenie) { echo 'Brak parametrów wyszukiwania.'; exit; } $wyrazenie = addslashes($wyrazenie); @ $db = mysql_connect('localhost', 'anna', 'anna'); if (!$db) { echo 'Blad: Polaczenie z baza danych nie powiodlo sie. Sprobuj jeszcze raz.'; exit; } mysql_select_db('polang'); //$zapytanie = "select P.slowo_p, A.slowo_a ,P.opis_p, A.opis_a from P.polskie, A.angielskie, where P.idp=A.idp '$wyrazenie'"; $zapytanie = "select * from P.polskie join A.angielskie on P.slowo_p=A.slowo_a like '$wyrazenie'"; $wynik = mysql_query($zapytanie); $ile_znalezionych = mysql_num_rows($wynik); if($ile_znalezionych==0) { echo "Nie znaleziono żadnego słowa: $wyrazenie<br/>"; exit(); } else { echo '<p>Ilość znalezionych pozycji: '.$ile_znalezionych.'</p>'; for ($i=0; $i <$ile_znalezionych; $i++) { $wiersz = mysql_fetch_array($wynik); echo '<p> »<b> Slowo polskie: </b>'; echo stripslashes($wiersz['slowo_p']); $slowo_p=stripslashes($wiersz['slowo_p']); echo '<strong > | Slowo angielskie: '; echo stripslashes($wiersz['slowo_a']); $slowo_a=stripslashes($wiersz['slowo_a']); echo '</strong> | <b>Opis polski: </b>'; echo stripslashes($wiersz['opis_p']); $opis_p=stripslashes($wiersz['opis_p']); echo '</strong> | <b>Opis angielski: </b>'; echo stripslashes($wiersz['opis_a']); $opis_a=stripslashes($wiersz['opis_a']); echo '<br/>'; echo "<a href='wybor_pol_mod.php?slowo_p=$slowo_p&slowo_a=$slowo_a&opis_p=$opis_p&opis_a=$opis_a'>Edycja</a>"; echo '</p>'; } } ?> <h3>Modyfikacja rekordu w bazie</h3> <form action="insert_polang.php" method="post"> <table border="0"> <TR><TD>ID:</TD><td><input type="text" name="id" maxlength="5" size="5"><br/></td><td></td></TR> <TR><TD>SŁOWO POLSKIE:</TD><td><input type="text" name="slowo_p" maxlength="50" size="50"><br/></td></TR> <TR><TD>SŁOWO ANGIELSKIE:</TD><td><input type="text" name="slowo_a" maxlength="50" size="50"><br/></td></TR> <TR><TD>OPIS POLSKI:</TD><td><input type="text" name="opis_p" maxlength="50" size="50"><br/></td></TR> <TR><TD>OPIS ANGIELSKI:</TD><td><input type="text" name="opis_a" maxlength="50" size="50"><br/></td></TR> <TR><TD colspan="2"><input type="submit" value="MODYFIKUJ"></TD></TR> </table> Ten post edytował Tygryska 28.12.2006, 12:19:15 |
|
|
![]()
Post
#11
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 12.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
dzieki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) )))))))))))))))))))))))))))))))
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 04:41 |