Welcome, Guest

SQL Befehl bewirkt nichts
(1 viewing) (1) Guest
  • Page:
  • 1

TOPIC: SQL Befehl bewirkt nichts

SQL Befehl bewirkt nichts 2 years, 4 months ago #11105

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
  • Urmel108
  • OFFLINE
  • Fresh Boarder
  • Posts: 3
  • Karma: 0

Re:SQL Befehl bewirkt nichts 2 years, 4 months ago #11118

ich habe festgestellt, dass wenn man bei Begin Submit im SQL Befehl die ID manuell einträgt, wird der Eintrag geändert. Folglich liegt es daran, dass Breezing Forms die Variable $st_id nicht kennt.
Muss ich der einen neuen Wert zuweisen? Die Variable wurde bei Before Form global mit einem Wert belegt.
$st_id = ff_getParam('ff_param_itemid',-1);

Muss ich die Variable in Begin Submit wieder mit der ID füttern? Und wenn ja wie bekomme ich die ID von Before Form nach Begin Submit? Vielleicht liegt es auch am syntax wie ich die Variable in den SQL Code geschrieben habe.

Hat mir einer ne Idee?

Gruß

Urmel
  • Urmel108
  • OFFLINE
  • Fresh Boarder
  • Posts: 3
  • Karma: 0

Re:SQL Befehl bewirkt nichts 2 years, 4 months ago #11157

Hi,

ich würde es mal statt mit ff_getParam mal so probieren:

JRequest::getInt('Itemid',-1);


Sofern es sich jetzt um die Joomla! Itemid handelt, die die Menüsteuerung regelt.
===============================================
Satisfied?
Consider a membership!
===============================================
Like us on Facebook
===============================================
Follow us on Twitter
===============================================

Re:SQL Befehl bewirkt nichts 2 years, 2 months ago #12405

Danke für den Tipp, aber dies löst mein Problem nicht.

Ich habe im Before Form folgendes eingetragen:

$st_id = ff_getParam('ff_param_itemid',-1);

dadurch habe ich die jeweilige ID des eintrags der gerade bearbeitet wird und kann damit eine query machen
zB $rows = ff_select("SELECT * from jos15_cc_stanz WHERE id=$st_id");

das liest mir meine Daten aus der Datenbank aus und ich speichere diese als Value in die einzelnen Felder.

Der User kann nun die gefüllten Felder editieren.

Beim senden sollten nun die Werte aus den Feldern wieder in die Datenbank an die gleiche Stelle (ID) wo sie her kamen.

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");

da aber in $st_id nichts drin steht bekomme ich einen SQL Fehler (where ID= )

Daher meine Frage, wie ich die richtige variable vom Before Form, wo es funktioniert - in das Submit Form feld übergeben kann.
Habe es auch schon mit Hidden Fields versucht, bin aber gescheitert.

Gruß Urmel
  • Urmel108
  • OFFLINE
  • Fresh Boarder
  • Posts: 3
  • Karma: 0
  • Page:
  • 1
Moderators: TheMuffinMan, ForumSupport
Time to create page: 0.89 seconds

Facebook Discount - 40% Off!

Fans of our Facebook page here are entitled to get a 1-year-subscription for the price of a 6-months!

Steps to take:

  • Become a fan on Facebook (Like) here
  • Purchase a 6-months-subscription from here
  • Write a quick email to This email address is being protected from spambots. You need JavaScript enabled to view it. with your username and prove of your like and we'll upgrade to the 1-year-subscription

Joomla!® Forms Discount - 40% Off!

Already purchased a forms extension from a different vendor but your requirements changed and now you need a forms extension that is capable of more than just the standards? We help you to keep the costs for a change under control: Get a 40% discount on our professional membership plan! -- meaning timely unlimited access to all current and future commercial extensions, breezingforms themes & apps and Joomla!® templates at crosstec.de, including 1 year of support -- without any website limitations -- Just prove that you previously purchased another forms extension for Joomla!® from a different vendor and you are qualified.

Steps to take:

  • Purchase a 1-year-subscription from here
  • Write a quick email to This email address is being protected from spambots. You need JavaScript enabled to view it. with your username and prove of the purchase for the other form vendor and we'll upgrade to the professional-subscription

About

Crosstec GmbH & Co. KG

Bergisch-Gladbacher-Str. 829

51069 Cologne, Germany

Imprint