ConPressoPlus 4.1.6 Version 4.0c "Wild Horses" als BETA-Version 3 verfügbar (PHP 8.3) »»
9. April 2024 - PHP 8.3, Bugfixes, nützliche Modifikationen und zahlreiche Module... letzte Runde der Fehlersuche!
9. April 2024 - PHP 8.3, Bugfixes, nützliche Modifikationen und zahlreiche Module... letzte Runde der Fehlersuche!
Wechselner Content. Wie machen die das?
Wechselner Content. Wie machen die das?
Auf Conpresso.de wird in der rechten Spalte der Seite http://conpresso.de/conpresso/de_zwei-minuten/index.php bei jedem Klick eine andere News ausgegeben. Wie wird das gemacht?
-
- Handbuchversteher
- Beiträge: 7369
- Registriert: 01.01.1970 01:00
- Hat sich bedankt: 112 Mal
- Danksagung erhalten: 936 Mal
Re: Wechselner Content. Wie machen die das?
Man ermittelt die Artikelzahl $artikelzahlzahl der dort eingebundenen Rubrik,
ermittelt damit eine Zufallszahl
$zufallsartikel = rand(0,$artikelzahlzahl-1);
und baut seine query nach folgendem Schema:
"SELECT * FROM ".$dbPrefix."_news WHERE kategorie=................. LIMIT ".$zufallsartikel .",1";
siehe auch
http://www.php.net/manual/de/function.rand.php
ermittelt damit eine Zufallszahl
$zufallsartikel = rand(0,$artikelzahlzahl-1);
und baut seine query nach folgendem Schema:
"SELECT * FROM ".$dbPrefix."_news WHERE kategorie=................. LIMIT ".$zufallsartikel .",1";
siehe auch
http://www.php.net/manual/de/function.rand.php
Ciao Markus
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
-
- ConPresso-Profi
- Beiträge: 1004
- Registriert: 01.01.1970 01:00
- Wohnort: Wuppertal
- Hat sich bedankt: 274 Mal
- Danksagung erhalten: 59 Mal
Re: Wechselner Content. Wie machen die das?
Hallo Markus,
kannst Du das noch etwas konkretisieren? Ich hab' bis jetzt mit PHP noch nix am Hut, würde aber solch ein Feature gerne nutzen.
Wo muss ich denn sie Artikelanzahl ermitteln? Un wie mach ich die Ausgabe?
kannst Du das noch etwas konkretisieren? Ich hab' bis jetzt mit PHP noch nix am Hut, würde aber solch ein Feature gerne nutzen.
Wo muss ich denn sie Artikelanzahl ermitteln? Un wie mach ich die Ausgabe?
Günther Ludwig
-
- Handbuchversteher
- Beiträge: 7369
- Registriert: 01.01.1970 01:00
- Hat sich bedankt: 112 Mal
- Danksagung erhalten: 936 Mal
Wie sieht dieses Werk denn bisher aus...?
Das Erraten der Stelle ist sonst etwas mühsam...
Das Erraten der Stelle ist sonst etwas mühsam...
Ciao Markus
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
if ( $System_release == 1 ) {
$query = "SELECT * FROM cpo_news WHERE kategorie='news'AND artikel_archiv < 2 AND freigabe = 0 AND pub_datum < '".$jetzt."' AND verfallsdatum > '".$jetzt."' ORDER BY pub_datum DESC LIMIT ".$zufallsartikel .",1";
} else {
$query = "SELECT * FROM cpo_news WHERE kategorie='news'AND artikel_archiv < 1 AND freigabe != 2 AND pub_datum < '".$jetzt."' AND verfallsdatum > '".$jetzt."' ORDER BY pub_datum DESC LIMIT ".$zufallsartikel .",1";
}
iund dann weiter unten
$db = new DB;
$db->query($query);
$anzahl = $db->num_rows();
$zufallsartikel = rand(0,$artikelzahl-20);
$query = "SELECT * FROM cpo_news WHERE kategorie='news'AND artikel_archiv < 2 AND freigabe = 0 AND pub_datum < '".$jetzt."' AND verfallsdatum > '".$jetzt."' ORDER BY pub_datum DESC LIMIT ".$zufallsartikel .",1";
} else {
$query = "SELECT * FROM cpo_news WHERE kategorie='news'AND artikel_archiv < 1 AND freigabe != 2 AND pub_datum < '".$jetzt."' AND verfallsdatum > '".$jetzt."' ORDER BY pub_datum DESC LIMIT ".$zufallsartikel .",1";
}
iund dann weiter unten
$db = new DB;
$db->query($query);
$anzahl = $db->num_rows();
$zufallsartikel = rand(0,$artikelzahl-20);
-
- Handbuchversteher
- Beiträge: 7369
- Registriert: 01.01.1970 01:00
- Hat sich bedankt: 112 Mal
- Danksagung erhalten: 936 Mal
Ah so... verstehe zwar nicht was index10.php mit dem Code zu tun hat, da nur 1 Artikel gewählt wird, aber dennoch:
Von Vorteil ist es immer, eine Variable vor der Benutzung ihres Wertes auch mit einem Wert zu versehen.
Das könnte dann so aussehen:
Von Vorteil ist es immer, eine Variable vor der Benutzung ihres Wertes auch mit einem Wert zu versehen.
sollte soviel heißen wie : erst Artikelzahl ermitteln, dann daraus eine zufällige Nummer auswählen.Man ermittelt die Artikelzahl $artikelzahl der dort eingebundenen Rubrik, ermittelt damit eine Zufallszahl
Das könnte dann so aussehen:
Code: Alles auswählen
<?php
$db = new DB;
if ( $System_release == 1 ) {
$query = "SELECT count(*) FROM cpo_news WHERE kategorie='news'AND artikel_archiv < 2 AND freigabe = 0 AND pub_datum < '".$jetzt."' AND verfallsdatum > '".$jetzt."'";
} else {
$query = "SELECT count(*) FROM cpo_news WHERE kategorie='news'AND artikel_archiv < 1 AND freigabe != 2 AND pub_datum < '".$jetzt."' AND verfallsdatum > '".$jetzt."";
}
$db->query($query);
$db->next_record();
$artikelzahl = $db->v('count(*)');
$zufallsartikel = rand(0,$artikelzahl-1);
if ( $System_release == 1 ) {
$query = "SELECT * FROM cpo_news WHERE kategorie='news'AND artikel_archiv < 2 AND freigabe = 0 AND pub_datum < '".$jetzt."' AND verfallsdatum > '".$jetzt."' ORDER BY pub_datum DESC LIMIT ".$zufallsartikel .",1";
} else {
$query = "SELECT * FROM cpo_news WHERE kategorie='news'AND artikel_archiv < 1 AND freigabe != 2 AND pub_datum < '".$jetzt."' AND verfallsdatum > '".$jetzt."' ORDER BY pub_datum DESC LIMIT ".$zufallsartikel .",1";
}
$db->query($query);
// ... und so weiter und so fort ...
?>
Ciao Markus
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
-
- Handbuchversteher
- Beiträge: 7369
- Registriert: 01.01.1970 01:00
- Hat sich bedankt: 112 Mal
- Danksagung erhalten: 936 Mal
Kann es sein, daß Du vor $db = new DB sonst nichts mehr stehen hast, wie z.B. die Einbindung der common.inc...?
Ohne die geht unter ConPresso gar nichts...
Ich habe mein Beispiel nur auf den von Dir geposteten Code-Schnipsel bezogen...
Einfach mal auf den Anfang der sonstigen ConPresso-Dateien achten, wenn man was neues dazu erfinden will...
Oder hast darauf verzichtet und dann ein include mittels http:// statt ein normales gemacht?
Ohne die geht unter ConPresso gar nichts...
Ich habe mein Beispiel nur auf den von Dir geposteten Code-Schnipsel bezogen...
Einfach mal auf den Anfang der sonstigen ConPresso-Dateien achten, wenn man was neues dazu erfinden will...
Oder hast darauf verzichtet und dann ein include mittels http:// statt ein normales gemacht?
Ciao Markus
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Irgendwie funzt der Code nicht. Weiss auch nicht!
<?php
define('CPO', true);
if (file_exists("../_cfg/const.php")) require("../_cfg/const.php");
else require("../_cfg/const.php.dist");
require("../_include/category_rubric.inc.php");
require("../_include/var_category.php");
$Artikel_header = $Rubric_header;
require("const_rubric_language.php");
# --- HEADER ---
# require("_inc_header.php");
echo "<div class=\"htitel\">\n";
$jetzt = time();
if ( $System_release == 1 ) {
$query = "SELECT * FROM cpo_news WHERE kategorie='sponsoren'AND artikel_archiv < 2 AND freigabe = 0 AND pub_datum < '".$jetzt."' AND verfallsdatum > '".$jetzt."' ORDER BY pub_datum DESC LIMIT 0,1 ";
} else {
$query = "SELECT * FROM cpo_news WHERE kategorie='sponsoren'AND artikel_archiv < 1 AND freigabe != 2 AND pub_datum < '".$jetzt."' AND verfallsdatum > '".$jetzt."' ORDER BY pub_datum DESC LIMIT 0,1 ";
}
DEBUG(2, $query, __FILE__, __LINE__);
$db = new DB;
if ( $System_release == 1 ) {
$query = "SELECT count(*) FROM cpo_news WHERE kategorie='news'AND artikel_archiv < 2 AND freigabe = 0 AND pub_datum < '".$jetzt."' AND verfallsdatum > '".$jetzt."'";
} else {
$query = "SELECT count(*) FROM cpo_news WHERE kategorie='news'AND artikel_archiv < 1 AND freigabe != 2 AND pub_datum < '".$jetzt."' AND verfallsdatum > '".$jetzt."";
}
$db->query($query);
$db->next_record();
$artikelzahl = $db->v('count(*)');
$zufallsartikel = rand(0,$artikelzahl-1);
if ( $System_release == 1 ) {
$query = "SELECT * FROM cpo_news WHERE kategorie='news'AND artikel_archiv < 2 AND freigabe = 0 AND pub_datum < '".$jetzt."' AND verfallsdatum > '".$jetzt."' ORDER BY pub_datum DESC LIMIT ".$zufallsartikel .",1";
} else {
$query = "SELECT * FROM cpo_news WHERE kategorie='news'AND artikel_archiv < 1 AND freigabe != 2 AND pub_datum < '".$jetzt."' AND verfallsdatum > '".$jetzt."' ORDER BY pub_datum DESC LIMIT ".$zufallsartikel .",1";
}
$db->query($query);
$anzahl = $db->num_rows();
if ($db->num_rows()>0) {
echo "<table border=\"0\" cellpadding=\"2\" cellspacing=\"1\">\n";
while($db->next_record()):
//hier beginnt der Bildteil
$datei_nr = $db->v("bild");
$query = "SELECT datei, alttext, beschreibung FROM cpo_data WHERE id = '$datei_nr'";
DEBUG(2, $query, __FILE__, __LINE__);
$db_2 = new DB;
$db_2->query($query);
if ($db_2->num_rows()>0){
$db_2->next_record();
$imgtmp = '<img border="1" src="../page/conpresso/_data/'.$db_2->v("datei").'" align=left vspace=3 hspace=4 alt="'.$db_2->v("alttext").'">';
}
else {
$imgtmp='';
}
//hier endet der Bildteil
$db_nr = $db->v("nr");
$db_mehr = $db->v("mehr");
$db_pub_datum = $db->v("pub_datum");
$db_bild_link = $db->v("bild_link");
$db_titel = $db->v("titel");
$db_untertitel = $db->v("untertitel");
$db_text_1 = $db->v("text_1");
$db_text_2 = $db->v("text_2");
$db_freigabe = $db->v("freigabe");
$db_rubric = $db->v("kategorie");
$datum = date( "d.m.Y", $db_pub_datum );
// Artikel-Nummer
echo "<tr>
<td align=\"left\" valign=\"top\">";
#echo "<b><A HREF=\"../page/conpresso/".$db_rubric."/detail.php?nr=".$db_nr."\">".$db_titel.$imgtmp." </A></b><br> ";
echo "<b><font size=1>".$db_titel.$imgtmp."</font></b><br> ";
echo "$db_text_1";
echo "</td></tr>";
endwhile;
echo "</table>\n";
} else {
echo "<span class='nodata'><br><br>".$Rubric_nodata."<br><br></span><br>\n";
}
echo "</div>";
# require("_inc_footer.php");-->
?>
<?php
define('CPO', true);
if (file_exists("../_cfg/const.php")) require("../_cfg/const.php");
else require("../_cfg/const.php.dist");
require("../_include/category_rubric.inc.php");
require("../_include/var_category.php");
$Artikel_header = $Rubric_header;
require("const_rubric_language.php");
# --- HEADER ---
# require("_inc_header.php");
echo "<div class=\"htitel\">\n";
$jetzt = time();
if ( $System_release == 1 ) {
$query = "SELECT * FROM cpo_news WHERE kategorie='sponsoren'AND artikel_archiv < 2 AND freigabe = 0 AND pub_datum < '".$jetzt."' AND verfallsdatum > '".$jetzt."' ORDER BY pub_datum DESC LIMIT 0,1 ";
} else {
$query = "SELECT * FROM cpo_news WHERE kategorie='sponsoren'AND artikel_archiv < 1 AND freigabe != 2 AND pub_datum < '".$jetzt."' AND verfallsdatum > '".$jetzt."' ORDER BY pub_datum DESC LIMIT 0,1 ";
}
DEBUG(2, $query, __FILE__, __LINE__);
$db = new DB;
if ( $System_release == 1 ) {
$query = "SELECT count(*) FROM cpo_news WHERE kategorie='news'AND artikel_archiv < 2 AND freigabe = 0 AND pub_datum < '".$jetzt."' AND verfallsdatum > '".$jetzt."'";
} else {
$query = "SELECT count(*) FROM cpo_news WHERE kategorie='news'AND artikel_archiv < 1 AND freigabe != 2 AND pub_datum < '".$jetzt."' AND verfallsdatum > '".$jetzt."";
}
$db->query($query);
$db->next_record();
$artikelzahl = $db->v('count(*)');
$zufallsartikel = rand(0,$artikelzahl-1);
if ( $System_release == 1 ) {
$query = "SELECT * FROM cpo_news WHERE kategorie='news'AND artikel_archiv < 2 AND freigabe = 0 AND pub_datum < '".$jetzt."' AND verfallsdatum > '".$jetzt."' ORDER BY pub_datum DESC LIMIT ".$zufallsartikel .",1";
} else {
$query = "SELECT * FROM cpo_news WHERE kategorie='news'AND artikel_archiv < 1 AND freigabe != 2 AND pub_datum < '".$jetzt."' AND verfallsdatum > '".$jetzt."' ORDER BY pub_datum DESC LIMIT ".$zufallsartikel .",1";
}
$db->query($query);
$anzahl = $db->num_rows();
if ($db->num_rows()>0) {
echo "<table border=\"0\" cellpadding=\"2\" cellspacing=\"1\">\n";
while($db->next_record()):
//hier beginnt der Bildteil
$datei_nr = $db->v("bild");
$query = "SELECT datei, alttext, beschreibung FROM cpo_data WHERE id = '$datei_nr'";
DEBUG(2, $query, __FILE__, __LINE__);
$db_2 = new DB;
$db_2->query($query);
if ($db_2->num_rows()>0){
$db_2->next_record();
$imgtmp = '<img border="1" src="../page/conpresso/_data/'.$db_2->v("datei").'" align=left vspace=3 hspace=4 alt="'.$db_2->v("alttext").'">';
}
else {
$imgtmp='';
}
//hier endet der Bildteil
$db_nr = $db->v("nr");
$db_mehr = $db->v("mehr");
$db_pub_datum = $db->v("pub_datum");
$db_bild_link = $db->v("bild_link");
$db_titel = $db->v("titel");
$db_untertitel = $db->v("untertitel");
$db_text_1 = $db->v("text_1");
$db_text_2 = $db->v("text_2");
$db_freigabe = $db->v("freigabe");
$db_rubric = $db->v("kategorie");
$datum = date( "d.m.Y", $db_pub_datum );
// Artikel-Nummer
echo "<tr>
<td align=\"left\" valign=\"top\">";
#echo "<b><A HREF=\"../page/conpresso/".$db_rubric."/detail.php?nr=".$db_nr."\">".$db_titel.$imgtmp." </A></b><br> ";
echo "<b><font size=1>".$db_titel.$imgtmp."</font></b><br> ";
echo "$db_text_1";
echo "</td></tr>";
endwhile;
echo "</table>\n";
} else {
echo "<span class='nodata'><br><br>".$Rubric_nodata."<br><br></span><br>\n";
}
echo "</div>";
# require("_inc_footer.php");-->
?>
-
- Handbuchversteher
- Beiträge: 7369
- Registriert: 01.01.1970 01:00
- Hat sich bedankt: 112 Mal
- Danksagung erhalten: 936 Mal
ist keine besonders präzise Beschreibung dessen, was Du beobachtest, bevor Du hier einen Haufen Code ablädst.Irgendwie funzt der Code nicht. Weiss auch nicht!
Wenn man da mal ein bißchen aufräumt, ein paar Schreibfehler korrigiert (auf die PHP expilzit beim Aufruf hinweist), dann funzt es doch ganz wunderbar.
Code: Alles auswählen
<?php
define('CPO', true);
// **** Ab hier kann entfernt werden, wenn die Datei includet wird **********
if (file_exists("../_cfg/const.php")) require("../_cfg/const.php");
else require("../_cfg/const.php.dist");
require("../_include/category_rubric.inc.php");
require("../_include/var_category.php");
require("const_rubric_language.php");
// **** Bis hier kann entfernt werden, wenn die Datei includet wird **********
echo "<div class=\"htitel\">\n";
$jetzt = time();
$die_kategorie = "news";
if ( $System_release == 1 ) {
$query = "SELECT count(*) FROM ".$dbPrefix."_news WHERE kategorie='".$die_kategorie."' AND artikel_archiv < 2 AND freigabe = 0 AND pub_datum < '".$jetzt."' AND verfallsdatum > '".$jetzt."'";
} else {
$query = "SELECT count(*) FROM ".$dbPrefix."_news WHERE kategorie='".$die_kategorie."' AND artikel_archiv < 1 AND freigabe != 2 AND pub_datum < '".$jetzt."' AND verfallsdatum > '".$jetzt."'";
}
$db->query($query);
$db->next_record();
$artikelzahl = $db->v('count(*)');
$zufallsartikel = rand(0,$artikelzahl-1);
if ( $System_release == 1 ) {
$query = "SELECT * FROM ".$dbPrefix."_news WHERE kategorie='".$die_kategorie."' AND artikel_archiv < 2 AND freigabe = 0 AND pub_datum < '".$jetzt."' AND verfallsdatum > '".$jetzt."' ORDER BY pub_datum DESC LIMIT ".$zufallsartikel .",1";
} else {
$query = "SELECT * FROM ".$dbPrefix."_news WHERE kategorie='".$die_kategorie."' AND artikel_archiv < 1 AND freigabe != 2 AND pub_datum < '".$jetzt."' AND verfallsdatum > '".$jetzt."' ORDER BY pub_datum DESC LIMIT ".$zufallsartikel .",1";
}
$db->query($query);
$anzahl = $db->num_rows();
if ($db->num_rows()>0) {
echo "<table border=\"0\" cellpadding=\"2\" cellspacing=\"1\">\n";
while($db->next_record()):
//hier beginnt der Bildteil
$datei_nr = $db->v("bild");
$query = "SELECT datei, alttext, beschreibung FROM ".$dbPrefix."_data WHERE id = '".$datei_nr."'";
DEBUG(2, $query, __FILE__, __LINE__);
$db_2 = new DB;
$db_2->query($query);
if ($db_2->num_rows()>0){
$db_2->next_record();
$imgtmp = '<img border="1" src="../page/conpresso/_data/'.$db_2->v("datei").'" align=left vspace=3 hspace=4 alt="'.$db_2->v("alttext").'">';
} else {
$imgtmp='';
}
//hier endet der Bildteil
$db_nr = $db->v("nr");
$db_mehr = $db->v("mehr");
$db_pub_datum = $db->v("pub_datum");
$db_bild_link = $db->v("bild_link");
$db_titel = $db->v("titel");
$db_untertitel = $db->v("untertitel");
$db_text_1 = $db->v("text_1");
$db_text_2 = $db->v("text_2");
$db_freigabe = $db->v("freigabe");
$db_rubric = $db->v("kategorie");
$datum = date( "d.m.Y", $db_pub_datum );
// Artikel-Nummer
echo "<tr><td align=\"left\" valign=\"top\">";
echo "<b><font size=1>".$db_titel.$imgtmp."</font></b><br> ";
echo $db_text_1;
echo "</td></tr>";
endwhile;
echo "</table>\n";
} else {
echo "<span class='nodata'><br><br>".$Rubric_nodata."<br><br></span><br>\n";
}
echo "</div>";
?>
Ciao Markus
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle