Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql]Zwis przy odczycie z bazy.
Forum PHP.pl > Forum > Przedszkole
kopek
oto fragment skryptu z pliku show_usr.php realizującego odczyt danych z bazy:

  1. <?php
  2.  @ $db = mysql_connect('localhost','kopek','*********');
  3.  if (!$db){
  4.  echo 'Buuu.';
  5.  exit;
  6.  }
  7.  mysql_select_db('projekt');
  8.  
  9.  $query = "SELECT * FROM Pracownicy";
  10.  $exec = mysql_query($query);
  11.  $ile = mysql_num_rows($exec);
  12.  
  13.  echo 'Ilość użytkowników w bazie: '.$ile.'';
  14.  
  15.  ?>
  16.  <table border=1><tr><td>Nr.</td><td>Imię</td><td>Nazwisko</td><td>Adres</td><td>Miasto</td><td>Płeć</td></tr>
  17.  <?
  18.  for ($i=0; $i<$ile; $i++)
  19.  {
  20.  $wiersz = mysql_fetch_array($exec);
  21.  echo ("<tr><td>".$wiersz[id_prac]."</td>");
  22.  echo ("<td>".$wiersz[imie]."</td>");
  23.  echo ("<td>".$wiersz[nazwisko]."</td>");
  24.  echo ("<td>".$wiersz[adres]."</td>");
  25.  echo ("<td>".$wiersz[miasto]."</td>");
  26.  echo ("<td>".$wiersz[plec]."</td></tr>");
  27.  }
  28.  ?>


Jeżeli w tebeli Pracownicy jest czterech użytkowników plik show_usr.php działa bez problemu, natomiast jeżeli dodam piątego w momencie odpalenia pliku show_usr.php następuje zwis przeglądarki. Proszę o jakąś poradę co może być tego przyczyną?
Maciekbjw
Tak na szybko to spróbuj zrobić coś z linijką:

  1. <?php
  2. for ($i=0; $i<$ile; $i++)
  3. ?>



Ja bym dał $i<= $ile;

a najlepiej zastosuj funkcję mysql_fetch_array($zapytanie); i wyświetlaj to na while, wtedy będzie działać na pewno.
kopek
użycie <= zamiast < nie zdało egzaminu po czym zrobiłem tak:

  1. <?
  2. while($wiersz=mysql_fetch_array($exec))
  3. {
  4. echo ("<tr><td>".$wiersz[id_prac]."</td>");
  5. echo ("<td>".$wiersz[imie]."</td>");
  6. echo ("<td>".$wiersz[nazwisko]."</td>");
  7. echo ("<td>".$wiersz[adres]."</td>");
  8. echo ("<td>".$wiersz[miasto]."</td>");
  9. echo ("<td>".$wiersz[plec]."</td></tr>");
  10. }
  11. ?>


Niestety efekt jest nadal ten sam, przy 4 użytkownikach w bazie wyświetla poprawnie jak tylko dodam piątego zwis. sciana.gif
Maciekbjw
  1. <?php
  2. $query = "SELECT * FROM Pracownicy";
  3. ?>


Ciekawy problem, spróbuj tutaj pokombinować, daj np LIMIT 5 do zapytania...
kopek
Na bieżąco sprawdzam wszystkie te sugestie niestety nadal jestem w punkcie wyjścia, bez zmian. Dodanie opcji LIMIT niczego nie zmieniło.

Jeżeli wezmę w komentarz linie odpowiedzialne za kreślenie tabelki wraz z zawartością to mając 10 użytkowników w bazie funkcja $ile przyjmie wartość 10. Jak widać problem jest z wyświetleniem "takiej ilości" danych.

Nowe wieści są takie, że zwis występuje tylko w FireFoxie, w przypadku IE wyświetla tylko 4 użytkowników bez względu na to ilu ich jest w tabeli.
potreb
  1. <?php
  2. $db = mysql_connect('localhost','kopek','*********');
  3. ?>


I przy okazji sprawdź tabele Pracownicy
kopek
tabela pracownicy wygląda tak:


nie wiem co miałoby być w niej nie tak?
potreb
  1. <?php
  2. while ($wiersz = mysql_fetch_array($exec)) {
  3.  echo ("<tr><td>".$wiersz[id_prac]."</td>");
  4.  echo ("<td>".$wiersz[imie]."</td>");
  5.  echo ("<td>".$wiersz[nazwisko]."</td>");
  6.  echo ("<td>".$wiersz[adres]."</td>");
  7.  echo ("<td>".$wiersz[miasto]."</td>");
  8.  echo ("<td>".$wiersz[plec]."</td></tr>");
  9.  }
  10. ?>
kopek
Bez zmian. worriedsmiley.gif
potreb
Heh, tylko dla tej tabeli się zawiesza? Może jakaś zmienna gryzie się z twoim kodem albo baza się coś rypneła. Testowałem u siebie na localu i wszystko ładnie chodzi. Posprawdzaj na jakichś serwach innych.
kopek
Tak tylko na tej tabeli się zawiesza bo to jedyna tabela jaka jest w bazie. Testuje ją lokalnie.
potreb
To sprawdź jakiś inny przykład, stwórz inną tabelę. Może local ci się walnął. Jakiego locala masz? Spróbuj testy zrobić na innym serwie, daje 90% że to local.
kopek
Faktycznie się local wysypał. Teraz zainstalowałem krasnala i wszystko śmiga. Jednakże dzięki za próby pomocy dla wszystkich.
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.