Zeitmanagement - Artikel wird nicht online geschaltet

Gesperrt
pez
Beiträge: 7
Registriert: Di 29. Apr 2003, 10:34
Wohnort: Austria
Kontaktdaten:

Zeitmanagement - Artikel wird nicht online geschaltet

Beitrag von pez »

Hallo,

Ich hoffe Ihr könnt mir weiterhelfen mit der Erweiterung "Zeitmanagement".
Habe die Erweiterung lt. Anleitung in das System eingefügt - funkt. soweit alles - die Datei cron.txt wird mit dem jeweiligem Datum geschrieben und auch die Datenbankeinträge (Startdatum und Enddatum) werden geschrieben, nur wird der jeweilige Artikel nicht zum eingetragenen Datum Online geschaltet.
(Testumgebung Wamp auf W2k)

Wenn die Seite mit eingtragenem Datum das erste mal aufgerufen wird erhalte ich noch zusätzlich folgende Fehlermeldung:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\apache\htdocs\rum\admin\inc\cron.php on line 23

Aktualisiere ich dann diese Seite im Browser verschwindet die Fehlermeldung, jedoch bleibt die Seite offline

woran kann es liegen???
idea-tec
Beiträge: 1242
Registriert: Do 19. Sep 2002, 14:41
Wohnort: Dichtelbach
Kontaktdaten:

Beitrag von idea-tec »

was für eine abfrage auf welche tabelle und welches feld steht in deiner cron.php über zeile 23?
MfG, Karsten
Nicht Können bedeutet nicht, dass man etwas nicht beherrscht, sondern lediglich, dass man sich nicht traut es zu tun ;-)
| Internet | Ihr Logo deutschlandweit auf T-Shirts |
Diplomatie: Jemanden so in die Hölle zu schicken, dass er sich auf die Reise freut!!! ;-)
pez
Beiträge: 7
Registriert: Di 29. Apr 2003, 10:34
Wohnort: Austria
Kontaktdaten:

Beitrag von pez »

habe die abfrage so belassen wie sie ist, alle felder aus der Tabelle management

Code: Alles auswählen

//tabelle management lesen
			$query = "select * from $cfgTab_management";
			$res   = mysql_query($query);
			$anz   = mysql_num_rows($res);
			$i     = 0;
			while ($i < $anz) ... 
idea-tec
Beiträge: 1242
Registriert: Do 19. Sep 2002, 14:41
Wohnort: Dichtelbach
Kontaktdaten:

Beitrag von idea-tec »

das sieht aus, als wenn du keine einträge in der management-tabelle hast
MfG, Karsten
Nicht Können bedeutet nicht, dass man etwas nicht beherrscht, sondern lediglich, dass man sich nicht traut es zu tun ;-)
| Internet | Ihr Logo deutschlandweit auf T-Shirts |
Diplomatie: Jemanden so in die Hölle zu schicken, dass er sich auf die Reise freut!!! ;-)
pez
Beiträge: 7
Registriert: Di 29. Apr 2003, 10:34
Wohnort: Austria
Kontaktdaten:

Beitrag von pez »

hier ein kleiner auszug aus meiner tabelle- management wie man erkennen kann ist in der zweiten zeile ein artikel mit start und enddatum vorhanden
  • manid idcatside artid lanid cat author datestart dateend cache is_start on_tage
    1 1 1 2 5 admin 0000-00-00 00:00:00 0000-00-00 00:00:00 0 1 0
    2 2 2 2 1 admin 2003-04-30 00:00:00 2003-05-30 00:00:00 0 1 0
    3 3 3 2 6 admin 0000-00-00 00:00:00 0000-00-00 00:00:00 0 1 0
dieser wird aber trotzdem nicht angezeigt,

gibt es eine aktuellere version des zeitmanagements als die die von der contenido seite zu beziehen ist ???
idea-tec
Beiträge: 1242
Registriert: Do 19. Sep 2002, 14:41
Wohnort: Dichtelbach
Kontaktdaten:

Beitrag von idea-tec »

tu uns allen nen gefallen ... füge folgende Zeilen nach $res = mysql_query... ein:

Code: Alles auswählen

$test = mysql_error();
echo $test;
und poste das Ergebnis hier
MfG, Karsten
Nicht Können bedeutet nicht, dass man etwas nicht beherrscht, sondern lediglich, dass man sich nicht traut es zu tun ;-)
| Internet | Ihr Logo deutschlandweit auf T-Shirts |
Diplomatie: Jemanden so in die Hölle zu schicken, dass er sich auf die Reise freut!!! ;-)
pez
Beiträge: 7
Registriert: Di 29. Apr 2003, 10:34
Wohnort: Austria
Kontaktdaten:

Beitrag von pez »

jetzt fange ich bald an mir selbst zu zweifeln an,

habe die zeilen eingefügt wie du gesagt hast - folgende meldung

No Database Selected
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\apache\htdocs\rum\admin\inc\cron.php on line 24

so habe im zuge dessen alle einträge welche mit con_management bzw. $cfgTab_management zu tun haben geprüft - ohne erfolg, wo wird die connection zu der datenbank aufgebaut ??? und warum erscheint diese meldung dann nicht mehr wenn ich aktualisiere ???

vielen dank für eure geduld
hk-cons
Beiträge: 99
Registriert: Di 25. Mär 2003, 09:08
Kontaktdaten:

Beitrag von hk-cons »

Hi
Böses Foul .. Du hast keine Datenbank ausgewählt ... :oops:
Wahrscheinlich wird die inc/config.php nicht aufgerufen, denn da sind alle DB-Angaben drinne. Und beim zweiten Mal iwrd eventuell auf irgendeineWeise diese Datei noch gelesen (anderes Script??)

Der Auruf sollte so geschehen:

Code: Alles auswählen

include($ContenidoPath."inc/config.php");

Gruß Harald :)
Gott schütze die Dummen, denn sie ernähren die Wissenden
pez
Beiträge: 7
Registriert: Di 29. Apr 2003, 10:34
Wohnort: Austria
Kontaktdaten:

Beitrag von pez »

das is es leider auch nicht da die datei inc/config.php aufgerufen werden muß da ja die restliche seite einwandfrei funktioniert (das stört mich ja gerade, wenn nämlich keine einzige seite gehen würde wäre es klar) und die datei cron.php wird in der front_content.php ja über ein include eingefügt,

z.B.:

Code: Alles auswählen

include("config.php");
include($ContenidoPath."inc/config.php");
include($ContenidoPath.$cfgPathInc."cfg_sql.inc.php");
include($ContenidoPath.$cfgPathInc."cron.php");
include($ContenidoPath.$cfgPathInc."cfg_language_".$language.".inc.php");
include($ContenidoPath.$cfgPathInc."fnc_general.inc.php");
idea-tec
Beiträge: 1242
Registriert: Do 19. Sep 2002, 14:41
Wohnort: Dichtelbach
Kontaktdaten:

Beitrag von idea-tec »

ersetze im aufruf mal die variable für die tabelle direkt mit dem tabellennamen also $cfgblablabla durch "con_management" ersetzen
MfG, Karsten
Nicht Können bedeutet nicht, dass man etwas nicht beherrscht, sondern lediglich, dass man sich nicht traut es zu tun ;-)
| Internet | Ihr Logo deutschlandweit auf T-Shirts |
Diplomatie: Jemanden so in die Hölle zu schicken, dass er sich auf die Reise freut!!! ;-)
hk-cons
Beiträge: 99
Registriert: Di 25. Mär 2003, 09:08
Kontaktdaten:

Beitrag von hk-cons »

hmmm
ist in der
include($ContenidoPath.$cfgPathInc."fnc_general.inc.php");
die management-Datei verarztet?
Aber das zielt ja in Richtung von idea-tec .... 8)
Aber by mysql sind die Errormessages meistens sehr zutreffend, also ist keine Database ausgewählt.
Funzen sollte es so:
Die Zugangsdaten sind in der contenido/inc/config.php und der Zugang wird über die conlib/db_mysql.inc (funktion connect) aufgebaut.
Mittels
$db = new DB_Contenido;
wird eine neue class definiert
Kann es also sein, dass diese Zeile irgendwo nicht aufgerufen wird?? (vielleicht Deine cron.php .) :twisted:
Vielleicht hilfts Dir etwas weiter :lol:

Gruß Harald
Gott schütze die Dummen, denn sie ernähren die Wissenden
pez
Beiträge: 7
Registriert: Di 29. Apr 2003, 10:34
Wohnort: Austria
Kontaktdaten:

Beitrag von pez »

hi
habe nun alle $cfgTab_management ausgetauscht auf con_management -> ohne erfolg

habe mir contenido 4.2 neu installiert, nur mit der demoseite und der Zeitmanagementerweiterung - jedoch bekomme ich die gleichen Fehlermeldungen bzw. die Seite wird nicht online geschaltet,

seitens Backendbereich müsste aber alles ok sein, da die Daten in die con_management und con_side_lang eingetragen werden

@hk-cons
was meinst du mit
ist in der
include($ContenidoPath.$cfgPathInc."fnc_general.inc.php");
die management-Datei verarztet?
muß ich die datei fnc_general.inc.php auch bearbeiten ???
hk-cons
Beiträge: 99
Registriert: Di 25. Mär 2003, 09:08
Kontaktdaten:

Beitrag von hk-cons »

Hallo pez

sorry ich meine
include($ContenidoPath.$cfgPathInc."cfg_sql.inc.php");
da stehen ja die Tabellen drin ...

aber hast du schon in die errorlog.txt geschaut?
Du hast definitv keine Database ausgewählt, es muss also irgendwie der Aufruf
$db = new DB_Contenido;
fehlen ....

Gruß Harald
Gott schütze die Dummen, denn sie ernähren die Wissenden
pez
Beiträge: 7
Registriert: Di 29. Apr 2003, 10:34
Wohnort: Austria
Kontaktdaten:

Beitrag von pez »

So, habe nun das Problem gelöst,...
falls es jemandem hilft poste ich hier den geänderten Code der Datei cron.php - die restl. Dateien habe ich unverändert lassen

Code: Alles auswählen

<?
include($ContenidoPath."inc/cron_func.php");

global $cfgTab_cat_side;
global $cfgTab_side_lang;

// prüfen ob cron heute schon gelaufen ist
$fp = fopen($ContenidoPath."inc/cron.txt","r");

if ($fp)
{
	while (!feof($fp))
	{
		$datum = fgets($fp, 20);
		//tagesdatum ermitteln
		$today = date("Ymd");
		if ($datum < $today)
		{

		//*** aenderung beginn (06.05.2003/sec)***
			//tabelle management lesen
			$query = "select * from $cfgTab_management";
			$db = new DB_Contenido;
			$res   = $db->query($query);
			$anz   = $db->num_rows($res);
			$db->next_record();
		//*** aenderung ende (06.05.2003/sec)***
			
			$i     = 0;
			while ($i < $anz)
			{
			
		//*** aenderung beginn (06.05.2003/sec)***
				$manid     = $db->f("manid");
				$artid     = $db->f("artid");
				$lanid     = $db->f("lanid");
				$is_start  = $db->f("is_start");
				$on_tage   = $db->f("on_tage");
				$datestart = $db->f("datestart");
				$startjj   = substr($datestart, 0, 4);
				$startmm   = substr($datestart, 5, 2);
				$starttt   = substr($datestart, 8, 2);
				$startdate = $startjj . $startmm . $starttt; 

				$dateend   = $db->f("dateend");
				$endjj     = substr($dateend, 0, 4);
				$endmm     = substr($dateend, 5, 2);
				$endtt     = substr($dateend, 8, 2);
				$enddate   = $endjj . $endmm . $endtt;  
		//*** aenderung ende (06.05.2003/sec)***

				
				//nur artikel bearbeiten, die start- oder endedatum gefüllt haben
				if ($startdate != 0 || $enddate != 0)
				{

					//artikel online schalten und als startartikel definieren, wenn startdatum >= heute
					if ($startdate != 0)
					{
				//*** aenderung beginn (06.05.2003/sec)***
						if (($startdate <= $today && $enddate >= $today)
						|| ($startdate <= $today && $enddate == 0))
				//*** aenderung ende (06.05.2003/sec)***
						{
							sidelangOnline($artid, $lanid);
							if ($is_start == "1")
								catsideStart($artid);
						}
					}
					//artikel offline schalten wenn endedatum < heute
					if ($enddate != 0)
					{
						if ($enddate < $today || $startdate > $today)
						{
							sidelangOffline($artid, $lanid);
							catsideNostart($artid, $lanid);
							//Artikel mit neuem Datum in die Management-Tabelle einfügen
							if ($on_tage > 0 && $startdate < $today)
								neuesDatum ($manid, $datestart, $dateend, $on_tage);
						}
					}
				}
				$i++;
			//*** aenderung beginn (06.05.2003/sec)***
				$db->next_record();
			//*** aenderung ende (06.05.2003/sec)***
			}

			//*** aenderung beginn (06.05.2003/sec)***
				$db->free();
			//*** aenderung ende (06.05.2003/sec)***


		}
		else
		{
//			echo "Cron wurde heute schon ausgeführt<br>";
		}
	}
	fclose($fp);

	//neues Datum in die Datei eintragen
	$fp = fopen($ContenidoPath."inc/cron.txt","w+");
	fwrite($fp, $today);
	fclose($fp);
}
else
{
	echo "Datei wurde nicht gefunden";
}

?>




Vielen Dank nochmals für die Hilfe

---------------------------------------

Sorry, habe nun den obrigen Quellcode mit Comments versehen und nun sollte es ersichtlich sein, was ich geändert habe

Gruß Pez
:wink:
Zuletzt geändert von pez am Di 6. Mai 2003, 14:10, insgesamt 2-mal geändert.
idea-tec
Beiträge: 1242
Registriert: Do 19. Sep 2002, 14:41
Wohnort: Dichtelbach
Kontaktdaten:

Beitrag von idea-tec »

geänderter source ist ja gut und schön ...
sollen die leute im "Kaffeesatz" lesen WAS geändert wurde
MfG, Karsten
Nicht Können bedeutet nicht, dass man etwas nicht beherrscht, sondern lediglich, dass man sich nicht traut es zu tun ;-)
| Internet | Ihr Logo deutschlandweit auf T-Shirts |
Diplomatie: Jemanden so in die Hölle zu schicken, dass er sich auf die Reise freut!!! ;-)
Gesperrt