Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] "słowo" w formularzu
Forum PHP.pl > Forum > Przedszkole
em-ba
Witam, nie wiem jak mam rozwiązać taki problem.. smile.gif
Pobieram do tabeli różne dane. Jednym z pól tabeli jest adres. Na adres składa się nazwa ulicy, numer budynku i numer lokalu..

Chciałbym aby między nr.bud. a nr.lok. myświetlał się napis "lok.", przykładowo..
Wolności 321 lok. 12

Mógłbym w kodzie wpisać na sztywno "lok." między nr.bud. a nr.lok. ale teraz jest taki problem, że nie każdy budynek posiada nr.lok. smile.gif i wówczas głupio będzie wyglądało coś takiego:
Wolności 321 lok.

Nie wiem jak to rozwiązać, będę wdzięczny za każdą pomoc smile.gif

Oto kod:
  1. <?php
  2. mysql_connect ('localhost', 'root', 'krasnal') or die ("nie udało sie połączyć");
  3. mysql_select_db('style') or die ("Nie mozna zlokalizowac bazy danych");
  4.  
  5. $tok = mysql_query ("SELECT * FROM `kortc` WHERE login='$login'");
  6. $kot = mysql_fetch_array($tok);
  7.  
  8. '<table class="t">
  9.  <tr>
  10. <th class="t">adres</th>
  11.  </tr>
  12.  <tr>
  13. <td class="t">'.$kot['ulica'].' '.$kot['nr_bud'].' '.$kot['nr_lok'].'</td>
  14.  </tr>
  15.  </table>';
  16.  
  17. ?>
piotrooo89
pisane z palca może nie działać ale ja bym popróbował w tym kierunku:
  1. <?php
  2. '<table class="t">
  3.  <tr>
  4. <th class="t">adres</th>
  5.  </tr>
  6.  <tr>';
  7. if ($kot['nr_lok']==" ")
  8. {
  9. echo '<td class="t">'.$kot['ulica'].' '.$kot['nr_bud'].'</td>';
  10. } 
  11. else
  12. {
  13. echo '<td class="t">'.$kot['ulica'].' '.$kot['nr_bud'].' lok. '.$kot['nr_lok'].'</td>';
  14. }
  15. echo '</tr>
  16. </table>';
  17. ?>
sniezny_wilk
Cytat(piotrooo89 @ 5.06.2008, 14:43:44 ) *
pisane z palca może nie działać ale ja bym popróbował w tym kierunku:
  1. <?php
  2. '<table class="t">
  3.  <tr>
  4. <th class="t">adres</th>
  5.  </tr>
  6.  <tr>';
  7. if ($kot['nr_lok']==" ")
  8. {
  9. echo '<td class="t">'.$kot['ulica'].' '.$kot['nr_bud'].'</td>';
  10. } 
  11. else
  12. {
  13. echo '<td class="t">'.$kot['ulica'].' '.$kot['nr_bud'].' lok. '.$kot['nr_lok'].'</td>';
  14. }
  15. echo '</tr>
  16. </table>';
  17. ?>


Trochę to kulawe, lepiej dać

  1. <?php
  2. if(empty($kot['nr_lok'])){
  3. }
  4. ?>
piotrooo89
nie pomyślałem o empty, dzieki sniezny_wilk
JoShiMa
Albo tak:

  1. <?php
  2. if(!empty($kot['nr_lok'])) $kot['nr_lok'] = "lok. ".$kot['nr_lok'];
  3. ?>
em-ba
nie działa..
wpisałem wpierw tak:
  1. <?php
  2. mysql_connect ('localhost', 'root', 'krasnal') or die ("nie udało sie połączyć");
  3. mysql_select_db('style') or die ("Nie mozna zlokalizowac bazy danych");
  4.  
  5. $tok = mysql_query ("SELECT * FROM `kortc` WHERE login='$login'");
  6. $kot = mysql_fetch_array($tok);
  7.  
  8.  
  9. '<table class="t">
  10.  <tr>
  11. <th class="t">adres</th>
  12.  </tr>
  13.  <tr>';
  14. if(empty($kot['nr_lok']));
  15. {
  16. echo '<td class="t">'.$kot['ulica'].' '.$kot['nr_bud'].'</td>';
  17. } 
  18. else
  19. {
  20. echo '<td class="t">'.$kot['ulica'].' '.$kot['nr_bud'].' lok. '.$kot['nr_lok'].'</td>';
  21. }
  22. echo '</tr>
  23. </table>';
  24. ?>

parse error odnosi się do linijki z else.. T_ELSE

później spróbowałem tym sposobem: //też nie działa

  1. echo
  2. '<table class="t">
  3.  <tr>
  4. <th class="t">adres</th>
  5.  </tr>
  6.  <tr>
  7. <td class="t">'.$kot['ulica'].' '.$kot['nr_bud'].'
  8.  
  9. <?php
  10. if(!empty($kot['nr_lok'])) $kot['nr_lok'] = "lok. "$kot['nr_lok'];
  11. ?>
  12.  
  13. '.$kot['nr_lok'].'<br>';
  14.  
  15.  </tr>
  16.  </table>';

tutaj parse error wyskakuje odnośnie lini z if'em i tyczy się T_STRING ' " ;
sniezny_wilk
W drugim źle przepisałeś przykład który podała Tobie JoShiMa, przepisz dokładnie, zgubiłeś kropkę.

  1. <?php
  2. if(!empty($kot['nr_lok'])) $kot['nr_lok'] = "lok. ".$kot['nr_lok'];
  3. ?>


Jeśli chodzi o pierwszy to skasuj ten średnik po ifie to też będzie działać.
em-ba
fakt.. tylko niestety to nic nie pomogło
Wpisywałem już z tą kropką i bez ..na różne kombinację winksmiley.jpg ..i zawsze ten sam błąd :/
help_mee
a tak spróbuj:
//robisz błędy wstawiasz znacznik <?php w środku skryptu?
  1. <?php
  2. print "<table class=\"t\"><tr><th class=\"t\">adres</th></tr><tr><td class=\"t\">".$kot['ulica']." ".$kot['nr_bud']." " ;
  3. if(!empty($kot['nr_lok'])) {
  4. $kot['nr_lok'] = "lok. ".$kot['nr_lok'];
  5. }
  6. print " ".$kot['nr_lok']."<br></tr></table>";
  7.  ?>
sniezny_wilk
Obydwa przykłady poprawione powinny działać, oczywiście jak w tym jednym usuniesz znaczniki <?php które są w środku echo.
em-ba
już działa..

śnieżny wilku miałes rację z tym ";" za ifem

DZIĘKI
JoShiMa
No bo jak możesz dawać znaczniki <? ?> oraz warunek na if w środku instrukcji echo? Powinieneś wypluć naipierw to co przed ifem, potem zrobić if a potem nową instrukcję echo za ifem.
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.