Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql]Include - jak poprawnie?, Pytanie dotyczące poprawności tworzonego kodu
jar
post 17.06.2007, 17:28:44
Post #1





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

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


Mam bazę z którą łączę się poprzez connect_db.php, poniżej ten plik;

  1. <?php
  2. $username="root";
  3. $password="krasnal";
  4. $database="test";
  5.  
  6. mysql_connect('localhost',$username,$password);
  7. @mysql_select_db($database) or die("Nie odnaleziono bazy danych");
  8.  
  9. $query="SELECT * FROM miasta";
  10.  
  11. $result=mysql_query($query);
  12. $num=mysql_numrows($result);
  13.  
  14. ?>


Następnie w drugim pliku o nazwie view_miasta.php wyświetlam w formie tabeli np. wszystkie rekordy. Niestety nie wiem jak pozostając w zgodzie z zasadami powinienem pisać kod w kolejnych plikach. Chcę uzyskać jeszcze kilkanaście stron w oparciu o tę view_miasta.php, tzn. będzie się w niej zmieniała zawartość tylko jednego div-a nazwijmy go dla przykładu 'content'. Czyli cała strona ze swym topem, meni, foterem, itd. nie zmienia się poza contentem, gdzie chcę wyświetlać wyniki zapytań do bazy. W kodzie strony view_miasta.php znajduje się
  1. <?php
  2. include('connect_db.php');
  3. ?>
Jeśli natomiast chciałbym teraz wyświetlać miasta według pierwszej litery - czyli a-b-c-d...itd. zastosuję zamiast zapytania
  1. <?php
  2. $query="SELECT * FROM miasta";
  3. ?>
dla każdej litery:
  1. <?php
  2. $query="SELECT * FROM miasta WHERE nazwa LIKE 'a%'"; 
  3. $query="SELECT * FROM miasta WHERE nazwa LIKE 'b%'";
  4. $query="SELECT * FROM miasta WHERE nazwa LIKE 'c%'";
  5. ?>

itd.
Zatem jak to zrobić poprawnie? tworzyć pliki typu connect_db_a.php, connect_db_b.php, connect_db_c.php, itd. i 'icludować' je do diva content w pliku view_miasta.php. Czy może przy pomocy connect_db.php łączyć się z bazą a zapytania umieszczać w odrębnych plikach i te dopiero includować do pliku view_miasta.php. A może jescze inaczej?

Proszę o Wasze rady.
Pozdrawiam

Ten post edytował jar 17.06.2007, 17:41:50
Go to the top of the page
+Quote Post
jaszu
post 17.06.2007, 17:32:44
Post #2





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 20.05.2006

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


jak chcesz, ja w takim czyms bym sie poglubil i nie includowal smile.gif
Go to the top of the page
+Quote Post
fiszol
post 17.06.2007, 18:51:07
Post #3





Grupa: Zarejestrowani
Postów: 449
Pomógł: 16
Dołączył: 25.05.2004
Skąd: Gorzów Wlkp.

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


Cytat(jar @ 17.06.2007, 20:28:44 ) *
Jeśli natomiast chciałbym teraz wyświetlać miasta według pierwszej litery - czyli a-b-c-d...itd. zastosuję zamiast zapytania
  1. <?php
  2. $query="SELECT * FROM miasta";
  3. ?>
dla każdej litery:
  1. <?php
  2. $query="SELECT * FROM miasta WHERE nazwa LIKE 'a%'"; 
  3. $query="SELECT * FROM miasta WHERE nazwa LIKE 'b%'";
  4. $query="SELECT * FROM miasta WHERE nazwa LIKE 'c%'";
  5. ?>

itd.

a dlaczego nie
  1. <?
  2. $query='SELECT * FROM miasta ORDER BY nazwa';
  3. ?>
?

Ten post edytował fiszol 17.06.2007, 18:52:22


--------------------
\o/
Go to the top of the page
+Quote Post
jar
post 17.06.2007, 19:54:57
Post #4





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

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


Cytat
a dlaczego nie
Kod
$query='SELECT * FROM miasta ORDER BY nazwa';
?

Ponieważ chcę porcjować wynik tak abym otrzymywał tylko miasta na literę a,b,c... itd. Przy zapytaniu '......ORDER BY nazwa' dostanę listę wszystkich miast.
Go to the top of the page
+Quote Post
strife
post 17.06.2007, 21:41:17
Post #5





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


A od czego masz tablice ... Wpisujesz sobie do tablicy, wszystkie litery, które chcesz, a następnie tworzysz pętle w której tworzysz odnośniki do każdej z tych liter.

  1. <?php
  2. $array = array( 'a', 'b', 'c', 'd', 'e', 'f' );
  3.  
  4. foreach( $array as $v ) {
  5. echo '<a href="?literka=' . $v . '">' . $v . '</a> | ';
  6. }
  7.  
  8. $literka = $_GET['literka'];
  9. if ( in_array( $literka, $array ) ) {
  10. $query="SELECT * FROM miasta WHERE nazwa LIKE '" . $literka . "%'"; 
  11. // wyciagnie literek 
  12. echo 'Znalezione miasta zaczynajace sie na literke: ' . $literka . ': ';
  13. while( $row = mysql_fetch_array( $query ) ) {
  14. echo $row['nazwa'];
  15. }
  16. }
  17. ?>


Pisane z palca, ale mam nadzieję, że ideę już poznałeś winksmiley.jpg


--------------------
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 Wersja Lo-Fi Aktualny czas: 25.06.2025 - 18:23