Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Co to za błąd?
Forum PHP.pl > Forum > Przedszkole
mczlowiek
dostaje taki komunikat o błędzie, co jest nie tak? Kombinuje na różne sposoby ale nic nie mogę wymysleć.

Treść błędu: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/freehost/t/k/tktbet/www/typy.php on line 127

Linia 127:
while($typ = mysql_fetch_array($typy)){

  1. <?php
  2.  
  3. if($_GET['id']){
  4. $typy = mysql_fetch_array(mysql_query("SELECT * FROM typy WHERE id='".$_GET['id']."' LIMIT 1"));
  5. echo('<font face="verdana" size=1 color=red>'.$typy['data'].' </font><font face="verdana" size=1 color=black> '.$typy['autor'].'</font><font face="verdana" size=2 color=navy><br><br><b>
  6. '.$typy['spotkanie'].'</b><br><br></font><font face="verdana" size=1 color=black>
  7. '.$typy['analiza'].'<br><br>');
  8.  
  9. $autor_a=$typy['autor'];
  10.  
  11. echo('<table width=480 border=0>');
  12.  
  13. echo('<tr><td background="images/tlo_newsy_linia.gif">');
  14. echo('</td></tr>');
  15.  
  16. echo('<tr><td>');
  17. echo('<img src="images/arrow.gif"> TYP: <b>'.$typy['typ'].'</b>');
  18. echo('</td></tr>');
  19.  
  20. echo('<tr><td>');
  21. echo('<img src="images/arrow.gif"> KURS: <b>'.$typy['kurs'].'</b>');
  22. echo('</td></tr>');
  23.  
  24. echo('<tr><td>');
  25. echo('<img src="images/arrow.gif"> STAWKA: <b>'.$typy['stawka'].'</b>');
  26. echo('</td></tr>');
  27.  
  28. echo('<tr><td>');
  29. echo('<img src="images/arrow.gif"> BUKMACHER: <b>'.$typy['bukmacher'].'</b>');
  30. echo('</td></tr>');
  31.  
  32. echo('<tr><td>');
  33. echo('<img src="images/arrow.gif"> WYNIK: <b>'.$typy['wynik'].'</b>');
  34. echo('</td></tr>');
  35.  
  36. echo('<tr><td>');
  37. echo('<img src="images/arrow.gif"> PROFIT: <b>'.$typy['profit'].'</b><br><br>');
  38. echo('</td></tr>');
  39.  
  40. echo('<tr><td height="20" valign="center" background="images/tlo_tytul.gif"><font face=verdana size=2><img src="images/strzaleczka_invert.gif"><img src="images/strzaleczka_invert.gif"><b> OSTATNIE TYPY '.$typy['autor'].'</b></font>');
  41. echo('</td></tr>');
  42.  
  43. echo('<tr><td>');
  44. $typy = mysql_query("SELECT * FROM typy ORDER BY data DESC LIMIT 0,10 where autor='$autor_a'");
  45. while($typ = mysql_fetch_array($typy)){
  46. echo( '<table id="table1" width="100%"><tr><td><font face=tahoma size="1" color="red"> '
  47. .$typ['data']. ' </font> '.$typ['autor'].'<br><font face=verdana size="1" ><b><a href="typy.php?id='
  48. .$typ['id'].'">'
  49. .$typ['spotkanie'].' | Typ: '.$typ['typ'].' | @ '.$typ['kurs'].'</font></b></a></td></tr><tr><td background="images/tlo_newsy_linia.gif"></td></tr></table>');
  50. }
  51. echo('</td></tr>');
  52. echo('</table>');
  53.  
  54. } else { echo('Nie kombinuj!!!'); }
  55. ?>
weedget
CODE
$typy = mysql_query("SELECT * FROM typy ORDER BY data DESC LIMIT 0,10 where autor='$autor_a'");


tutaj masz błąd.

powinno być raczej:
  1. SELECT * FROM typy WHERE autor='$autor_a' ORDER BY DATA DESC LIMIT 0, 10
mczlowiek
dziękuję!

Ale mam jeszcze taki problem, mam tabelke w której mam liczby np -2 , 4.2 i chce je teraz zsumować, ale za pomocą tego kodu
  1. <?php
  2. $query="SELECT profit FROM typy";
  3. $result=mysql_query($query)
  4. or die(mysql_error());
  5. $row = mysql_fetch_array($result);
  6. echo array_sum($row);
  7. ?> j.


wartość jaką mi zwraca to 8.4 dlaczego tak jest skoro wynik powinien być 2.2?

profit w tabeli ustawiony jest jako -> FLOAT
weedget
a nie lepiej użyć
  1. SELECT SUM(profit) FROM typy

i od razu w wyniku dostajesz sume
mczlowiek
niestety nie działa, błąd...
weedget
podaj błąd...
mczlowiek
  1. <?php
  2.  $query="SELECT SUM(profit) FROM typy";
  3. echo $query;
  4. ?>


w wyniku czego dostaje SELECT SUM(profit) FROM typy a nie sume
loganek
Kod
<?php
                   $tab=mysql_fetch_array(mysql_query("SELECT SUM(profit) as suma FROM typy"));
                        echo $tab["suma"];
                        ?>
mczlowiek
ok, super, tylko jaki format ustwić w bazie aby wyswietlal mi tylko 2 miejsca po prze4cinku, albo jak to przerobic w zapytaniu? bo teraz wyswetla cos w formacje : 2.19546554654564
skowron-line
mozesz ustawic typ pola w bazie
Kod
x double( 6, 2 )
mczlowiek
ustawilem tak jak pisales i kiedy wpisze np 4,2 to zaokragle mi do 4.00, a jak wpisze np 4.2 to i tak tej liczby po przecinku nie dodaje tylko zwraca wartosc 4.00
skowron-line
http://pl.php.net/manual/pl/function.number-format.php
mczlowiek
teraz dostaje taki błąd, a na prawdę nie wiem dlaczego:
Parse error: syntax error, unexpected T_IF in /home/freehost/t/k/tktbet/www/typy.php on line 164
w kodzie:
  1. <?php
  2. $typy = mysql_query("SELECT * FROM typy WHERE data BETWEEN '$date1' AND '$date2' && wynik!='-' ORDER BY data DESC");
  3. while($typ = mysql_fetch_array($typy)){
  4. echo( '<table id="table1" width="100%"><tr><td><font face=tahoma size="1" color="red"> '
  5. .$typ['data']. ' </font> '.$typ['autor'].'<br><font face=verdana size="1" >'
  6. if($typ['profit'] >){
  7. echo('<img src="images/icons/won.gif">')}
  8. else {
  9. echo('<img src="images/icons/lost.gif">')}
  10. ?>


bład wskazuje na linijke:
if($typ['profit'] >0 ){
skowron-line
  1. <?php
  2. echo( '<table id="table1" width="100%"><tr><td><font face=tahoma size="1" color="red"> '
  3. .$typ['data']. ' </font> '.$typ['autor'].'<br><font face=verdana size="1" >'
  4. ?>

odpowiedz wskazuje na ta linie.
sirostr
brakuje średnika
mczlowiek
ale jak dodam średnik to wyskakuje komunikat: Parse error: syntax error, unexpected ';' in /home/freehost/t/k/tktbet/www/typy.php on line 163
Mlodycompany
zamknij nawias w echo
mczlowiek
Cytat(loganek @ 14.07.2008, 09:39:10 ) *
Kod
<?php
                    $tab=mysql_fetch_array(mysql_query("SELECT SUM(profit) as suma FROM typy"));
                         echo $tab["suma"];
                         ?>

z tamtym (czyli z instrukcja if) sobie poradziłem.
Pomóżcie mi z tymi liczbami, bo za choinke nie wiem jak to wszystko poustawiac, jaki format ustawić w bazie i jak przerobić ten kod aby wyswietlalo mi liczbe np. 4,20 itp
Mlodycompany
$liczba = round($liczba, '2'); i to ci bedzie skracało liczbe do dwoch miejsc po kropce lub przecinku
mczlowiek
  1. <?php
  2. $tab=mysql_fetch_array(mysql_query("SELECT SUM(profit) as suma FROM typy"));
  3. $liczba = round(suma, '2');
  4. echo $tab["$liczba"];
  5. ?>

czyli tak powinno być ok?

DZIALA, dziekuje!
nospor
skoro ci dziala to weź popraw to co napisales w poprzednim poscie bo jeszcze wejdzie tu ktos tak zielony jak ty i bedzie myslal ze ten ostatni post jest prawidlowy....
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.