Terminverwaltung

Gesperrt
Vetinari
Beiträge: 136
Registriert: Sa 31. Mär 2007, 19:11
Wohnort: Fulda
Kontaktdaten:

Terminverwaltung

Beitrag von Vetinari »

hallo,

habe mir mal die terminlösungen hier angesehen und ausprobiert, mich dann aber entschlossen, eine eigene variante zu programmieren.
da ich die termindaten teilweise im- und exprotieren muss, möchte ich eigene datenbanktabellen für die veranstaltungen, die orte, referenten etc. haben.

der ansatz (hier der codeschnipsel für die termineingabe) sähe dann für contenido so aus:

Code: Alles auswählen

if (!is_object($tpl)) 
	{
		$tpl = new Template;
	}

$tpl->reset();
$template = "termin.html";

if (!is_object($db))
$db = new DB_Contenido;
$db1 = new DB_Contenido;
$db2 = new DB_Contenido;
$db3 = new DB_Contenido; 
$db4 = new DB_Contenido; 
$db5 = new DB_Contenido; 

cInclude('classes', 'class.template.php');
cInclude('classes', 'class.termine.php');

if ($edit)
  { 
    echo '<script type="text/javascript" src="'.$cfg['path']['contenido_fullhtml'].'scripts/calendar1.js.php?contenido='.$sess->id.'"></script>'; 
       
    if(isset($_POST['senden'])) 
    {
      $sql = "insert into ".$cfg["tab"]["veranstaltung"]." (te_beginn_datum, te_end_datum, te_kategorie_text1, te_titel, te_kurz_text, te_lang_text, te_kosten, te_kosten_zusatz, te_beginn_zeit, te_end_zeit, te_uhrzeit_text, st_veranstaltungsort, an_ansprechpartner, re_referent1, re_referent2) values ('$te_beginn_datum', '$te_end_datum', '".$_POST['te_kategorie_text1']."', '".$_POST['te_titel']."', '".$_POST['te_kurz_text']."', '".$_POST['te_lang_text']."', '".$_POST['te_kosten']."', '".$_POST['te_kosten_zusatz']."', '".$_POST['te_beginn_zeit']."', '".$_POST['te_end_zeit']."', '".$_POST['te_uhrzeit_text']."', '".$_POST['st_veranstaltungsort']."', '".$_POST['an_ansprechpartner']."', '".$_POST['re_referent1']."', '".$_POST['re_referent2']."')";

      $db1->query($sql);
      $db1->next_record(); 
    }

// Termineingabe Backend

echo '<form action="'.$REQUEST_URI.'" method="post" name="formulareintrag">
      <table align="center" cellpadding="2" cellspacing="2" border="0" width="90%">
        <tr><td align="center" colspan="2"><b>Neuen Termin eingeben</b><br><br></td></tr>
        <tr><td>'.mi18n("Datum Beginn (Format: JJJJ-MM-TT)").'</td><td valign="top"><input type="text" name="te_beginn_datum" size="15">&nbsp;&nbsp;<a href="javascript:startcal.popup(\'\',\''.$cfg['path']['contenido_fullhtml'].'templates/standard/\');"><img src="'.$cfg['path']['contenido_fullhtml'].'images/calendar.gif" width="16" valign="top" height="16" border="0" alt="'.mi18n("Bitte Datum mit Hilfe des Kalenders waehlen").'"></a></td></tr> 
        <tr><td>'.mi18n("Datum Ende (Format: JJJJ-MM-TT)").'</td><td valign="top"><input type="text" name="te_end_datum" size="15" class=Input>&nbsp;&nbsp;<a href="javascript:endcal.popup(\'\',\''.$cfg['path']['contenido_fullhtml'].'templates/standard/\');"><img src="'.$cfg['path']['contenido_fullhtml'].'images/calendar.gif" width="16" valign="top" height="16" border="0" alt="'.mi18n("Bitte Datum mit Hilfe des Kalenders waehlen").'"></a></td></tr>
        <tr><td>'.mi18n("Kategorie").' </td><td><input name="te_kategorie_text1" type="text" size="30"></td></tr>  
        <tr><td>'.mi18n("Veranstaltungsname").' </td><td><input name="te_titel" type="text" size="50"></td></tr> 
        <tr><td>'.mi18n("Kurztext").' </td><td><textarea name="te_kurz_text" rows="3" cols="45"></textarea></td></tr>    
        <tr><td>'.mi18n("Langtext").' </td><td><textarea name="te_lang_text" rows="6" cols="45"></textarea></td></tr>     
        <tr><td>'.mi18n("Kosten").' </td><td><input name="te_kosten" type="text" size="15"> (Format: 00,00)</td></tr>
        <tr><td>'.mi18n("Kosten Kommentar").' </td><td><input name="te_kosten_zusatz" type="text" size="50"></td></tr> 
        <tr><td>'.mi18n("Zeit (Beginn)").' </td><td><input name="te_beginn_zeit" type="text" size="20"> (Format: hh:mm:ss)</td></tr>
        <tr><td>'.mi18n("Zeit (Ende)").' </td><td><input name="te_end_zeit" type="text" size="20"> (Format: hh:mm:ss)</td></tr>
        <tr><td>'.mi18n("Zeit Kommentar (optional)").' </td><td><input name="te_uhrzeit_text" type="text" size="40"></td></tr>
        <tr><td>'.mi18n("Veranstaltungsort").' </td><td><select name="st_veranstaltungsort" size="1">';
        
          $sql = "SELECT st_veranstaltungsort FROM ".$cfg["tab"]["veranstaltungsort"]."";
      
          $db2->query($sql);
          while ($db2->next_record()) 
	        { 
            echo "<option>".$db2->f("st_veranstaltungsort")."</option>";
          }
        echo '</select></td></tr>
        <tr><td>Anmeldung </td><td><select name="an_ansprechpartner" size="1">';

          $sql = "SELECT an_ansprechpartner FROM ".$cfg["tab"]["anmeldung"]."";
      
          $db3->query($sql); 
          while ($db3->next_record()) 
	        {   
            echo "<option>".$db3->f("an_ansprechpartner")."</option>";
          }
        echo '</select></td></tr>
        <tr><td>Referent 1 </td><td><select name="re_referent1" size="1">';

          $sql = "SELECT re_referent FROM ".$cfg["tab"]["referent"]."";
      
          $db4->query($sql);
          while ($db4->next_record()) 
	        {  
            echo "<option>".$db4->f("re_referent")."</option>";
          }
        echo '</select></td></tr>
        <tr><td>Referent 2 </td><td><select name="re_referent2" size="1">
        <option>Bitte wählen</option>';

          $sql = "SELECT re_referent FROM ".$cfg["tab"]["referent"]."";
      
          $db5->query($sql);
          while ($db5->next_record()) 
	        {  
            echo "<option>".$db5->f("re_referent")."</option>";
          }
        echo '</select></td></tr>
        <tr><td>&nbsp;</td><td><input type="submit" value="'.mi18n("Absenden").'" class=InputButton>&nbsp;&nbsp;<input type="hidden" name="senden" value=1><input type="reset" value="'.mi18n("Zuruecksetzen").'" class=InputButton></td>
        </tr></table></form>';     

   echo '<script language="JavaScript"> 
        var startcal = new calendar1(document.forms[\'formulareintrag\'].elements[\'te_beginn_datum\']); 
            startcal.year_scroll = true; 
            startcal.time_comp = false; 
        var endcal = new calendar1(document.forms[\'formulareintrag\'].elements[\'te_end_datum\']); 
            endcal.year_scroll = true; 
            endcal.time_comp = false; 
        </script>'; 
    
 }
jetzt ergibt sich aber das problem, dass alle artikel in contenido eindeutig durch die variablen idcat und idart definiert sind, somit auch jeder termin auf diese weise eigene "koordinaten" braucht, um als einzeltermin wieder aufgerufen werden zu können.

schlaucher hat das in seiner terminverwaltung gelöst, indem er alle daten in die tabelle con_content ablegt. dies ist sicher auch der einzig mögliche weg, aber ich bin noch nicht so fit, um seinen code komplett zu verstehen.

hat jemand einen einfachen vorschlag oder tipp, wie ich meinen code ergänzen kann, um die daten des termins eindeutig in die tabelle con_content abzulegen, so dass ich später wieder darauf zugreifen kann - und wie dieser zugriff aussehen müsste?

danke und gruss, V.
Si non confectus, non reficiat. (Motto der Vetinaris)
Solange etwas nicht kaputt ist, repariere es nicht.
oder:
Lass die Dinge einfach laufen, die meisten Probleme erledigen sich eh von selbst.
schlaucher
Beiträge: 444
Registriert: Mi 14. Sep 2005, 10:38
Wohnort: Karlsruhe
Kontaktdaten:

Re: Terminverwaltung

Beitrag von schlaucher »

Vetinari hat geschrieben:hallo,

habe mir mal die terminlösungen hier angesehen und ausprobiert, mich dann aber entschlossen, eine eigene variante zu programmieren.
da ich die termindaten teilweise im- und exprotieren muss, möchte ich eigene datenbanktabellen für die veranstaltungen, die orte, referenten etc. haben.

hat jemand einen einfachen vorschlag oder tipp, wie ich meinen code ergänzen kann, um die daten des termins eindeutig in die tabelle con_content abzulegen, so dass ich später wieder darauf zugreifen kann - und wie dieser zugriff aussehen müsste?

danke und gruss, V.
Hi Vetinari,

ich habe Dir mal den Teil aus der Terineingabe herausgesucht, der den Eintrag in die Tabelle con_content durchführt:

Code: Alles auswählen

                $MOD_TE_sql    = "INSERT INTO ".$cfg["tab"]["content"]." ";
                $MOD_TE_sql   .= "(idcontent, idartlang, idtype, typeid, value, author, created, lastmodified) ";
                $MOD_TE_sql   .= "VALUES('".$db->nextid($cfg["tab"]["content"])."', '".$idartlang."', '3', '".$MOD_TE_zaehler."', '".$MOD_TE_termin[$MOD_TE_zaehler]."', '".$MOD_TE_author."', '".$MOD_TE_date."', '".$MOD_TE_date."')"; 
                $db->query($MOD_TE_sql); 
Wichtig hierbei sind vor allem folgende Felder:
idcontent = Fortlaufender Zähler der Datensätze > $db->nextid($cfg["tab"]["content"])
idartlang = Verbindung zum Artikel
idtype = Typ des Eintrages > siehe Tabelle con_type
typeid = Fortlaufender Zähler für idtype > Wenn man in einem Artikel mehrere gleiche idtypen hat z.B. mehrer Textfelder
value = Inhalt des Feldes

Gruß
schlaucher
Vetinari
Beiträge: 136
Registriert: Sa 31. Mär 2007, 19:11
Wohnort: Fulda
Kontaktdaten:

Beitrag von Vetinari »

hi schlaucher,

danke, da hat ja gleich der richtige geantwortet :wink:

den teil des codes hatte ich auch schon gefunden, aber auf das zusammenspiel kommt es eben mehr an. ich habe neben deiner terminverwaltung auch noch eine weitere (von rezeptionist) aus dem forum in meinen beispielmandanten eingebunden, aber in beiden fällen gibt mir die terminliste ein leeres ergebnis zurück.

es ist anscheinend wichtig, wie die kategorien eingerichtet und angeordnet sind. bei deiner terminverwaltung ist doch mit "aktuelle kategorie" die kategorie gemeint, in der die terminliste liegt, oder?

hmm, momentan stecke ich ein wenig fest ...
hältst du meinen ansatz für sinnvoll, oder wird das ganze mit zusätzlichen tabellen zu kompliziert?

gruss, V.
Si non confectus, non reficiat. (Motto der Vetinaris)
Solange etwas nicht kaputt ist, repariere es nicht.
oder:
Lass die Dinge einfach laufen, die meisten Probleme erledigen sich eh von selbst.
schlaucher
Beiträge: 444
Registriert: Mi 14. Sep 2005, 10:38
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von schlaucher »

Vetinari hat geschrieben:hi schlaucher,

danke, da hat ja gleich der richtige geantwortet :wink:

den teil des codes hatte ich auch schon gefunden, aber auf das zusammenspiel kommt es eben mehr an. ich habe neben deiner terminverwaltung auch noch eine weitere (von rezeptionist) aus dem forum in meinen beispielmandanten eingebunden, aber in beiden fällen gibt mir die terminliste ein leeres ergebnis zurück.

es ist anscheinend wichtig, wie die kategorien eingerichtet und angeordnet sind. bei deiner terminverwaltung ist doch mit "aktuelle kategorie" die kategorie gemeint, in der die terminliste liegt, oder?

hmm, momentan stecke ich ein wenig fest ...
hältst du meinen ansatz für sinnvoll, oder wird das ganze mit zusätzlichen tabellen zu kompliziert?

gruss, V.
zu den Kategorien:
Die Angabe der Kategorie bezieht sich auf den Standort der Terminartikel. Deshalb auch die Möglichkeit mehrere Kategorien anzugeben, wenn Du z.B. in einer Terminliste Termine aus verschiedenen Kategorien anzeigen möchtest.

Machs mal so:

- Kategorie für Terminartikel anlegen
- in der Kategorie mal 2 -3 Termine anlegen (online nicht Startartikel)
- Terminlistenartikel anlegen (Kategorie ist egal)
- In der Konfiguration der Terminliste als primäre Kategorie die Kategorie der Terminartikel angben.
- Alle anderen Parameter mal aktivieren (Einschränken kann man später)
- HTML Templates nicht vergessen

Dann solltest Du was sehen.

zu der zusätzlichen Tabellen
Das ist Geschmacksache. Ich nutze lieber Tabellen, die vom System angelegt wurden, da es oft Verbindungen untereinader gibt, die nicht auf Anhieb erkennbar sind. z.B. Volltextsuche

Gruß
schlaucher
Vetinari
Beiträge: 136
Registriert: Sa 31. Mär 2007, 19:11
Wohnort: Fulda
Kontaktdaten:

Beitrag von Vetinari »

hi schlaucher,

vielen dank, es hat geklappt! ich hatte die falsche kategorie zugeordnet ...

noch eine verständnisfrage: wenn jeder termin ein eigener artikel ist, muss ich dann bei meiner lösung (eigene tabellen) diesen noch extra per php in die tabelle con_content eintragen? das macht doch contenido bereits automatisch. oder geht es dabei nur um das wieder-rausfischen des termins für die einzelanzeige?

ich werde mal an meiner lösung weiterbasteln. hab mir den CCalender auch mal runtergeladen und möchte ihn ebenfalls einbinden. spätestens dann werde ich sicher noch die eine oder andere frage haben. :D

gruss, V.
Si non confectus, non reficiat. (Motto der Vetinaris)
Solange etwas nicht kaputt ist, repariere es nicht.
oder:
Lass die Dinge einfach laufen, die meisten Probleme erledigen sich eh von selbst.
schlaucher
Beiträge: 444
Registriert: Mi 14. Sep 2005, 10:38
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von schlaucher »

Vetinari hat geschrieben:hi schlaucher,

vielen dank, es hat geklappt! ich hatte die falsche kategorie zugeordnet ...

noch eine verständnisfrage: wenn jeder termin ein eigener artikel ist, muss ich dann bei meiner lösung (eigene tabellen) diesen noch extra per php in die tabelle con_content eintragen? das macht doch contenido bereits automatisch. oder geht es dabei nur um das wieder-rausfischen des termins für die einzelanzeige?

ich werde mal an meiner lösung weiterbasteln. hab mir den CCalender auch mal runtergeladen und möchte ihn ebenfalls einbinden. spätestens dann werde ich sicher noch die eine oder andere frage haben. :D

gruss, V.
Eintragungen in die con_content macht contenido nur, wenn im Template Deines Artikels, Module wie HTML Header oder HTML Text definiert sind, sonst nicht.
Wenn Du die Lösung mit eigenen Tabellen weiterentwickelst, werden in der con_content für Deine Terminartikel keine Einträge stehen.

Gruß
schlaucher
Vetinari
Beiträge: 136
Registriert: Sa 31. Mär 2007, 19:11
Wohnort: Fulda
Kontaktdaten:

Beitrag von Vetinari »

ok, danke. werde mir das konzept nochmal überlegen ...

bei deiner terminverwaltung funktionieren bei mir 2 dinge noch nicht.
zum einen wenn ich auf die kategorieauswahl (ganz oben in der terminliste) gehe - bei auswahl einer kategorie springt er zur contenido startseite.
zum anderen wenn ich im kalender auf einen eingetragenen termin klicke sprigt er ebenfalls zur contenido startseite. obwohl im letzten fall der link recht verheißungsvoll aussieht:
http://localhost/cms/front_content.php? ... _sK_show=t
wie es aussieht findet er keine kategorie id obwohl ich als primäre kategorie der termine die gleiche eingegeben habe wie für die terminliste.

gruss, V.
Si non confectus, non reficiat. (Motto der Vetinaris)
Solange etwas nicht kaputt ist, repariere es nicht.
oder:
Lass die Dinge einfach laufen, die meisten Probleme erledigen sich eh von selbst.
schlaucher
Beiträge: 444
Registriert: Mi 14. Sep 2005, 10:38
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von schlaucher »

Vetinari hat geschrieben:ok, danke. werde mir das konzept nochmal überlegen ...

bei deiner terminverwaltung funktionieren bei mir 2 dinge noch nicht.
zum einen wenn ich auf die kategorieauswahl (ganz oben in der terminliste) gehe - bei auswahl einer kategorie springt er zur contenido startseite.
zum anderen wenn ich im kalender auf einen eingetragenen termin klicke sprigt er ebenfalls zur contenido startseite. obwohl im letzten fall der link recht verheißungsvoll aussieht:
http://localhost/cms/front_content.php? ... _sK_show=t
wie es aussieht findet er keine kategorie id obwohl ich als primäre kategorie der termine die gleiche eingegeben habe wie für die terminliste.

gruss, V.
Jetzt wirst Du sehr speziell zur Terminliste. Da solltest Du Deine Fragen auch in diesem Therad stellen. http://www.contenido.de/forum/viewtopic.php?t=13425

Hier die Links zu Deinen Fragen:

Kategorieauswahl: http://www.contenido.de/forum/viewtopic ... 960#100960

sKalender: http://localhost geht bei mir nicht :wink:
aber da fehlt der Eintrag für die idcatart. Was er nicht findet ist der Artikel mit der Terminliste. Den muss man in der Konfiguration des sKalenders angeben. Überprüf das nochmal.

Gruß
schlaucher
Vetinari
Beiträge: 136
Registriert: Sa 31. Mär 2007, 19:11
Wohnort: Fulda
Kontaktdaten:

Beitrag von Vetinari »

danke. rest poste ich dann unter dem anderen thread.

gruss, V.
Si non confectus, non reficiat. (Motto der Vetinaris)
Solange etwas nicht kaputt ist, repariere es nicht.
oder:
Lass die Dinge einfach laufen, die meisten Probleme erledigen sich eh von selbst.
Vetinari
Beiträge: 136
Registriert: Sa 31. Mär 2007, 19:11
Wohnort: Fulda
Kontaktdaten:

Beitrag von Vetinari »

hi schlaucher oder wer auch immer,

habe mal folgendes modul für die eingabe meiner referenten erstellt und das erstellen und editieren funktioniert auch, aber die erste sql-abfrage liefert kein ergebnis, was dazu führt, dass beim erneuten aufruf des artikels die input-felder leer bleiben.
versuche schon seit stunden den fehler zu finden, seh aber keinen :roll:

Code: Alles auswählen

if (!is_object($tpl)) 
	{
		$tpl = new Template;
	}

$tpl->reset();
$template = "referent.html";

if (!is_object($db))
$db = new DB_Contenido;

cInclude('classes', 'class.template.php');

if($edit)
    { 
        $submit='';  
        
        $sql = "SELECT * FROM ".$cfg["tab"]["referent"]." WHERE re_idart=".$idart."";
        $db->query($sql);
        
        $referent1 = $db->f("re_referent");
        $referent2 = $db->f("re_firstname");
        $referent3 = $db->f("re_name");
        $referent4 = $db->f("re_telefon");
        $referent5 = $db->f("re_fax");
        $referent6 = $db->f("re_email");
        $referent7 = $db->f("re_web");
        $referent8 = $db->f("re_description");
        $referent9 = $db->f("re_offer");
        $referent10 = $db->f("re_image");

        if($db->num_rows() != 0)
        {
            $exists = 1;
        }      
         
        if($senden == 1) // if form has been send, write data into database
        {
            $senden = 0;

            if($exists == 1)
            {                               
		        $sql = "UPDATE ".$cfg["tab"]["referent"]." SET re_idart='".$idart."', re_referent='".$re_referent."', re_firstname='".$re_firstname."', re_name='".$re_name."', re_telefon='".$re_telefon."', re_fax='".$re_fax."', re_email='".$re_email."', re_web='".$re_web."', re_description='".$re_description."', re_offer='".$re_offer."', re_image='".$re_image."' WHERE re_idart=".$idart."";
		        $db->query($sql);
            }
            else
            {
		        $sql = "INSERT into ".$cfg["tab"]["referent"]." (re_idart, re_referent, re_firstname, re_name, re_telefon, re_fax, re_email, re_web, re_description, re_offer, re_image) VALUES ('".$idart."', '".$re_referent."', '".$re_firstname."', '".$re_name."', '".$re_name."', '".$re_telefon."', '".$re_fax."', '".$re_web."', '".$re_description."', '".$re_offer."', '".$re_image."')";
		        $db->query($sql);
            }   
        } // end if($senden)                

// insert referent (backend)

	    echo '<form action="'.$REQUEST_URI.'" method="post" name="formulareintrag">
		<table align="center" cellpadding="2" cellspacing="2" border="0" width="90%"> 
			<tr><td align="center" colspan="2"><b>Referent eingeben/&auml;ndern</b><br><br></td></tr>
			<tr><td>'.mi18n("Referent").' </td><td><input name="re_referent" type="text" size="40" value="'.$referent1.'"></td></tr>
			<tr><td>'.mi18n("Vorname").' </td><td><input name="re_firstname" type="text" size="20" value="'.$referent2.'"></td></tr>  
			<tr><td>'.mi18n("Name").' </td><td><input name="re_name" type="text" size="25" value="'.$referent3.'"></td></tr> 
			<tr><td>'.mi18n("Telefon").' </td><td><input name="re_telefon" type="text" size="20" value="'.$referent4.'"></td></tr>
			<tr><td>'.mi18n("Fax").' </td><td><input name="re_fax" type="text" size="20" value="'.$referent5.'"></td></tr>
			<tr><td>'.mi18n("E-mail").' </td><td><input name="re_email" type="text" size="25" value="'.$referent6.'"></td></tr>
			<tr><td>'.mi18n("Web").' </td><td><input name="re_web" type="text" size="20" value="'.$referent7.'"></td></tr> 
			<tr><td>'.mi18n("Zur Person").' </td><td><textarea name="re_description" rows="4" cols="45">'.$referent8.'</textarea></td></tr>    
			<tr><td>'.mi18n("Angebot").' </td><td><textarea name="re_offer" rows="6" cols="45">'.$referent9.'</textarea></td></tr>  
			<tr><td>'.mi18n("Foto").' </td><td><input name="re_image" type="file" size="30" value="'.$referent10.'"></td></tr> 
			<tr><td>&nbsp;</td><td><input type="submit" value="'.mi18n("Absenden").'" class=InputButton>&nbsp;&nbsp;<input type="hidden" name="senden" value="1"><input type="reset" value="'.mi18n("Zuruecksetzen").'" class=InputButton></td</tr>
        </table></form>';                 
    
    } 
    else // show referent (frontend)
    {

	    $sql = "SELECT * FROM ".$cfg["tab"]["referent"]." where re_idart=".$idart."";
        $db->query($sql);

	    if($db->f("re_strasse"))
	    {
		    $adresse = "".$db->f("re_strasse")." ".$db->f("re_nummer").", ".$db->f("re_plz")." ".$db->f("re_ort")."";
	    }
    
	    if($db->f("re_telefon") and $db->f("re_email"))
	    {
		    $kontakt = "".$db->f("re_telefon").", ".$db->f("re_email")."";
		    if($db->f("re_web"))
		    {
			    $kontakt = "".$db->f("re_telefon").", <a href='mailto:".$db->f("re_email")."'>".$db->f("re_email")."</a>, ".$db->f("re_web")."";
		    }
		if($db->f("re_fax"))
		{
			$kontakt = "".$db->f("re_telefon").", ".$db->f("re_fax")." (Fax), <a href='mailto:".$db->f("re_email")."'>".$db->f("re_email")."</a>";
		}
		elseif($db->f("re_fax") and $db->f("re_web")) 
		{
			$kontakt = "".$db->f("re_telefon").", ".$db->f("re_fax")." (Fax), <a href='mailto:".$db->f("re_email")."'>".$db->f("re_email")."</a>, ".$db->f("re_web")."";
		}
        }
	    elseif($db->f("re_telefon") and $db->f("re_fax"))
	    {
		    $kontakt = "".$db->f("re_telefon").", ".$db->f("re_fax")." (Fax)";
	    }
	    elseif($db->f("re_telefon"))
	    {
		    $kontakt = $db->f("re_telefon");
	    }    
      
		    $image = '<img src="" alt="'.$db->f("re_referent").'" border="0">';  
      
		    $tpl->set('d', 'REFERENT', $db->f("re_referent"));
		    $tpl->set('d', 'KONTAKT', $kontakt);
		    $tpl->set('d', 'DESCRIPTION', $db->f("re_description"));
		    $tpl->set('d', 'OFFER', $db->f("re_offer"));
		    $tpl->set('d', 'IMAGE', $image);
		    $tpl->set('d', 'ADRESSE', $adresse);
            $backlink = "<a href='JavaScript:history.back(1)'>".mi18n("Zurueck zum Termin")."</a>"; 
            $tpl->set('d', 'BACK', $backlink);            

		    $tpl->next();

        $tpl->generate('templates/'.$template);
    } 

?>
gruss, V.
Si non confectus, non reficiat. (Motto der Vetinaris)
Solange etwas nicht kaputt ist, repariere es nicht.
oder:
Lass die Dinge einfach laufen, die meisten Probleme erledigen sich eh von selbst.
schlaucher
Beiträge: 444
Registriert: Mi 14. Sep 2005, 10:38
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von schlaucher »

Vetinari hat geschrieben:hi schlaucher oder wer auch immer,

habe mal folgendes modul für die eingabe meiner referenten erstellt und das erstellen und editieren funktioniert auch, aber die erste sql-abfrage liefert kein ergebnis, was dazu führt, dass beim erneuten aufruf des artikels die input-felder leer bleiben.
versuche schon seit stunden den fehler zu finden, seh aber keinen :roll:

gruss, V.
ich kenne zwar nicht die Struktur deiner Tabelle, aber änder mal den SELECT in:

Code: Alles auswählen

$sql = "SELECT * FROM ".$cfg["tab"]["referent"]." WHERE re_idart=".$idart.""; 
$db->query($sql); 

if($db->num_rows() > 0) { 
    $exists = 1; 
    while($db->next_record()) {
        $referent1 = $db->f("re_referent"); 
        $referent2 = $db->f("re_firstname"); 
        $referent3 = $db->f("re_name"); 
        $referent4 = $db->f("re_telefon"); 
        $referent5 = $db->f("re_fax"); 
        $referent6 = $db->f("re_email"); 
        $referent7 = $db->f("re_web"); 
        $referent8 = $db->f("re_description"); 
        $referent9 = $db->f("re_offer"); 
        $referent10 = $db->f("re_image"); 
    }
}
Gruß
schlaucher
Vetinari
Beiträge: 136
Registriert: Sa 31. Mär 2007, 19:11
Wohnort: Fulda
Kontaktdaten:

Beitrag von Vetinari »

hi schlaucher,

danke, aber so funktioniert es leider auch nicht. habe schon etliche varianten ausprobiert und kapiers einfach nicht.
ich würde die abfrage auch gerne in meine eigene class Termine auslagern. kenne mich jedoch mit der objektorientierten programmierung noch nicht so gut aus.

wenn ich folgende function in der class Termine habe:

Code: Alles auswählen

function getReferent($idart) 
  {
        global $cfg;

        $db = new DB_Contenido;

        $sql = "SELECT re_referent, re_firstname, re_name, re_telefon, re_fax, re_email, re_web, re_description, re_offer, re_image FROM ". $cfg["tab"]["referent"]." WHERE re_idart='$idart'";

        $db->query($sql);
        $referent = array();
        
        while ($db->next_record())
        {           
            $referent["re_referent"] = $db->f("re_referent");
            $referent["re_firstname"] = $db->f("re_firstname");
            $referent["re_name"] = $db->f("re_name");
            $referent["re_telefon"] = $db->f("re_telefon");
            $referent["re_fax"] = $db->f("re_fax");
            $referent["re_email"] = $db->f("re_email");
            $referent["re_web"] = $db->f("re_web");
            $referent["re_description"] = $db->f("re_description");
            $referent["re_offer"] = $db->f("re_offer");
            $referent["re_image"] = $db->f("re_image");
        }
        return $referent; 
  }
wie rufe ich dann die einzelnen variablen im modul wieder auf?
die while schleife ist hier vielleicht nicht unbedingt erforderlich, da es sich ja immer nur um einen datensatz handelt ...

hier die struktur der tabelle con_referent:

Code: Alles auswählen

CREATE TABLE `con_referent` (
  `re_id` int(11) NOT NULL auto_increment,
  `re_idart` int(10) NOT NULL default '',
  `re_referent` varchar(150) NOT NULL default '',
  `re_firstname` varchar(200) NOT NULL default '',
  `re_name` varchar(200) NOT NULL default '',
  `re_telefon` varchar(100) NOT NULL,
  `re_fax` varchar(100) NOT NULL,
  `re_email` varchar(100) NOT NULL,
  `re_web` varchar(100) NOT NULL,
  `re_description` text NOT NULL,
  `re_offer` text NOT NULL,
  `re_image` varchar(100) NOT NULL,
  PRIMARY KEY  (`re_id`)
) ENGINE=MyISAM;
ich werde mal meine lokale installation auf dem webserver installieren, dann kannst du dir dort das ganze im backend selbst ansehen.

gruss, V.
Si non confectus, non reficiat. (Motto der Vetinaris)
Solange etwas nicht kaputt ist, repariere es nicht.
oder:
Lass die Dinge einfach laufen, die meisten Probleme erledigen sich eh von selbst.
schlaucher
Beiträge: 444
Registriert: Mi 14. Sep 2005, 10:38
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von schlaucher »

Vetinari hat geschrieben:hi schlaucher,

ich werde mal meine lokale installation auf dem webserver installieren, dann kannst du dir dort das ganze im backend selbst ansehen.

gruss, V.
o.k., schicke mir die Zugangsdaten via PM

Gruß
schlaucher
Vetinari
Beiträge: 136
Registriert: Sa 31. Mär 2007, 19:11
Wohnort: Fulda
Kontaktdaten:

Beitrag von Vetinari »

mach ich, kann aber noch etwas dauern, da ich ich erst alles installieren und einrichten muss.

gruss, V.
Si non confectus, non reficiat. (Motto der Vetinaris)
Solange etwas nicht kaputt ist, repariere es nicht.
oder:
Lass die Dinge einfach laufen, die meisten Probleme erledigen sich eh von selbst.
Gesperrt