Autor Zpráva
Luccy
Profil *
Ahojky vytvářím kódík na stránkování produktů a pořád mi to píše tyto chybky jak je opravit?

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /var/www/web5/..... on line 255 Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /var/www/web5/.... on line 258 Notice: Undefined variable: i in /var/www/web5/...........

<?php        

// údaje pro připojení k DB
$localhost = "................";
$user ="...............";
$pass = "............";


// kontrola údajů
$connect = mysql_connect ("$localhost","$user ","$pass") or die("Nepodařilo se připojit k databázi");

mysql_select_db ("databaze_cz_"); //select database


///////////////////***********************strankovani produktu************////////////////////////////////////////

$max = mysql_result(mysql_query("SELECT COUNT(*) FROM produkty WHERE kategorie='1' "), 0);
//echo $max;
	
   define ("ON_PAGE", 5); 


   if(!isset($_GET["page"]) || !is_numeric($_GET["page"]) )  
     $page = 1;  
   else  
     $page = $_GET["page"];   

    $by = (ON_PAGE * ($page - 1));  



$articles=mysql_query("SELECT id_produktu , kategorie, popis, cena, foto, nadpis FROM produkty WHERE kategorie='1' ORDER BY id_inzeratu DESC LIMIT ".ON_PAGE." OFFSET " . $by);

if(mysql_num_rows($articles) > 0) { 


	while ($article = mysql_fetch_object($articles)){
 
  		$id_produktu=$article->id_produktu;
  		$kategorie=$article->kategorie;
  		$popis=$article->popis;
  		$foto=$article->foto;
  		$cena=$article->cena;
  		$nadpis=$article->nadpis;
  		$adresa='<a href="detail-produktu.php?id_produktu='.$id_produktu.'">'.$nadpis.'</a>';

  		$obr='<img src="http://webowka.cz/images/miniatura/'.$foto.'">';


		echo "<div id='produkt' style='padding:10px; float:left;'>";
		echo "<div id='produkttop' style='background-image: url(http://www.webovka.cz/images/produkttop.png); width:210px; height:35px;'><div style='padding:10px; font-size: 11pt;font-family: Arial, Helvetica, sans-serif;'><b>$nadpis</b></div></div>";  
		echo "<div id='teloproduktu' style='background-image: url(http://www.webovka.cz/images/teloprodukt.png); width:210px; height:400px;'><div id='obr' style='padding:5px; padding-left:30px;'>$obr </div>";
		echo "<div id='textprodukt' style='padding:10px; font-family: Arial, Helvetica, sans-serif;  font-size: 10pt;'>";
		echo $popis;
		echo "<B><p style='text-align: center;'>$cena ,-Kč</p></B>";
		echo "</div>";
		echo "<div id='umistenitlacitka' style='padding-left:45px;'><input type='submit' value='Přidat do košíku'></div></div>";
		echo "<div id='produkttop' style='background-image: url(http://www.webovka.cz/images/produkttop.png); width:210px; height:35px;'></div>";  
		echo "</div>";
	}

}


if(ON_PAGE < $max){   






    // NA ZAČÁTEK  
    // pokud nejsme na začátku, udělat odkaz na začátek...  
    if($page > 1) {  
      echo "<a href='prochazeni-produktu.php?page=1'>&lt;&lt;</a>";  
    }  
      
    // PŘEDCHOZÍ  
    // pokud  nejsme na začátku, zobrazit odkaz na předchozí a cyklus na předchozí  
    if($page > 1) {   
     			echo "<a href='prochazeni-produktu.php?page=".($page-1)."'>&lt;</a>";  
                          
   			  // PŘEDCHOZÍ - CYKLUS  
   			  // vypíše 3 předchozí stránky  
    			  for($i = 4; $i > 0; $i--) {  
     			  if(($page - $i) >= 1){  
        		  echo "<a href='prochazeni-pruduktu.php?page=".($page-$i)."'>".($page-$i)."</a>";  
                                        }  
                                   }  
                  } 

 



  if(($page - $i) >= 1)  
  if($page < ($max / ON_PAGE)) {  
   // DALŠÍ - CYKLUS  


stránkování pracuje správně ale produkty to nezobrazuje jak na tyto chyby vyzrát?
Luccy
Profil *
chybné řádky:
řádek 255
if(mysql_num_rows($articles) > 0) { 

rádek 258
while ($article = mysql_fetch_object($articles)){

řádek 317
if(($page - $i) >= 1) 
Luccy
Profil *
Jak to opravit?
pcmanik
Profil
Luccy:
Na buduce nerob zbytocne 3 prispevky. A chyba je v sql dotaze, preto sa neurobi 255 a 258
Luccy
Profil *
Překontroloval jsem to, ale chybu v sql dotaze nevidím - co je tam tedy špatně?
Tori
Profil
Luccy:
Dotaz prostě vrací FALSE místo popisovače výsledku (to je to "boolean" v „mysql_num_rows() expects parameter 1 to be resource, boolean given“), což znamená, že buď je chybný dotaz - např. překlep ve jménu sloupce, tabulky - anebo méně pravděpodobně že uživatel databáze nemá povolený přístup k některé z použitých tabulek.
Můžete za chybový dotaz přidat
if (mysql_error()) echo "chyba: ".mysql_error();
, případně si nechat pokaždé vypsat výsledný dotaz do DB.
Petr18
Profil
Tady je to supr - viz http://papermashup.com/easy-php-pagination/

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0