Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    37

    eliminare l'ultimo carattere da una stringa php

    sto creando un file per fare l'aggiornamento di una tabella, riceve il contenuto della variabili da un form....

    per ogni variabile faccio un controllo di questo tipo

    $var=$_GET['nome variabile'];
    if(empty($var)){
    $var="";
    }
    else{
    $var="nome_var=' ".$var." ', ";
    }

    in pratica per ogni variabile controllo se è settata oppure no: se è settata ne salvo il contenuto nella variabile $nome_var, altrimenti creo una stringa vuota....

    dopo la ricezione di tutte le variabili ne faccio la concatenazione:

    $set=$var.$var.$var ecc ecc

    creo la stringa che costituisce la prima parte dell'update

    $sql_update=" UPDATE utente SET ";
    $sql_where=" WHERE codice_fiscale=' ".$codice_fiscale." ' ";

    $sql_update.$set.$sql_where;

    infine faccio la stringa finale, che dovrebbe uscire una cosa del tipo
    UPDATE utente SET luogo_nascita=' ".$luogo_nascita." ' WHERE codice_fiscale=' ".$codice_fiscale." '

    quello sopra è un esempio delle possibili combinazioni di ciò che inserisco nel form HTML.
    Ora il problema è questo: una volta effettuata la concatenzione finale di tutte le stringhe prima del WHERE mi ritrovo sempre una virgola che mi blocca l'update.....
    la domanda quindi è: come faccio a togliere l'ultima virgola dalla stringa $set????

    in attesa di una vostra risposta vi ringrazio in anticipo per aver letto il mio sproloquio, se poi magari qualcuno vuole il file php per vedere bene come è fatto mi contatti via pm

  2. #2
    Utente di HTML.it L'avatar di Gunn
    Registrato dal
    Feb 2006
    Messaggi
    370
    list($pippo,$pluto,$topolino)=array(1,2,3);

    $set[] = " pippo = '" . $pippo . "' ";
    $set[] = " pluto = '" . $pluto . "' ";
    $set[] = " topolino = '" . $topolino . "' ";

    $set = implode(",", $set);

    echo $set;
    -10 points to SCLERO high top class [definition of SCLERO HIGH TOP CLASS: 90 random kills]

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    37
    Originariamente inviato da Gunn
    list($pippo,$pluto,$topolino)=array(1,2,3);

    $set[] = " pippo = '" . $pippo . "' ";
    $set[] = " pluto = '" . $pluto . "' ";
    $set[] = " topolino = '" . $topolino . "' ";

    $set = implode(",", $set);

    echo $set;
    dunque vediamo se ho interpretato bene il tuo codice

    -crei un array dove ad ogni posizione metti un pezzo della stringa dell'update
    -con implode prendi tutti gli elementi dell'array, li concateni mettendo la virgola in mezzo ma senza che venga messa alla fine

    $set alla fine contiene "SET var1='XXX', ecc ecc" giusto??

  4. #4
    substr()

    $rest = substr("abcdef", 0, -1); // returns "abcde"

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.