Výpis podobných her – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Výpis podobných her – PHP – Fórum – Programujte.comVýpis podobných her – PHP – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené.
Zuben0
Stálý člen
30. 3. 2013   #1
-
0
-

Dobrý den, mám menší problém a potřeboval bych poradit.

Mám dvě tabulky, gamelist a tags a potřeboval bych poradit, jak podle tabulky tags z pole tag vytvořit seznam podobných her podle tabulky gamelist z pole title, (neboli jednoduše, potřebuji vypsat další hry s podobným názvem(title) ) zkoušel jsem to přes like, ale stále se mi nedaří.

struktura tabulek:

  1. gamelist
  • ID
  • title
  • info
  • image
  • datum

            2. tags

  • ID
  • tag
  • tag2

Kód:

 private function viewGame( $game )
	{                         
    $sql = "SELECT * FROM gamelist WHERE ID={$game}";    
    require_once( FRAMEWORK_PATH . 'lib/pagination/pagination.class.php');
		$pagination = new Pagination( $this->registry );
    
		$pagination->setQuery( $sql );
		$pagination->setOffset( $offset );
		$pagination->setLimit( 1 );
		$pagination->setMethod('cache');
		$pagination->generatePagination();
    $this->info=ucfirst($this->info);
		if( $pagination->getNumRowsPage() == 0 )
		{
			$this->registry->getObject('template')->buildFromTemplates( 'header.tpl.php', 'gamelist/not-found.tpl.php', 'footer.tpl.php' );		
		}
    else
    {
     $this->registry->getObject('template')->buildFromTemplates( 'header.tpl.php', 'gamelist/game.tpl.php', 'footer.tpl.php' ); 
     $this->registry->getObject('template')->getPage()->addTag( 'games', array( 'SQL', $pagination->getCache() ) );          
    }
	}
  private function viewPodobne( $game )
  {
    $tag=$this->tags->getTag();
    $sql="SELECT * FROM gamelist WHERE title like '%$tag%'";
    require_once( FRAMEWORK_PATH . 'lib/pagination/pagination.class.php');
		$pagination = new Pagination( $this->registry );
    
		$pagination->setQuery( $sql );
		$pagination->setOffset( $offset );
		$pagination->setLimit( 20 );
		$pagination->setMethod('cache');
		$pagination->generatePagination();

     $this->registry->getObject('template')->buildFromTemplates( 'header.tpl.php', 'gamelist/game.tpl.php', 'footer.tpl.php' ); 
     $this->registry->getObject('template')->getPage()->addTag( 'podobne', array( 'SQL', $pagination->getCache() ) )             
  }

template mám takhle:

   <div class="gamepage">
      <!-- START games -->		     
				  <div>
						
              <div class="gameimage">
                <div>
                  <h2>{title}</h2><h3>{datum}</h3>	
                </div>
                <img src="images/games/{image}">
			        </div>
						
					 </div>
           <p>
            {info}
           </p>
      <!-- END games -->
      <!-- START podobne -->
          {title}
      <!-- END podobne -->
         
		</div>

hra se načte bez problému, ale podobne už ne, prozatím jsem tam dal {title} na zkoušku, ale i tak nic :(

Děkuji předem

  •  

Nahlásit jako SPAM
IP: 194.228.223.–
Zuben0
Stálý člen
30. 3. 2013   #2
-
0
-

 již dostanu výpis, ale bohužel všech titulů co mají tag,

 private function viewGame( $game )
	{                         
    $sql = "SELECT * FROM gamelist WHERE ID={$game}";         
    $sql2="SELECT * FROM gamelist, tags WHERE gamelist.tag=tags.tag ";
    require_once( FRAMEWORK_PATH . 'lib/pagination/pagination.class.php');
		$pagination = new Pagination( $this->registry ); 
    $pagination2 = new Pagination( $this->registry );
    
    $pagination2->setQuery( $sql2 );
		$pagination2->setOffset( $offset );
		$pagination2->setLimit( 20 );
		$pagination2->setMethod('cache');
		$pagination2->generatePagination();
    /*-----------------------------------------------------*/
		$pagination->setQuery( $sql );
		$pagination->setOffset( $offset );
		$pagination->setLimit( 1 );
		$pagination->setMethod('cache');
		$pagination->generatePagination();
    
		if( $pagination->getNumRowsPage() == 0 )
		{
			$this->registry->getObject('template')->buildFromTemplates( 'header.tpl.php', 'gamelist/not-found.tpl.php', 'footer.tpl.php' );		
		}
    else
    {
     $this->registry->getObject('template')->buildFromTemplates( 'header.tpl.php', 'gamelist/game.tpl.php', 'footer.tpl.php' ); 
     $this->registry->getObject('template')->getPage()->addTag( 'games', array( 'SQL', $pagination->getCache() ) );        
     $this->registry->getObject('template')->getPage()->addTag( 'podobne', array( 'SQL', $pagination2->getCache() ) ); 
    }
	}
Nahlásit jako SPAM
IP: 194.228.223.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 4 hosté

Podobná vlákna

Vypis... — založil Pavel

Výpis z DB — založil MiMi

C# vypis — založil celi

[db] výpis — založil ceska_fojak

Výpis zoznamu — založil allicce

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý