kostenloser Webspace werbefrei: lima-city


Mysql Doppelabfrage notwendig?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    atraxoo

    atraxoo hat kostenlosen Webspace.

    Hallo Community,

    Ich verwende schon seit einiger Zeit dieses System um zu überprüfen ob nach einer mysql - Abfrage denn noch weitere Datensätze abgefragt werden können. Das mache ich deshalb, weil ich wissen muss, ob ich ganz unten von den Beiträgen noch ein 'weitere' Symbol einblenden muss.

    Das folgende sieht vereinfacht so aus.

    $counter = 0 // wird nach jeder Abfrage mit js um 30 erhöht
    
    $query = 	"
    					SELECT *
    					FROM table
    					WHERE a = b
    					LIMIT = 30
    					OFFSET = '$counter'
    					";
    $sql = mysql_query($query);
    while($row = mysql_fetch_assoc($sqlbest))
    	{	
    	//mache etwas
    	}
    
    //Jetzt überprüfe ich hiermit ob noch weitere Beiträge zum nachladen sind
    $counter = $counter + 30; // dafür erhöhe ich, wie es später die nächste Abfrage tun sollte, den $counter um 30 und mache die Abfrage erneut
    
    $querycheck = 	"
    					SELECT *
    					FROM table
    					WHERE a = b
    					LIMIT = 30
    					OFFSET = '$counter'
    					";
    $sqlcheck = mysql_query($querycheck );
    
    //Jetzt überprüfe ich, ob denn noch Datensätze darin sind mit:
    $check = mysql_num_rows($sqlcheck );
    //und jetzt hänge ich, wenn nötig, den 'weitere' Button an
    
    	if($check != 0)
    	{
    	print '<div id="load">weitere</div>';
    	}


    Das ganze System funktioniert so, nur finde ich es blöd, dass immer 2 Abfragen stattfinden müssen.
    Deshalb, hat jemand einen Lösungsvorschlag, wie man alles mit einer Abfrage machen kann?

  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Frag doch 1 Datensatz mehr ab und schau dann, ob nach den 30 Stück noch einer im Array ist.
    Ist das der Fall, Link auf andere Seite, wenn nicht, einfach ausblenden.
  4. Autor dieses Themas

    atraxoo

    atraxoo hat kostenlosen Webspace.

    super danke das klappt ;)

    meine Lösung jetzt:
    $limit hab ich auf 31 erhöht
    $i = 0;
    while($row = mysql_fetch_assoc($sql))
    {
    	$i++;
    	if($i <= 30)
    	{
    	$isquote = TRUE;
    	include('../templates/template_quote.php');
    	}
    	elseif($i == 31 AND !empty($row))
    	{
    		print '<div id="load">weitere</div>';
    	}
    }
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!