Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] Jak połączyć zapytania
jar
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 6.06.2007

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


Witam
Na podstawie lektury forum zrobiłem prostą bazę z dwoma tabelami. Aby dodawać do tabeli nowe rekordy zrobiłem formularz o nazwie form_dodaj_miasto.php wykorzystujący
Kod
form action="dodaj_miasto.php" method="post"

a tu pliczek dodaj_miasto.php
  1. <?php
  2. $polacz = mysql_connect('localhost', 'root', 'krasnal');
  3. $wybierz = mysql_select_db('hot');
  4.  
  5. $_POST['miasto_id'] = $miasto_id;
  6. $_POST['woj_id'] = $woj_id;
  7. $_POST['nazwa'] = $nazwa;
  8. $_POST['uwagi'] = $uwagi;
  9.  
  10. $zapytanie = "INSERT INTO miasta (miasto_id, woj_id, nazwa, uwagi)
  11. VALUES ('$miasto_id', '$woj_id', '$nazwa', '$uwagi')";
  12. $wynik=mysql_query($zapytanie);
  13. ?>

Dodawanie rokordów działa ale po dodaniu nowego rekordu poprzez submit wyświetlana jest w oknie przeglądarki "czysta strona", chciałbym aby po dodaniu rekordu wyświetliła się strona z zawartością ostatnich np. 20 rekordów. Zrobiłem więc pliczek view_miasta.php :
  1. include('inc_krasnal.php');
  2.  
  3. echo '<p><h2>Oto lista rekordów w tabeli:</h2></p>';
  4. ?>
  5. <table width="781" height="46" border="1" class"table_decoration">
  6. <tr>
  7. <td width="8"><div align="center">Id miasta</div></td>
  8. <td width="5"><div align="center">Id województwa</div></td>
  9. <td width="60"><div align="center">Miasto</div></td>
  10. <td width="92"><div align="center">Uwagi</div></td>
  11.  
  12. </tr>
  13. <tr>
  14.  
  15. <?php
  16.  
  17. if ( !$result ) echo 'Nie udało się wykonać zapytania';
  18. while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
  19.  
  20. {
  21. echo '<tr><td>' . $row['miasto_id'] . '</td>';
  22. echo '<td>' . $row['woj_id'] . '</td>';
  23. echo '<td>' . $row['nazwa'] . '</td>';
  24.  
  25. }

W "ncludowanym" pliku przy pomocy "LIMIT" ustawiam sobie ilość wyświetlanych rekordów. Jednak tu też mam problem bo chcąc wyświetlić np ostatnich 20 rekordów z tabeli zawierającej 50, wyświetla mi w tabelce tak:
50
49
48 itd. a chciałbym żebym miał wynik w postaci:
...
48
49
50
Nie wiem jak to zrobić.
Nie wiem też jak połączyć form_dodaj_miasto.php z view_miasta.php, abym po dodaniu submitem nowego rekordu otrzymywał nie czystą stronę a tę view_miasta.php.
Mam nadzieję że komuś z forumowiczów będzie się chciało dobrnąć do końca tego posta i udzielić odpowiedzi.
Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
jar
post
Post #2





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 6.06.2007

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


Dzięki za odpowiedzi, 'Location: view_miasta.php' oczywiście działa tak jak należy.
Co do wyświetlania rekordów:
Cytat
BTW. Miasta dodajesz Ty czy uzytkownicy? Bo jesli uzytkownicy, zalecilbym latanie dziur

Miasta dodaję ja, uytkownicy nie mają takiej możliwości. Wasze sugestie dotyczące sposobu na wyświetlanie ostatnich rekordów też są ok, ale w przypadku gdy tabela 'miasta' miałaby stałą ilość rekordów np. 50. Faktycznie wyświetlam tak jak chcę przy użyciu np. ASC LIMIT. Jednak chciałbym mieć możliwość takiego wyświetlania przy założeniu że ilość rekordów w tej tabeli jest zmienna. Czyli dziś ma 50 rekordów, jutro 80, a za dwa dni np. 100. Jeśli dobrze zrozumiałem to przy proponowanych przykładach (ASC LIMIT 30) uzyskam przy tabeli zawierającej 100 rekordów wyświetlanie 70 rekordów. Fajnie byłoby gdybym nie musiał co kilka dni ingerować w kod dla uzyskania ostatnich 20 czy 30 rekordów wyświetlonych na zasadzie:
....
97
98
99
Jeszcze raz dzięki za poświęcony czas.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 5.10.2025 - 01:46