Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql]Include - jak poprawnie?
Forum PHP.pl > Forum > Przedszkole
jar
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
jaszu
jak chcesz, ja w takim czyms bym sie poglubil i nie includowal smile.gif
fiszol
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. ?>
?
jar
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.
strife
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.