Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]jezyk
Forum PHP.pl > Forum > Przedszkole
noc_nik
Witam

Mam w bazie 2 jezyki

  1. id tytul opis slowakluczowe autor email klient lang
  2. 2 Nazwa strony PL | Opis strony PL | Slowa kluczowe PL autor email test pl
  3. 3 Nazwa strony EN | Opis strony EN | Slowa kluczowe EN autor email test en
  4.  


  1. $sql = "SELECT * FROM meta WHERE klient='test' and lang='".$lang."'" ;
  2.  
  3. $wynik = mysql_query($sql);
  4. while($row = mysql_fetch_array($wynik)){
  5.  
  6. if (count($sql) == 1) {
  7.  
  8. $meta = array(
  9. 'slowakluczowe' => strip_tags($row['slowakluczowe']),
  10. 'tytul' => strip_tags($row['tytul']),
  11. 'opis' => strip_tags($row['opis']),
  12. 'autor' => strip_tags($row['autor']),
  13. 'email' => strip_tags($row['email'])
  14. );
  15.  
  16. $smarty->assign("meta",$meta);
  17. $smarty->display("meta.tpl");
  18. }
  19.  
  20. if (count($sql) == 0) {
  21.  
  22. echo 'wynik : '.$row['lang'];
  23. }
  24. }
  25.  



i wybieram sobie np :

?lang=pl czy ?lang=en wyswietli mi sie zawartosc bazy dla tych wynikow , ale jesli nie mam w bazie np lang=DE to nie wyswietli nic nie da mi wynik 0 :/ jak to poprawic ?.

Z gory Dziekuje za odpowiedzi.
Larges
Tak z ciekawości...
czemu służy ta linijka? ;]

Kod
if (count($sql) == 1) {


Za pomocą count() zliczaj ilość wierszy otrzymanych w wyniku zapytania.
Jeśli jest inna liczba od 0 - jest wynik, jeśli 0 - pustka

  1. if($ile_wierszy = mysql_num_rows($sql) > 0)
  2. {
  3. //są dane
  4. } else {
  5. //brak danych i wtedy coś przesyłam.
  6. }


Nie wiem jak mozna zliczać zapytanie SQL, tak jak Ty to robisz winksmiley.jpg
Kod
if (count($sql) == 1) {
noc_nik
Hmm , czegos tu nie lapie :/

  1. $ile_wierszy = mysql_num_rows($wynik);
  2. echo 'wynik : '.$ile_wierszy;


co to zmienia jesli wpisu w bazie np DE nie bedzie , a jesli sa EN i PL wynik bedzie 1 tak jak sobie wybieramy np ?lang=pl , a jak sobie wpiszesz ?lang=de ktorego wpisu nie ma wcale w bazie to nie zwraca 0 ?. Ja chce sprawdzic czy istnieje DE w bazie a nie czy kolumna lang jest pusta.
Synapsa
Przecież w zapytaniu jest WHERE lang = jakiś_tam_język, więc jeśli wybierzesz DE i zaczniesz liczyć rekordy to wyjdzie 0 bo w bazie nie masz rekordu z langiem DE
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.