Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL][rozw.] fetch_array w fetch_array?
Wieloryb
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 20.12.2007
Skąd: Radom

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


Witam
Piszę swoją pierwszą stronę i potrzebuję użyć mysql_fetch_array() w mysql_fetch_array() tzn, mam stronę meczu w której chcę zrobić tabelkę ze statystykami - kto ile pkt, fauli. Niestety przy drugim fetch_array wyskakuje mi błąd
Kod
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL  result resource in  /home/local/home/sowirs1/sowir.pilicka.pl/40/mecze.php on line 38

Trochę nad tym myślałem i tak wymyśliłem, że może jest to spowodowane tym, że używam 2x tego fetch_array, lub że używam jedno w drugim? Jak mam to poprawić, zrobić tak żeby było dobrze? tongue.gif Dla ułatwienia pomocy umieszczam kod pliku

  1. <?php
  2. $pytaj = &#092;"SELECT `data`,`zkim`,`akoniec`,`bkoniec`,`a1`,`b1`,`a2`,`b2`,`a3`,`b3`,`a4`
    ,`b4`,`
  3. d` FROM `mecze` ORDER BY id DESC\";
  4. $doit = mysql_query($pytaj);
  5.  
  6.  echo '<div class=\"mecze\">';
  7.  echo '</div class=\"mecze\">';
  8.  
  9.  $id = isset($_GET['id'])?(int)$_GET['id' ]:0;
  10.  
  11. if($id != 0) {
  12. $sql = 'SELECT `data`,`zkim`,`akoniec`,`bkoniec`,`a1`,`b1`,`a2`,`b2`,`a3`,`b3`,`a4`,`b4`
     FROM mecze WHERE id = '.$id;
  13. $dosql = mysql_query($sql);
  14.  while($tekst = mysql_fetch_array($dosql)) {
  15. echo '
  16. '.$tekst[1].'
  17. ';
  18. echo '';
  19.  echo 'Data: '.$tekst[0].'';
  20.  if($tekst[2] > $tekst[3]) { echo 'Wynik: <font style=\"color:#0f4814\">'.$tekst[2].':'.$tekst[3].''; } else { echo 'Wynik: <font style=\"color:#980000\">'.$tekst[2].':'.$tekst[3].''; }
  21.  echo 'Ćwiartki:';
  22.  if($tekst[4] > $tekst[5]) { echo '<font style=\"color:#0f4814\">'.$tekst[4].':'.$tekst[5].' '; } else { echo '<font style=\"color:#980000\">'.$tekst[4].':'.$tekst[5].' '; }
  23.  if($tekst[6] > $tekst[7]) { echo '<font style=\"color:#0f4814\">'.$tekst[6].':'.$tekst[7].' '; } else { echo '<font style=\"color:#980000\">'.$tekst[6].':'.$tekst[7].' '; }
  24.  if($tekst[8] > $tekst[9]) { echo '<font style=\"color:#0f4814\">'.$tekst[8].':'.$tekst[9].' '; } else { echo '<font style=\"color:#980000\">'.$tekst[8].':'.$tekst[9].' '; }
  25.  if($tekst[10] > $tekst[11]) { echo '<font style=\"color:#0f4814\">'.$tekst[10].':'.$tekst[11].''; } else { echo '<font style=\"color:#980000\">'.$tekst[10].':'.$tekst[11].''; }
  26. echo '';
  27.  
  28. echo 'Statystyki:
  29. ';
  30. echo '';
  31. echo 'NumerNazwaPktFauli';
  32.  
  33. $sqlstats = 'SELECT `numer`,`name`,`pkt`,`faule` FROM statystyki WHERE mecz = '.$tekst[1];
  34. $dosqlstats = mysql_query($sqlstats);
  35.  
  36. while($statrow = mysql_fetch_array($dosqlstats)) {
  37.  echo ''.$statrow[0].''.$statrow[1].''.$statrow[2].''.$statrow[3].'';
  38. }
  39. echo '';
  40. }
  41. } else { 
  42.  echo '</font style=\"color:#980000\"></font style=\"color:#0f4814\"></font style=\"color:#980000\"></font style=\"color:#0f4814\"></font style=\"color:#980000\"></font style=\"color:#0f4814\"></font style=\"color:#980000\"></font style=\"color:#0f4814\"></font style=\"color:#980000\"></font style=\"color:#0f4814\">';  
  43. while($row = mysql_fetch_array($doit)) {
  44.  if($row[2] > $row[3]) {
  45.  echo '
  46.  
  47.  
  48. ';
  49. } else {
  50.  echo ' 
  51.  
  52.  
  53. ';
  54.  echo '<font style=\"color: #1e1e1e;font-size: 9px;\">'.$row[0].'</font style=\"color: #1e1e1e;font-size: 9px;\"><a href=\"index.php?site=mecze&id='.$row[12].'\"> UKS 40 Radom vs '.$row[1].'</a href=\"index.php?site=mecze&id='.$row[12].'\"><font style=\"color:#0f4814\"> '.$row[2].':'.$row[3].'</font style=\"color:#0f4814\"><font style=\"color: #1e1e1e;font-size: 9px;\">'.$row[0].'</font style=\"color: #1e1e1e;font-size: 9px;\"><a href=\"index.php?site=mecze&id='.$row[12].'\">UKS 40 Radom vs '.$row[1].'</a href=\"index.php?site=mecze&id='.$row[12].'\"><font style=\"color:#980000\"> '.$row[2].':'.$row[3].'</font style=\"color:#980000\">';
  55. }
  56.  }
  57.  echo '';
  58.  echo '';
  59. ?>


Liczę na Waszą pomoc.
Pozdrawiam
Wieloryb

Ten post edytował Wieloryb 10.06.2008, 12:44:27
Go to the top of the page
+Quote Post
sowiq
post
Post #2





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


Komunikat:
Kod
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL  result resource in

znaczy tylko tyle, że poprzednie zapytanie zawierało błąd i nie wykonało się poprawnie. Zamiast wtedy robić pętlę, wydrukuj sobie zapytanie, wykonaj w phpMyAdmin i zobacz jakie błędy Ci wywala, albo ew. daj
  1. <?php
  2. ?>

na koniec.

Do tego jedna uwaga:
Na początku wykonujesz zapytanie do bazy danych, ale jeśli było ustawione id (pierwszy 'if'), to olewasz wyniki tego zapytania. Proponuję wstawić to zapytanie do 'else'. Wtedy wykona się ono tylko wtedy, kiedy będzie potrzebne winksmiley.jpg

Pozdrawiam,
S.

Ten post edytował sowiq 10.06.2008, 01:44:53
Go to the top of the page
+Quote Post
Wieloryb
post
Post #3





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 20.12.2007
Skąd: Radom

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


Kod
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'z miesiacami' at line 1


Dalej nic mi to nie mówi :/
Go to the top of the page
+Quote Post
mike
post
Post #4





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

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


Cytat(Wieloryb @ 10.06.2008, 11:54:15 ) *
Dalej nic mi to nie mówi :/
To znaczy, że zapytanie jest źle skonstruowane.
Nic Ci to nie mów? To sobie wyświetl to zapytanie i zobacz (nam pokaż również) jak wygląda na tuż przed tym jak jest zadane bazie danych.
Go to the top of the page
+Quote Post
Wieloryb
post
Post #5





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 20.12.2007
Skąd: Radom

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


Zapytanie nr 1 - do wyświetlania szczegółow meczu
  1. <?php
  2. $sql = 'SELECT `data`,`zkim`,`akoniec`,`bkoniec`,`a1`,`b1`,`a2`,`b2`,`a3`,`b3`,`a4`,`b4`
     FROM mecze WHERE id = '
    .$id;
  3. $dosql = mysql_query($sql);
  4. ?>


Zapytanie nr 2 - do statystyk
  1. <?php
  2. $sqlstats = 'SELECT `numer`,`name`,`pkt`,`faule` FROM statystyki WHERE mecz = '.$tekst[1];
  3. $dosqlstats = mysql_query($sqlstats);
  4. ?>
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




nie zajarzyles czaczy winksmiley.jpg
Miales pokazac jak te zapytania wyglądają po wstawieniu zmiennych:
  1. <?php
  2. $sql = 'SELECT `data`,`zkim`,`akoniec`,`bkoniec`,`a1`,`b1`,`a2`,`b2`,`a3`,`b3`,`a4`,`b4`
     FROM mecze WHERE id = '
    .$id;
  3. echo $sql;
  4. ?>

I pokaz co wyswietla to echo. Analogicznie reszta zapytan


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
mike
post
Post #7





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

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


Nie jak są tworzone tylko jak wyglądają po utworzeniu:
  1. <?php
  2. echo $sql = 'SELECT `data`,`zkim`,`akoniec`,`bkoniec`,`a1`,`b1`,`a2`,`b2`,`a3`,`b3`,`a4`,`b4`
     FROM mecze WHERE id = '
    .$id;
  3. $dosql = mysql_query($sql);
  4. ?>
  1. <?php
  2. echo $sqlstats = 'SELECT `numer`,`name`,`pkt`,`faule` FROM statystyki WHERE mecz = '.$tekst[1];
  3. $dosqlstats = mysql_query($sqlstats);
  4. ?>
Go to the top of the page
+Quote Post
Wieloryb
post
Post #8





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 20.12.2007
Skąd: Radom

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


  1. SELECT `data`,`zkim`,`akoniec`,`bkoniec`,`a1`,`b1`,`a2`,`b2`,`a3`,`b3`,`a4`,`b4` FROM mecze WHERE id = 4

  1. SELECT `numer`,`name`,`pkt`,`faule` FROM statystyki WHERE mecz = Nalenczowianka Team


Ten post edytował Wieloryb 10.06.2008, 11:20:19
Go to the top of the page
+Quote Post
mike
post
Post #9





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

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


No widzisz. Pierwsze zapytanie jest OK a drugie nie.
Powinno wyglądać tak:
  1. SELECT `numer`,`name`,`pkt`,`faule` FROM statystyki WHERE mecz = 'Nalenczowianka Team'
Go to the top of the page
+Quote Post
Wieloryb
post
Post #10





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 20.12.2007
Skąd: Radom

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


Dzięki, pomogło.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 04:50