Visualizzazione risultati 1 fino 7 di 7

Discussione: Help

  1. #1
    inverntario non è connesso Neofita
    Data registrazione
    17-11-2019
    Messaggi
    16

    Question Help

    Buongiorno a tutti,
    ho una sezione del mio codice, nata per far auto aggiornare il db tramite query al variare di un campo select che devo adattare alla stessa funzione ma al variare del value di un campo input, ma non riesco a farlo...mi riuscireste a dare una mano?

    Di seguito vi riporto il mio codice:

    ORIGINALE:
    index:
    Codice PHP:
    <select name="tipo_utente<?php echo $row[id]?>" onchange="funzioneTipo('tipo_utente<?php echo $row[id]?>'); this.className=this.options[this.selectedIndex].className;" id="tipo_utente<?php echo $row[id]?>">


    <script>
    function funzioneTipo(elemento){
    var valore = $("#"+elemento+" option:selected").attr("name");
    $.ajax({
    type: "POST",
    url: "interrogazioni-modifica-profilo/edita-tipo.php",
    data: "select="+elemento+"&opzione="+valore,
    dataType: "html",
    success: function(data) {
    alert(data);

    }
    });
    }
    </script>
    Pagina di interrogazione:
    Codice PHP:
    <?php


    session_start
    ();
    include (
    "../aggancio_db.php");




    if(isset(
    $_POST['opzione'], $_POST['select'])){
    $select = $_POST['select'];
    $valoreOpzione = $_POST['opzione'];

    //echo "opzione = $valoreOpzione presa dal select $select";


    $id = str_replace('tipo_utente', '', $_POST['select']);


    //echo "valore selezionato in selcet: $valoreOpzione \n\n select $selectdue \n\n id $id \n\n link: ".$_SERVER['REQUEST_URI'];


    $query = "UPDATE `utenti` SET tipo='".$valoreOpzione."' WHERE id='".$id."'";
    $risultato = mysql_query($query) or die('Query fallita: ' . mysql_error());


    echo
    "Modifica salvata";

    }





    ?>



    SEZIONE DA ADATTARE:
    Codice PHP:
    <input name="password<?php echo $row['id']?>" onchange="funzionePassword('password<?php echo $row['id']?>'); this.className=this.options[this.value].className;" id="password<?php echo $row['id']?>" value="<?php echo $row['password'] ?>">
    interrogazione:
    Codice PHP:
    <?php


    session_start
    ();
    include (
    "../aggancio_db.php");




    if(isset(
    $_POST['opzione'], $_POST['input'])){
    $select = $_POST['input'];
    $valoreOpzione = $_POST['value'];

    //echo "opzione = $valoreOpzione presa dal select $select";


    $id = str_replace('password', '', $_POST['input']);


    echo
    "valore : $valoreOpzione \n\n select $password \n\n id $id \n\n link: ".$_SERVER['REQUEST_URI'];


    $query = "UPDATE `utenti` SET password='".$valoreOpzione."' WHERE id='".$id."'";
    $risultato = mysql_query($query) or die('Query fallita: ' . mysql_error());


    //echo "Modifica salvata";

    }





    ?>
    Ringrazio in anticipo per la disponbilità
    Fabio

  2. #2
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    3,997

    Predefinito

    Salve,
    buon Natale.

    Il supporto a PHP 5.x è cessato in data 1 gennaio 2019 e con esso anche quello per le funzioni mysql. Infatti Le funzioni mysql non fanno più parte di PHP nelle versioni successive alla 5.x.

    Al fine di evtare problemi d'incompatibilità in seguito ad aggiornamenti futuri di php su AlterVista, Le suggerisco di passare a mysqli o pdo prima di andare avati nello sviluppo del codice.

    Inoltre, il metodo procedurale di mysqli è molto simile a quello usato da mysql. Quindi non è complicato effettuare il passaggio dall'uno all'altro. Tra l'altro, c'è php.net/manual dove si trovano praticamente tutte le informazioni principali e anche diversi esempi pratici.

    Cordiali saluti.
    Ultima modifica di GraphOGLRisorse : 25-12-2020 alle ore 19.21.14

  3. #3
    inverntario non è connesso Neofita
    Data registrazione
    17-11-2019
    Messaggi
    16

    Predefinito

    Citazione Originalmente inviato da GraphOGLRisorse Visualizza messaggio
    Salve,
    buon Natale.

    Il supporto a PHP 5.x è cessato in data 1 gennaio 2019 e con esso anche quello per le funzioni mysql. Infatti Le funzioni mysql non fanno più parte di PHP nelle versioni successive alla 5.x.

    Al fine di evtare problemi d'incompatibilità in seguito ad aggiornamenti futuri di php su AlterVista, Le suggerisco di passare a mysqli o pdo prima di andare avati nello sviluppo del codice.

    Inoltre, il metodo procedurale di mysqli è molto simile a quello usato da mysql. Quindi non è complicato effettuare il passaggio dall'uno all'altro. Tra l'altro, c'è php.net/manual dove si trovano praticamente tutte le informazioni principali e anche diversi esempi pratici.

    Cordiali saluti.
    Buon natale anche a te :)
    Lo so ma il sito è stato sviluppato tempo e fa e per alcune integrazioni ho la necessità di avere questa versione

    L'aiuto che mi serve è sulla parte JS del codice, non tanto sulla query php
    Ultima modifica di inverntario : 25-12-2020 alle ore 19.23.56

  4. #4
    GraphOGLRisorse non è connesso AlterGuru 2500
    Data registrazione
    14-02-2015
    Messaggi
    3,997

    Predefinito

    Riguardo al codcie js, l'uso del tag <select> </select> deve avere sia un apertura che una chiusura, al cui interno devono essere presenti anche i tag <option>, uno per ogni scelta del select.

    Da quanto vedo, mi sembra che sia incompleto, a meno che, quello non sia solo una parte del codice. In tal caso però, il tag script con il codice js non dovrebbe stare all'interno del tag select.

    Questo è un esempio di come va impostato il tag select e vanno usati i tag option:
    Codice HTML:
    <select onchange="SelecColor()" id="ColorList">
      <option selected="selected" value="t1">Tavolozza1</option>
      <option value="t2">Tavolozza2</option>
      <option value="t3">Tavolozza3</option>
    </select><br><br>
    
    <div id="tav1">Tavolozza1</div>
    <div id="tav2">Tavolozza2</div>
    <div id="tav3">Tavolozza3</div>
    
    <script> 
    function SelecColor(value) {
      //hslLum_top();  
      if(document.getElementById("ColorList").value=='t1'){
    	document.getElementById("tav1").style.display = "block";
    	document.getElementById("tav2").style.display = "none";
    	document.getElementById("tav3").style.display = "none";
       }
      if(document.getElementById("ColorList").value=='t2'){
    	document.getElementById("tav1").style.display = "none";
    	document.getElementById("tav2").style.display = "block";
    	document.getElementById("tav3").style.display = "none";	
      }
      if(document.getElementById("ColorList").value=='t3'){
    	document.getElementById("tav1").style.display = "none";
    	document.getElementById("tav2").style.display = "none";
        document.getElementById("tav3").style.display = "block";	
      }
    }
    
    SelecColor("t1");
    </script>
    Cordiali saluti.

  5. #5
    inverntario non è connesso Neofita
    Data registrazione
    17-11-2019
    Messaggi
    16

    Predefinito

    forse mi sono espresso male, il codice orginiario, che si applica ad un select funziona correttamente...
    io ho bisogno di applicare la stessa funzione o un codice che sviluppi lo stesso risultato ad un campo input, quindi...un campo di testo che quando variato in automatico esegua una query di update

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,145

    Predefinito

    Codice:
    function funzionePassword(elemento)
    {
      var valore = $("#"+elemento).val();  
      $.ajax({ 
    	type: "POST", 
    	url: "interrogazioni-modifica-profilo/edita-tipo.php",
    	data: "select="+elemento+"&opzione="+valore, 
    	dataType: "html", 
    	success: function(data) { 
    		  alert(data); 
    	} 
      });	
    }
    Se ho capito male la richiesta spiega dove trovi difficoltà, o meglio mostra i tentativi che hai fatto e gli errori che ottieni.

    Ricordo che puoi evitare di usare jQuery: $.ajax si può evitare usando fetch() mentre per ricavare i valori degli input andrebbe usato il DOM.

    Ciao!
    Ultima modifica di alemoppo : 26-12-2020 alle ore 12.19.41

  7. #7
    inverntario non è connesso Neofita
    Data registrazione
    17-11-2019
    Messaggi
    16

    Predefinito

    sono arrivato a questo punto:

    Codice:
    <?php
    $stringa = (string)$row['id'];
    													
    $id_deposito_riga=$stringa ?>
    	
    
        <input type="text" name="password<?php echo "_".$id_deposito_riga ?>" id="password<?php echo "_".$id_deposito_riga ?>" onchange="checkInput()" value="<?php echo $id_deposito_riga ?>">
        
    
    	
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.2.min.js"></script>
    	
    <script type="text/javascript">
    function checkInput(textbox) {
        //associo variabili
        var nome = $("#password<?php echo "_".$id_deposito_riga ?>").val();
    	var id = <?php echo $id_deposito_riga ?>
       // var mansione = $("#mansione").val();
    
      //chiamata ajax
        $.ajax({
            type: "POST",  //imposto il tipo di invio dati (GET O POST)
    		url: "edita_password_utente.php", //Dove devo inviare i dati recuperati dal form?
    
          	//Quali dati devo inviare?
    		data: "password=" + nome + "&id=" + id,
          	dataType: "html",
    
          	//Inizio visualizzazione errori
          success: function(msg)
          {
            //$("#risultato").html(msg); // messaggio di avvenuta aggiunta valori al db (preso dal file risultato_aggiunta.php) potete impostare anche un alert("Aggiunto, grazie!");
          },
          error: function()
          {
            alert("Chiamata fallita, si prega di riprovare..."); //sempre meglio impostare una callback in caso di fallimento
          }
        });
    }
    </script>
    e la pagina edita_password_utente.php:
    Codice PHP:
    <?php

    session_start
    ();
    include (
    "aggancio_db.php");



    $sql = "UPDATE utenti SET operatore='".$_POST['password']."' WHERE id='".$_POST['id']."'";

    if (@
    mysql_query($sql))

    { echo
    '<p>Il tuo alloggio &egrave; stato inserito correttamente</p>'; } //Messaggio che apparirà sotto il form di aggiunta tramite msg

    else { echo '<p>Si e verificato un errore ' . mysql_error() .'</p>'; } //eventuale messaggio di errore

    ?>

    Il problema?
    se io dichiaro che $id_deposito_riga è uguale ad un numero che scrivo manualmente ($id_deposito_riga="18") funziona perfetamente, se lo stesso valore lo riporto in variabile
    $id_deposito_riga=$row['id']; oppure $id_deposito_riga=(string)$row['id']; non c'è verso di farlo funzionare...

    idee?
    Ultima modifica di inverntario : 26-12-2020 alle ore 16.33.06

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •