Hallo!
Ich habe ein Formular, das Daten aus einer Datenbank aus liest, und die geänderten Daten zurück schreiben soll.
Der SQL Befehl scheint soweit zu stimmen, denn er bringt in MySQL keinen Fehler, und auch beim Senden des Formulars kommt kein Fehler. Allerdings ändert sich nichts in der Datenbank. Vielleicht liegt es an der $st_id Variablen, die Primärschlüssel des richtigen Datensatz ist. Das Auslesen funktioniert. Hier der Code dazu:
Before Form
//+trace dis
//load the standard form creation utilities
$this->execPieceByName('ff_InitLib');
//load old record if any
global $record, $my, $st_id;
$st_id = ff_getParam('ff_param_itemid',-1); //übergibt die Variable um den richtigen Datensatz zu finden
$rows = ff_select("SELECT * from jos15_cc_stanz WHERE id=$st_id");
if (count(rows)) {
$record = $rows[0];
ff_setValue('text_titel',$record->titel);
ff_setChecked('ausschreibungsart_praktikum',$record->art_praktikum);
ff_setChecked('ausschreibungsart_werkstudent',$record->art_werkstudent);
ff_setChecked('ausschreibungsart_kurzzeitjob',$record->art_kurzzeit);
ff_setChecked('ausschreibungsart_ausland',$record->art_ausland);
ff_setChecked('ausschreibungsart_bachelor',$record->art_bachelor);
ff_setChecked('ausschreibungsart_master',$record->art_master);
ff_setChecked('ausschreibungsart_diplomarbeit',$record->art_diplom);
ff_setChecked('ausschreibungsart_fest',$record->art_fest);
ff_setValue('text_start',$record->start);
ff_setValue('text_dauer',$record->dauer);
ff_setValue('text_ort',$record->ort);
ff_setSelected('auswahl_land',$record->land);
ff_setSelected('auswahl_aufg_bereich',$record->aufgabenbereich);
ff_setSelected('auswahl_branche',$record->branche);
ff_setValue('text_anforderungen',$record->anforderungen);
ff_setValue('text_ausschreibungstext',$record->ausschreibungstext);
ff_setValue('text_ansprechpartner',$record->kontaktdaten);
ff_setValue('text_zusaetzl_infos',$record->zusatzinfos);
ff_setValue('text_bew_art',$record->bewerbungsart);
} else
{
$record = NULL;
}
//+trace dis
//load the standard form creation utilities
$this->execPieceByName('ff_InitLib');
}
Das speichern der geänderten Daten mit UPDATE bringt zwar keinen Fehler, ändert aber auch nichts in der Datenbank.
Begin Submit
//+trace dis
global $my, $st_id;
//$st_id = ff_getParam('ff_param_itemid',-1);
//load the standard creation utilities
$this->execPieceByName('ff_InitLib');
//retrieve the submitted values
$userid = $my->id;
$letzte_aenderung = date("Y-m-d");
$titel = ff_getSubmit('text_titel','Kein Titel');
$start = ff_getSubmit('text_start','');
$dauer = ff_getSubmit('text_dauer','');
$ort = ff_getSubmit('text_ort','');
$land = ff_getSubmit('auswahl_land','');
$aufgabenbereich = ff_getSubmit('auswahl_aufg_bereich','');
$branche = ff_getSubmit('auswahl_branche','');
$anforderungen = ff_getSubmit('text_anforderungen','');
$ausschreibungstext = ff_getSubmit('text_ausschreibungstext','');
$kontaktdaten = ff_getSubmit('text_ansprechpartner','');
$bewerbungsart = ff_getSubmit('text_bew_art','');
$zusatzinfos = ff_getSubmit('text_zusaetzl_infos','');
// Pfad korrigiert
// $pos=strpos(ff_getSubmit('pdf_upload',''),"C:Inetpubwwwrootwicc2009joomla15joomla2componentscom_facileformsuploads");
$tmp=substr(ff_getSubmit('pdf_upload',''),63);
$upload = "/components/com_facileforms/uploads/".$tmp;
$art_praktikum = ff_getSubmit('ausschreibungsart_praktikum',0);
$art_werkstudent = ff_getSubmit('ausschreibungsart_werkstudent',0);
$art_kurzzeit = ff_getSubmit('ausschreibungsart_kurzzeitjob',0);
$art_ausland = ff_getSubmit('ausschreibungsart_ausland',0);
$art_bachelor = ff_getSubmit('ausschreibungsart_bachelor',0);
$art_master = ff_getSubmit('ausschreibungsart_master',0);
$art_diplom = ff_getSubmit('ausschreibungsart_diplomarbeit',0);
$art_fest = ff_getSubmit('ausschreibungsart_fest',0);
//update new record
ff_query("UPDATE jos15_cc_stanz SET letzte_aenderung='$letzte_aenderung',titel='$titel',dauer='$dauer',ort='$ort',land='$land',aufgabenbereich='$aufgabenbereich',branche='$branche',anforderungen='$anforderungen',ausschreibungstext='$ausschreibungstext',kontaktdaten='$kontaktdaten',bewerbungsart='$bewerbungsart',zusatzinfos='$zusatzinfos',upload='$upload',art_praktikum=$art_praktikum,art_werkstudent=$art_werkstudent,art_kurzzeit=$art_kurzzeit,art_ausland=$art_ausland,art_bachelor=$art_bachelor,art_master=$art_master,art_diplom=$art_diplom,art_fest=$art_fest WHERE ID='$st_id'");
Es wäre super, falls jemand den Fehler sieht.
Gruß Urmel