+ Antworten
Seite 1 von 2 1 2 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: [DEV] Komponenteneintrag prüfen

  1. #1
    Neu an Board
    Registriert seit
    25.03.2009
    Beiträge
    47
    Bedankte sich
    9
    Erhielt 3 Danksagungen
    in 3 Beiträgen

    Standard [DEV] Komponenteneintrag prüfen

    Soooooo sorry für einen neuen Post, aber war leider zu früh mit dem löschen Eintrag.

    Habe nun noch ein "Problem" und zwar beim speichern der Einträge.

    Das wird bei mir z.Zt. so gelöst:
    Code:
    	function save()
    	{
    		$model = $this->getModel('parentproductsentry');
    
    		if ($model->store($post)) {
    			$msg = "Verwandtes Produkt gespeichert";
    		} else {
    			$msg = "Fehler beim Speichern";
    		}
    
    		$link = 'index.php?option=com_contactsearch&controller=parentproducts';
    		$this->setRedirect($link, $msg);
    	}
    Wie sieht es aus, wenn ich den Eintrag vorm speichern erstmal prüfen will, ob dieser bereits in der Datenbank existiert?

    Steige noch nicht so wirklich hinter das ganze System (speichern und hinzufügen). Also bitte ich um Verzeihung. Wenn ich nen Anhaltspunkt bekomme geht das schon, nur leider habe ich für sowas noch nichts im Internet gefunden :(

    Danke im vorraus.
    Grüße, Sascha

    digipanda development
    it's a kind of fun to do the impossible!

  2. #2
    Hat hier eine Zweitwohnung
    Registriert seit
    16.09.2008
    Ort
    Braunschweig
    Beiträge
    1.189
    Bedankte sich
    89
    Erhielt 430 Danksagungen
    in 365 Beiträgen

    Standard

    übergib einfach, über ein hidden inputfeld, die id des eintrags...
    du musst ja sowieso, wenn es ein eintrag ist, der editiert werden soll, den datensatz vorher auslesen, also hast du die id...
    beim speichern fragst du ab, ob im hiddenfeld eine id vorhanden war und führst dann ein update durch, ansonsten ein insert into.
    wenn du das über die joomla table klasse machen willst, wird das automatisch erkannt und ein update des datensatzes durchgeführt, wenn die id existiert...
    PHP-Code:
    <input type="hidden" name="id" value="<?php echo $this->xxx->id?>" />
    edit,
    in deinem codeschnipsel übergibst du übrigens die variable $post, die du vorher nicht abgefragt hast...
    PHP-Code:
    $post JRequest::get('post'); 
    dadrinne würde sich dann auch $post['id']; befinden, wo du dich nach richten könntest

  3. #3
    Neu an Board
    Registriert seit
    25.03.2009
    Beiträge
    47
    Bedankte sich
    9
    Erhielt 3 Danksagungen
    in 3 Beiträgen

    Standard

    Ja, danke das weiss ich auch soweit. Das war mir klar, nur habe ich folgendes:

    Ich habe zwei select boxen mit ner Höhe von sagen wir mal 10 Einträgen. Nun kann der Kunde nämlich einem Produkt mehrere Teile zuordnen, sprich ne 1:n Verknüpfung.

    Jetzt kann es sein, dass er in der Eile ein Zubehörteil, welches bereits zugeordnet ist, nochmal auswählt - möchte es aber logischerweise nicht zweimal in der Datenbank haben.

    Deswegen will ich vorher abfragen ob in meiner Tabell #__produktzuzubehoer die productid UND zubehoerid schonmal drinne ist, wenn ja nicht speichern, wenn nein, dann speichern!
    Grüße, Sascha

    digipanda development
    it's a kind of fun to do the impossible!

  4. #4
    Hat hier eine Zweitwohnung
    Registriert seit
    16.09.2008
    Ort
    Braunschweig
    Beiträge
    1.189
    Bedankte sich
    89
    Erhielt 430 Danksagungen
    in 365 Beiträgen

    Standard

    ich glaube, das es dafür auch keine andere möglichkeit gibt als
    abfragen ob in meiner Tabell #__produktzuzubehoer die productid UND zubehoerid schonmal drinne ist, wenn ja nicht speichern, wenn nein, dann speichern!
    sprich, ne abfrage und danach die entscheidung, ob gespeichert werden soll oder nicht...

  5. #5
    Gehört zum Inventar Avatar von blaulichttreff
    Registriert seit
    30.04.2007
    Ort
    Heidenrod
    Beiträge
    7.703
    Bedankte sich
    134
    Erhielt 2.557 Danksagungen
    in 2.421 Beiträgen

    Standard

    wenn du den datensatz über die variable post ja schon hast, dann kannst du ja auch ohne weitere db-abfrage einen vergleich der productid UND zubehoerid vornehmen, oder?
    eleganterweise ev. per ajax schon bei der auswahl des produkts.
    Gruß Sascha
    Viele kennen Google, aber nur wenige scheinen es zu nutzen Problem gelöst? | Joomla FAQ
    FF Springen

  6. Erhielt Danksagungen von:


  7. #6
    Hat hier eine Zweitwohnung
    Registriert seit
    16.09.2008
    Ort
    Braunschweig
    Beiträge
    1.189
    Bedankte sich
    89
    Erhielt 430 Danksagungen
    in 365 Beiträgen

    Standard

    ich glaube ihm geht es eher darum, sich die datenbank abfragen zu sparen, ich war auch mal auf der suche, nach einer schickeren lösung, ohne soviel datenbankabfragerei...
    ich hatte mal was mit checkboxen und referenztabellen gebastelt, wo ich dummerweise erstmal abfragen musste, ob nicht nur der eintrag existiert, sondern auch, ob eventuell eine checkbox abgewählt wurde und hatte dann ein riesen konstrukt, mit vielen datenbank zugriffen, was halt hässlich ist.

  8. Erhielt Danksagungen von:


  9. #7
    Neu an Board
    Registriert seit
    25.03.2009
    Beiträge
    47
    Bedankte sich
    9
    Erhielt 3 Danksagungen
    in 3 Beiträgen

    Standard

    Jepp genau das wars - so wenig abfragen wie möglich. Werde dann aber wohl erstmal über die Abfragen regeln.

    Mir geht es eigentlich größtenteils darum, wenn ich hier frage, dass ich das ganze Framework noch nicht bis ins Detail kenne und mir erfahrene Nutzer evtl. Tipps geben können, wie ich etwas besser oder einfacher löse.

    Also nochmal Danke!
    Grüße, Sascha

    digipanda development
    it's a kind of fun to do the impossible!

  10. #8
    Neu an Board
    Registriert seit
    25.03.2009
    Beiträge
    47
    Bedankte sich
    9
    Erhielt 3 Danksagungen
    in 3 Beiträgen

    Standard

    Achso noch ne kleine Frage am Ende... Kann ich in Joomla die Daten ganz einfach per $_POST abfragen oder gibts da auch was Framework-Internes?
    Grüße, Sascha

    digipanda development
    it's a kind of fun to do the impossible!

  11. #9
    Hat hier eine Zweitwohnung
    Registriert seit
    16.09.2008
    Ort
    Braunschweig
    Beiträge
    1.189
    Bedankte sich
    89
    Erhielt 430 Danksagungen
    in 365 Beiträgen

    Standard

    am besten immer per JRequest benutzen, da dir die klasse schon eventuellen schadcode rausfiltert...

    schau mal hier http://developer.joomla.org/security...njections.html unter Preventing XSS Attacks
    ganze posts kannst du auch über
    PHP-Code:
    JRequest::get('post'); 
    abholen

    http://api.joomla.org/Joomla-Framewo.../JRequest.html

  12. Erhielt Danksagungen von:


  13. #10
    Neu an Board
    Registriert seit
    25.03.2009
    Beiträge
    47
    Bedankte sich
    9
    Erhielt 3 Danksagungen
    in 3 Beiträgen

    Standard

    jepp genau das hab ich gesucht war mir doch sicher, dass es da was gibt. Nochmals vielen Dank für Deine Bemühungen.
    Grüße, Sascha

    digipanda development
    it's a kind of fun to do the impossible!

+ Antworten
Seite 1 von 2 1 2 LetzteLetzte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein