+ Antworten
Seite 1 von 3 1 2 3 LetzteLetzte
Ergebnis 1 bis 10 von 28

Thema: Joomla Basis: Datenbank Update

  1. #1
    Neu an Board
    Registriert seit
    22.01.2015
    Ort
    Köln
    Alter
    22
    Beiträge
    25
    Bedankte sich
    7
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Unglücklich Joomla Basis: Datenbank Update

    Hallo liebe Community,

    ich baue mir gerade ein Module und bin relativ am Anfang was das bauen von Modulen etc. in Joomla angeht...
    In meinem Modul wird eine Liste aus der Datenbank ausgelesen, die eines anderen Modules. So viel dazu.
    Nun soll sobald man in der Liste einen Punkt anklickt in der Datenbank ein Eintrag von 0 auf 1 gesetzt werden.
    Das auslesen bekomme ich hin, aber das 'update' oder 'set' funktioniert nicht. Derzeit sieht der 'Update' part so aus:

    Der eigentliche 'Update'-PHP-Teil:
    PHP-Code:
    <?php
    if(isset($_POST))
    {
        
    $smid $_POST['id'];
        
    $smtl $_POST['sm'];    
            
        
    $query $db->getQuery(true);
     
        
    // Insert columns.
        
    $column $smtl;
        
    // Insert values.
        
    $value true;

        
    // Prepare the insert query.
        
    $query
            
    ->insert($db->quoteName('#__rokgallery_files'))
            ->
    columns($db->quoteName($column))
            ->
    values($db->quoteName($value));

        
    // Set the query using our newly populated query object and execute it.
        
    $db->setQuery($query);
        
    $db->execute();
    }
    ?>
    Hier der JS Teil als Ajax übergabe an die obere PHP-Datei:
    Code:
    jQuery(document).ready(function() {
    	jQuery('.rv-ptd-n').live('click',function(){
    		var getData = jQuery(this).data("id");
    		newData = getData.split(',');
    		if (newData[1] == '0') {newData[1] = 'facebook';}
    		if (newData[1] == '1') {newData[1] = 'instagram';}
    		if (newData[1] == '2') {newData[1] = 'twitter';}
    		
    		jQuery.ajax
    			({
    			type: "POST",
    			url: 'tmpl/post.php',
    			data: {"id": newData[0], "sm": newData[1]},
    			success: function(data)
    				{
    					console.log(data);
    				}
    			});
    	});
    });
    Vielen Dank für jede Hilfe!
    MfG Marvin H.

  2. #2
    Gehört zum Inventar
    Registriert seit
    06.03.2013
    Ort
    /dev/random
    Beiträge
    6.266
    Bedankte sich
    140
    Erhielt 2.352 Danksagungen
    in 2.214 Beiträgen

    Standard

    Schaue dir com_ajax an, was in Joomla 3 enthalten ist. Speziell Ajax Session Module als Beispiel.
    Gruß FINWICK
    ↶ Danke Button nutzen, wenn es geholfen hat - Kein Suport via PN

  3. Erhielt Danksagungen von:


  4. #3
    Wohnt hier Avatar von SniperSister
    Registriert seit
    23.09.2005
    Ort
    Köln
    Alter
    29
    Beiträge
    2.967
    Bedankte sich
    96
    Erhielt 951 Danksagungen
    in 612 Beiträgen

    Standard

    Values werden nicht mit "quoteName" sondern mit "quote" gequotet (lustiges Wort) - sonst hast du da Backticks statt einfachen Anführungszeichen.

    $db->quote($value)

  5. #4
    Verbringt hier viel Zeit
    Registriert seit
    09.08.2008
    Ort
    /dev/null
    Beiträge
    981
    Bedankte sich
    52
    Erhielt 123 Danksagungen
    in 116 Beiträgen

    Standard

    Zitat Zitat von SniperSister Beitrag anzeigen
    Values werden nicht mit "quoteName" sondern mit "quote" gequotet (lustiges Wort) - sonst hast du da Backticks statt einfachen Anführungszeichen.

    $db->quote($value)
    Richtiger wäre es ja:

    $db->quote ($db->escape ($value))

    Dann werden Sonderzeichen auch gesondert verarbeitet, ist bei integer natürlich überflüssig

  6. #5
    Wohnt hier Avatar von SniperSister
    Registriert seit
    23.09.2005
    Ort
    Köln
    Alter
    29
    Beiträge
    2.967
    Bedankte sich
    96
    Erhielt 951 Danksagungen
    in 612 Beiträgen

    Standard

    Zitat Zitat von breaker Beitrag anzeigen
    Richtiger wäre es ja:

    $db->quote ($db->escape ($value))

    Dann werden Sonderzeichen auch gesondert verarbeitet, ist bei integer natürlich überflüssig
    $db->quote escaped standardmäßig ohnehin alles was übergeben wird - das manuell zu machen ist also überflüssig, es sei denn man setzt das automatische Escaping auf false. Wäre aber reichlich sinnbefreit

  7. Erhielt Danksagungen von:


  8. #6
    Verbringt hier viel Zeit
    Registriert seit
    09.08.2008
    Ort
    /dev/null
    Beiträge
    981
    Bedankte sich
    52
    Erhielt 123 Danksagungen
    in 116 Beiträgen

    Standard

    Die Vars werden automatisch escapt? Wenn das so ist, brauche ich ja gar nicht darauf zu achten

  9. #7
    Neu an Board
    Registriert seit
    22.01.2015
    Ort
    Köln
    Alter
    22
    Beiträge
    25
    Bedankte sich
    7
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Okey danke an alle schon mal, aber meine eig Frage ist ob die Update function da richtig ist weil sie funktioniert so nicht bei mir
    PHP-Code:
    <?php 
    if(isset($_POST)) 

        
    $smid $_POST['id']; 
        
    $smtl $_POST['sm'];     
             
        
    $db JFactory::getDbo(); 
        
    $query $db->getQuery(true); 
      
        
    // Insert columns. 
        
    $column $smtl
        
    // Insert values. 
        
    $value '1'

        
    // Prepare the insert query. 
        
    $query 
            
    ->insert($db->quoteName('#__rokgallery_files')) 
            ->
    columns($db->quoteName($column)) 
            ->
    values($db->quoteName($value)); 

        
    // Set the query using our newly populated query object and execute it. 
        
    $db->setQuery($query); 
        
    $db->execute(); 

    ?>
    die ordnerstruktur sieht so aus und das obere steht in der post.php
    2015-02-09 21_36_31-Adobe Dreamweaver CC 2014 - [post.php].png

  10. #8
    Neu an Board
    Registriert seit
    22.01.2015
    Ort
    Köln
    Alter
    22
    Beiträge
    25
    Bedankte sich
    7
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Hallo Leute,
    evtl. hat den Post ja schon jeder vergessen. Ich bräuchte dabei wirklich dringend Hilfe...

  11. #9
    Wohnt hier Avatar von SniperSister
    Registriert seit
    23.09.2005
    Ort
    Köln
    Alter
    29
    Beiträge
    2.967
    Bedankte sich
    96
    Erhielt 951 Danksagungen
    in 612 Beiträgen

    Standard

    Hmpf. Erinnerung binnen 24 Stunden = Pushen = doof. Wenn es "dringend" ist muss man sich an nen Profi wenden der einem dabei hilft.

    Davon abgesehen: das was du da vor hast wird so nicht funktionieren. Du kannst nicht einfach das Joomla-Framework in ner Standalone-Datei nutzen die du irgendwo ins Dateisystem wirfst. Da muss das Framework geladen werden.

  12. #10
    Neu an Board
    Registriert seit
    22.01.2015
    Ort
    Köln
    Alter
    22
    Beiträge
    25
    Bedankte sich
    7
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Okey, ja tut mir Leid, aber Danke. Wie genau funktioniert das ?

+ Antworten
Seite 1 von 3 1 2 3 LetzteLetzte

Stichworte

Berechtigungen

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