artikel blättern wie auf jubec.de

Gesperrt
mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

artikel blättern wie auf jubec.de

Beitrag von mvf »

hallo community

ich suche das modul artikel blättern wie hier http://www.jubec.de/front_content.php?idcat=78 zu sehen

also zurück und vorwärts und in der mitte die artikel mit 12345..
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

mit der suche nach artikel und blättern hättest du das hier finden müssen
-> http://contenido.org/forum/viewtopic.ph ... bl%E4ttern
*** make your own tools (wishlist :: thx)
mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf »

habe ich auch, aber die sind leider nicht so wie bei jubec,

die eine ist nur weiter und zurück, die andere nur die 1|2|3|4 und ich kätte gerne eine kombi krieg die beiden aber ned zusammen ans laufen :(

hier nochmal der code der 2 beispiele für den fall, dass einer mir helfen mag

Code: Alles auswählen

<?php
$sql = "SELECT ARTLANG.idart, ARTLANG.idartlang, ARTLANG.title
 FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".$cfg["tab"]["art_lang"]." AS ARTLANG, ".$cfg["tab"]["art"]." AS ART
 WHERE ARTLANG.idart = CATART.idart AND CATART.idart = ART.idart AND ARTLANG.idlang = '$lang'
  AND ARTLANG.online = '1' AND ART.idclient='$client' AND CATART.idcat='$idcat'
 ORDER BY ARTLANG.artsort ASC,ARTLANG.created DESC";
$db->query($sql);

$i=0;
while ($db->next_record()) {
  $articleID[$i] = $db->f("idartlang");
  $linkID[$i] = $db->f("idart");
  $title[$i] = $db->f("title");
  if($linkID[$i]==$idart)
  {
   $naechster=$i+1;
   $voriger=$i-1;
  }
  $i++;
}

echo '<p>';
if($voriger>=0)
{
 $navmod_link ="front_content.php?client=".$client."&la"."ng=".$lang."&idcat=".$idcat."&idart=".$linkID[$voriger]."";
 echo '<a href="'.$sess->url("$navmod_link").'">voriger</a>';
 if($naechster<$i)
 {
  echo '&nbsp;|&nbsp;';
 }
}
if($naechster<$i)
{
 $navmod_link ="front_content.php?client=".$client."&la"."ng=".$lang."&idcat=".$idcat."&idart=".$linkID[$naechster]."";
 echo '<a href="'.$sess->url("$navmod_link").'">nächster</a>';
}
echo '</p>';
?>

Code: Alles auswählen

<?php
$sql = "SELECT ARTLANG.idart
 FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".$cfg["tab"]["art_lang"]." AS ARTLANG, ".$cfg["tab"]["art"]." AS ART
 WHERE ARTLANG.idart = CATART.idart AND CATART.idart = ART.idart AND ARTLANG.idlang = '$lang' AND ARTLANG.online = '1' AND ART.idclient='$client' AND CATART.idcat='$idcat'
 ORDER BY CATART.is_start DESC,ARTLANG.artsort ASC,ARTLANG.created ASC";
$db->query($sql);
$i=1;
echo '<p>';
while ($db->next_record())
{
 $navmod_link ="front_content.php?client=$client&la"."ng=$lang&idcat=".$idcat."&idart=".$db->f("idart")."";
 echo '<a href="'.$sess->url("$navmod_link").'">'.$i.'</a>';
 if ($i != $db->num_rows())
 {
  echo '&nbsp;|&nbsp;';
 }
 $i++;
}
if ($db->num_rows() != 0)
{
 echo '</p>';
}
?> 
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf »

dazu kommt noch, dass beim zweiten code auch der startartikel mit ausgegeben wird.

sprich ich habe in kat1 5 artikel, startartikel ist eine modifizierte 'news' liste als preview für die artikel und dann 4 artikel kat1first bis kat1fourth, aber das modul schmeisst dann 1|2|3|4|5 raus :( also incl startartikel.

ich hätte gern nur die artikel ohne die übersicht. also nur 1|2|3|4

sprich eine modifikation des 2. output codes, die den startartikel ausklammert.
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf »

über die artikeleingeschaften kann ich den startarikel in der sortorder an die letzte position bringen. wie kann ich nun aber die whileschleife cor dem letzten datensatz abbrechen?

@ stese [falls du mitliest] php.net bringt mich dabei leider nicht weiter :(
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf »

anderer ansatz

wie identifiziere ich obe ein artikel startartikel ist oder nicht?
wenn ich in der db schau dann ist das

Tabelle: CATLANG
Feld: startidartlang

nun möchte ich die whileschleife nur ausführen wenn der artikel nicht startartikel ist.

Code: Alles auswählen

<?php

$sql = "SELECT ARTLANG.idart, CATLANG.startidartlang FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".$cfg["tab"]["art_lang"]." AS ARTLANG, ".$cfg["tab"]["art"]." AS ART, ".$cfg["tab"]["cat_lang"]." AS CATLANG WHERE CATLANG.idart = ART.idart , ARTLANG.idart = CATART.idart AND CATART.idart = ART.idart AND ARTLANG.idlang = '$lang' AND ARTLANG.online = '1' AND ART.idclient='$client' AND CATART.idcat='$idcat' ORDER BY ARTLANG.artsort ASC";
$db->query($sql);

$i=1;

echo '&nbsp;';

while ($db->next_record()) {

            if ($db->f("idart") != $db->f("startidartlang")) {

            $navmod_link ="front_content.php?client=$client&lang=$lang&idcat=".$idcat."&idart=".$db->f("idart")."";
            echo '<a href="'.$sess->url("$navmod_link").'">'.$i.'</a>';
            if ($i != $db->num_rows()) {
                echo '&nbsp;|&nbsp;';
                }
            $i++;
			
			}            
        
	}
       
if ($db->num_rows() != 0) {
	echo '&nbsp;';
	}

?>
aber irgendwie schient die query das problem zu sein :( und wenn ich es recht verstehe nicht von der syntax her sonder der match pass ned :(
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf »

und weiter im text ;) jetzt habe ich einen workaround

wennman in einer kategorie mehrere artikel hat und dem startartikel die hächste 'sortorder' gibt, dann wird dieser nicht mit in der liste angzeigt.

Code: Alles auswählen

<?php
$sql = "SELECT ARTLANG.idart
 FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".$cfg["tab"]["art_lang"]." AS ARTLANG, ".$cfg["tab"]["art"]." AS ART
 WHERE ARTLANG.idart = CATART.idart AND CATART.idart = ART.idart AND ARTLANG.idlang = '$lang' AND ARTLANG.online = '1' AND ART.idclient='$client' AND CATART.idcat='$idcat'
 ORDER BY CATART.is_start DESC,ARTLANG.artsort ASC,ARTLANG.created ASC";
$db->query($sql);
$i=1;
echo '<p>';


while ($db->next_record())
    {
    
    if ($i < $db->num_rows()) {
    
     $navmod_link ="front_content.php?client=$client&la"."ng=$lang&idcat=".$idcat."&idart=".$db->f("idart")."";
     echo '<a href="'.$sess->url("$navmod_link").'">'.$i.'</a>';
     $check = ($i+1);
     if ($check < $db->num_rows())
     {
      echo '&nbsp;|&nbsp;';
     }
     $i++;
    
    }
    }


if ($db->num_rows() != 0)
{
 echo '</p>';
}
?>
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
Gesperrt