Post
#1
|
|
|
Grupa: Postów: 0 Pomógł: Dołączył: -- Ostrzeżenie: (0%)
|
Mam 2 tabele:
1. Auta (auto_id, auto_marka_id) 2. Marka (marka_id, marka_nazwa) Funkcja edit _auta wyświetla mi poprawnie formularz z id i nazwa marki samochodu, które mogę edytować. jednak gdy kliknę w przycisk akceptuj - (wywolywana jest funkcja post_edit_auta) nie updatuje mi danych ------------------------ ta część działa dobrze: [php:1:1689619966]<?php function edit_auta($auto_id) { echo '<h3><p align="center">Edytuj auto</p></h3>'; $r = mysql_query("SELECT auto_id , marka_nazwa FROM auta, marka WHERE marka.marka_id=auto_marka_id and auta.auto_id = $auto_id") or die("error: auta.php - edit_auta"); $a = mysql_fetch_array($r); echo '<form action="auta.php" method="get">'; echo '<input type="hidden" name="action" value="post_edit">'; echo '<input type="hidden" name="auto_id" value="'.$a["auto_id"].'">'; echo '<table width="320" align="center">'; echo '<tr>'; echo '<td width="60">Marka</td>'; echo '<td width="260"><input type="text" name="marka_nazwa" value="'.$a["marka_nazwa"].'" class="big"></td>'; echo '</tr>'; ?>[/php:1:1689619966] tutaj jest gdzieś błąd: [php:1:1689619966]<?php function post_edit_auta($auto_id) { mysql_query("update auta set auto_id=$auto_id, auto_marka_id = '$auto_marka_id' where marka.marka_id=$auto_id") or die("error: osoby.php - post_edit_player"); return 1; } echo '</table>'; echo '<p align="center"><input type="submit" value="Akceptuj"></p>'; echo '</form>'; echo '<p align="center"><a href="index.php?aaction=auta">Powrót do listy aut</a></p>'; } ?>[/php:1:1689619966] Prosiłbym o pomoc bo nie bardzo wiem jak formułować zapytania jeśli dotyczą 2 róznych powiązanych ze sobą tabel. Poprawione by hwao |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 2.02.2004 Ostrzeżenie: (0%)
|
To już chyba rozumiem, o co Ci chodzi. W takim razie funkcję edit_auta zrób tak:
[php:1:694cc8fbb3]<?php // funkcja edit_auta po kliknięciu w link "edytuj" wyświetla formularz //do edycji marki samochodu (zmienna marka_nazwa) function edit_auta($auto_id) { // w zapytaniu pobieżemy również auto_marka_id $r = mysql_query("SELECT auto_id , marka_nazwa, auto_marka_id FROM auta, marka WHERE marka_id=auto_marka_id and auto_id = $auto_id") or die("error: auta.php - edit_auta"); $a = mysql_fetch_array($r); echo '<form action="auta.php" method="get">'; echo '<input type="hidden" name="action" value="post_edit">'; echo '<input type="hidden" name="auto_id" value="'.$a["auto_id"].'">'; echo '<td width="60">Marka</td>'; // tutaj dodamy select ze wszystkimi markami z tabeli marka echo '<td width="260"><select name="auto_marka_id">'; $r2 = mysql_query("SELECT * FROM marka") or die("error: auta.php - edit_auta"); while($a2 = mysql_fetch_array($r2)) { if($a2['marka_id']==$a1['auto_marka_id']) // tutaj sprawdzamy, czy dana marka w selekcie jest aktualnie przypisana do danego auta marka i jesli tak, to ta pozycja będzie domyślnie zaznaczona { echo '<option value="'.$a2['marka_id'].'" checked>'.a2['marka_nazwa'].'</option>'; } else { echo '<option value="'.$a2['marka_id'].'">'.a2['marka_nazwa'].'</option>'; } } echo '</select></td></tr>'; echo '<p align="center"><input type="submit" value="Akceptuj"></p>'; echo '</form>'; } ?>[/php:1:694cc8fbb3] 1. Dodałem tu listę rozwijalną, ze wszystkimi markami (domyślnie wybrana jest aktualna marka). 2. Chociaż na liście pokazuje się nazwa marki, to formularz przesyła dalej id_marki, więc update, który napisałeś powinien teraz już działać. |
|
|
|
Anonymous problem z update przy dwóch tabelach 19.05.2004, 11:24:09
hwao BBcode prosze uzywac... na przyszlosc
I podaj jaki... 19.05.2004, 11:25:16
ToPeR Taka sugestia:
nawałęś funkcję: POST_edit_auta a u... 19.05.2004, 12:55:47
cboot update auta set auto_id=$auto_id, auto_marka_id = ... 19.05.2004, 23:52:02
Anonymous Co po update?? 20.05.2004, 06:36:13
cboot Po usunięciu błędów to zapytanie wygląda tak:
UPDA... 22.05.2004, 00:53:00
Anonymous update 23.05.2004, 20:25:41
cboot No więc jak chcesz zmienić tylko pole auto_marka_i... 24.05.2004, 01:51:58
Anonymous problem z update 24.05.2004, 07:06:14
cboot Nie działa dlatego, że w formularzu przekazujesz z... 24.05.2004, 15:34:55
szpula No to nie rozumiem jak mam to zrobić. :cry:
Zapy... 24.05.2004, 16:45:23
szpula czy ktoś może mi powiedzieć jak mam rozwiązać ten ... 24.05.2004, 20:59:37
Anonymous dzieki bardzo! sprawdze to po 16ej bo teraz jestem... 25.05.2004, 06:23:10
Anonymous Wyświtla mi pharse error w tej lini:
echo '<op... 25.05.2004, 07:01:58
szpula nie było $ przy zmiennej:) 25.05.2004, 09:44:44
szpula nie było dolara przy zmiennej 25.05.2004, 10:08:33
scanner I do tego potrzebne było zakładanie nowego wątku?
... 25.05.2004, 10:10:28 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 21:12 |