Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]spis miast
Forum PHP.pl > Forum > Przedszkole
skabszo
Witam mam pytanie otóż chcę w moim formularzu dodać rozwijaną listę z której user będzie mógł wybrać swoje miasto - z Polski fkors . Problem jest jednak taki że ich jest $*(^%$ dużo i chciałem się dowiedzieć jak to wykonać - otóż pierwszą metodą wg mnie ( ale najgorszą ) jest spis ręczny to znaczy samemu będę wypisać
Kod
<option value="Rabka">Rabka</option>
etc to jest strasznie pracochłonne. Więc pomyślałem sobie że może da się dorwać alfabetyczny spis - zwykły tekst - i po prostu na początku i końcu wyrazów dodać <option >....</option> jednak <myśli> nie bardzo wiem jak to zrobić bo wtedy chyba każda nazwa to by musiała być osobna zmienna prawda? czy wtedy już może byłby to ciąg? pozdrawiam
Cosi*
A po co tak kombinować? Jeżeli masz listę miast np. w pliku tekstowym, to robisz pętlę, w której pobierasz z pliku kolejne miasta, wstawiasz do zmiennej $miasto, a potem wystarczy:
  1. <?php
  2. print '<option value="' . $miasto . '">'. $miasto . '</option>';
  3. ?>

I tyle smile.gif
Pozdrawiam
skabszo
Cosi dzięki winksmiley.jpg tylko takie pytanie mam - coś takiego odkopałem :

  1. <?
  2. $plik="miasta.txt"; // plik do odczytania
  3. $start="1"; // linia startartowa (musi byc mniejsza niż $end)
  4. $end="335"; // linia końcowa (musi byc wieksza niz $start)
  5.  
  6. $array=file($plik);
  7. $linie=count($array);
  8.  
  9. if(!($end>$linie)) {
  10. while($start<=$end) {
  11.  print '<option value="'.($array[$start]).'">'.($array[$start]).'</option>';
  12.  print ("<BR />");
  13.  $start++;
  14. }
  15. } else {
  16.  echo("Plik $plik nie ma tyle lini!");
  17. }
  18.  
  19. ?>


I to chyba dobrze jest składniowo prawda? no tak czy tak mam pytanie - bo on mi to jakoś dziwnie wyświetla w źródle - tzn linia jest łamana nie tam gdzie ma :| http://wklej.org/id/a0bfd9e516 - miasta.txt - mam tez jeszcze problem z polskimi znakami wtedy;/
tsharek
ale namieszałeś z tym kodem. A gdzie źle łamie linie? wygląda na to że jest ok. Aha: wywal to
  1. <?php
  2. print ("<BR />");
  3. ?>
bo w <select> nie ma czegoś takiego jak <br />. Tak pozatym to troszkę nieoptymalny kod:
  1. <?php
  2. $file=file('miasta.txt');
  3. echo '<select name="miasteczko">';
  4. foreach($file as $f) echo '<option>'.$f.'</option>';
  5. echo '</select>';
  6. ?>
smile.gif
phpion
  1. <?php
  2. $array = file('miasta.txt');
  3. $echo = '';
  4.  
  5. foreach ($array as $city) {
  6. $city = chop($city);
  7.  
  8. $echo .= '<option value="'.$city.'">'.$city.'</option>';
  9. }
  10.  
  11. echo '<select name="cities">'.$echo.'</select>';
  12. ?>


@tsharek: aj, byłeś pierwszy smile.gif no ale Twój kod może być jeszcze lepszy poprzez wyeliminowanie nadmiernej liczby echo() smile.gif Lepiej przypisywać treść do jakiejś zmiennej i dopiero na końcu wypuścić ją na ekran.
envp
a pomyślałeś może o "autocomplete text input" ? najlepsze rozwiązanie w tej sytuacji, bo co jak ktoś pochodzi ze wsi, a jego miasta w selectcie nie bedzie? wpisze własne, jeśli będzie wpisze pierwszą litere i zwrócisz mu pule psujących wyników smile.gif
skabszo
przepraszam Was ale dopiero zaczynam z php winksmiley.jpg jak poradzić sobie z brakiem polskich liter? usiłowałem zapisywać na różne sposoby plik txt ale nie wyszło no a nie mogę po prostu wstawić mety bo się validator będzie pluł :|
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.