Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] mysql_num_rows - błąd
BugsBunny
post
Post #1





Grupa: Zarejestrowani
Postów: 206
Pomógł: 4
Dołączył: 2.04.2005

Ostrzeżenie: (0%)
-----


Kod ten miałem napisany w innej aplikacji i przeniosłem ją teraz do nowej. Efekt - NIE DZIAŁA
Kod
mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\usr\krasnal\www\homepage\dvd\index.php on line 43


a oto kod
  1. <?php
  2.  
  3.  
  4. function pobierz($co)
  5. {
  6. include ('dane.inc');
  7. $dblink = @mysql_connect($host,$user,$pass);
  8.  if (empty($dblink))
  9.  { echo "błąd przy podłączaniu do bazy dancyh";
  10.  }
  11.  if (mysql_select_db($db,$dblink) !== TRUE)
  12. { echo "błądz przy wybieraniu bazy danych";
  13. }
  14.  
  15. $zwroc = mysql_query($co,$dblink);
  16.  
  17. if ($wynik == TRUE)
  18. {echo "pobranie nie zawiera danych";  
  19. }
  20.  
  21. return $zwroc;
  22.  
  23. }
  24.  
  25.  
  26.  
  27.  $wynik = pobierz("SELECT * FROM `dvd` SORT BY `tytul`");
  28. for ($i = 0; $i < mysql_num_rows($wynik); $i++)  // TUTAJ POKAZUJE BŁĄD
  29.  {
  30.  $wiersze = mysql_fetch_array($wynik);  
  31.  
  32.  $film[$i] = new film($wiersze['id'],
  33. $wiersze['tytul'],
  34. $wiersze['dzwiek'],
  35. $wiersze['stan'],
  36. $wiersze['kto'],
  37. $wiersze['kiedy']);
  38.  }
  39.  
  40. ?>


Co tutaj może nie grać (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Ten post edytował BugsBunny 7.04.2006, 17:56:56
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




daj tak i zobacz co ci wyswietla:
  1. <?php
  2. $zwroc = mysql_query($co,$dblink) or die(mysql_error());
  3.  
  4. ?>
Go to the top of the page
+Quote Post
BugsBunny
post
Post #3





Grupa: Zarejestrowani
Postów: 206
Pomógł: 4
Dołączył: 2.04.2005

Ostrzeżenie: (0%)
-----


Kod
Something is wrong in your syntax obok 'BY `tytul`' w linii 1

takie coś mi wyskoczyło , czyli bład tkwi gdzieś w moim zapytaniu a nie w skladni albo błędach logicznych. Poszukam

Ten post edytował BugsBunny 7.04.2006, 19:17:48
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




w mysql tak sie robi sortowanie: order by
  1. SELECT *
  2. FROM `dvd`
  3. ORDER BY `tytul`
Go to the top of the page
+Quote Post
BugsBunny
post
Post #5





Grupa: Zarejestrowani
Postów: 206
Pomógł: 4
Dołączył: 2.04.2005

Ostrzeżenie: (0%)
-----


NO z tym się juz uporałem tylko teraz mam większy problem z moją klasą. Tworzę obiekty tak:
  1. <?php
  2.  
  3. for ($i = 0; $i < mysql_num_rows($wynik); $i++)
  4.  {
  5.  $wiersze = mysql_fetch_array($wynik);
  6.  
  7.  $film[$i] = new film;
  8.  $film[$i]->film($wiersze['id'],
  9. $wiersze['tytul'],
  10. $wiersze['dzwiek'],
  11. $wiersze['stan'],
  12. $wiersze['kto'],
  13. $wiersze['kiedy']);
  14.  }
  15. ?>


a oto początkowa część tej klasy
  1. <?php
  2. class film {
  3.  
  4.  
  5. var $film_id;
  6. var $film_tytul;
  7. var $film_dzwiek;
  8. var $film_stan;
  9. var $film_kto;
  10. var $film_kiedy;
  11.  
  12. function film($a,$b,$c,$d,$e,$f)
  13. {
  14. $this->film_id  = $a;
  15. $this->film_tytul = $b;
  16. $this->film_dzwiek = $c;
  17. $this->film_stan  = $d;
  18. $this->film_kto = $e;
  19. $this->film_kiedy = $f;
  20. }
  21. ?>


I taki błąd mi pokazuje (IMG:http://forum.php.pl/style_emoticons/default/angrysmiley.gif)
Kod
Warning: Missing argument 1 for film() in c:\usr\krasnal\www\homepage\dvd\klasy.php on line 33

Warning: Missing argument 2 for film() in c:\usr\krasnal\www\homepage\dvd\klasy.php on line 33

Warning: Missing argument 3 for film() in c:\usr\krasnal\www\homepage\dvd\klasy.php on line 33

Warning: Missing argument 4 for film() in c:\usr\krasnal\www\homepage\dvd\klasy.php on line 33

Warning: Missing argument 5 for film() in c:\usr\krasnal\www\homepage\dvd\klasy.php on line 33

Warning: Missing argument 6 for film() in c:\usr\krasnal\www\homepage\dvd\klasy.php on line 33

Mecze się z tym już od godziny. Jako że w klasach jeszcze raczkuję to proszę o pomoc.
2. Jak zrobić wartośći zmienne w klasie jako prywatne żeby tylko przez funkcje je modyfikował bo jak dodaje private to bład pokazuję. (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




http://www.php.net/manual/pl/language.oop.php
przeczytaj dokladnie, szczegolnie rozdzial odnośnie konstruktorów. moze wpadniesz sam co mas źle (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

edit: w php4 zmiennych nie ma prywatnych. mozna tylko przyjąc, ze niby są, ale w praktyce wszystkie są ogólnie dostępne
Go to the top of the page
+Quote Post
BugsBunny
post
Post #7





Grupa: Zarejestrowani
Postów: 206
Pomógł: 4
Dołączył: 2.04.2005

Ostrzeżenie: (0%)
-----


Czytam i nie wiem. Jako ze klasami się bawiłem tylko w C++ to mi się wydaje że powinno to działać, ale jak to się mówi człowiek uczy się przez całe życie, a tym bardziej ja :-D
Go to the top of the page
+Quote Post
mike
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


A od kiedy tak:
  1. <?php
  2.  
  3. $film[$i] = new film;
  4.  
  5. ?>
...wywołuję się konstruktor? Mało tego od kiedy tak się wywoluje jakąkolwiek funkcje?

Konstruktor to funkcjia, która posiada nagłówek, a w nagłówku przy wywołaniu (w nawiasach) podaje się argumenty wywołania (o ile funkcja poiada argumenty).

Tak o wiele lepiej:
  1. <?php
  2.  
  3. $film[$i] = new film( $wiersze['id'], $wiersze['tytul'], $wiersze['dzwiek'], wiersze['stan'], $wiersze['kto'], $wiersze['kiedy'] );
  4.  
  5. ?>
Go to the top of the page
+Quote Post
BugsBunny
post
Post #9





Grupa: Zarejestrowani
Postów: 206
Pomógł: 4
Dołączył: 2.04.2005

Ostrzeżenie: (0%)
-----


Jak pisałem to tak zrobiłem a potem mnie jakiś czort natchnął że zmieniłem. Już działa, ale do pełni szcześcia brakuje mi działającego w pełni Smarty tj.
  1. <?php
  2. $smarty->assign('tytul', $film->film_tytul);
  3. $smarty->assign('dzwiek', $film->film_dzwiek);
  4. $smarty->assign('stan', $film->film_stan);
  5.  $smarty->display( 'index.tpl' );
  6. ?>


$film to są te klasy które są opisane wcześniej.

index.tpl
  1. <table class="forum">
  2.    {section name=filmy loop=2}
  3.   <tr height="15">
  4.            <td width="350" class="forum">
  5.                  <p>{$tytul[filmy]}</p>
  6.         </td>
  7.         <td width="100" class="forum">
  8.           <p>{$dzwiek[filmy]}</p>
  9.         </td>
  10.         <td width="100" class="forum">
  11.           {$tytul[filmy]}
  12.         </td>  
  13.      </tr>
  14.      {/section}
  15.  </table>
  16.  <br>

Naczytałem się o sposobach zapętlania Smarty i co osoba to metoda (IMG:http://forum.php.pl/style_emoticons/default/worriedsmiley.gif) pogubiłem się czego efektem jest niewyswietlanie nieczego (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif) Może napiszecie jakies konkrety jak to robić
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 04:04