Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Discussione: While con separatore

  1. #1
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499

    While con separatore

    Ho un problema di logica..
    Codice PHP:
    while ($row mysql_fetch_array($res[0])) {
                            echo 
    "<form class=\"frm\" id=\"inline\" name=\"vai\" method=\"post\" action=\"".$_SERVER['PHP_SELF']."\">
                                 <input name=\"id_modelli\" type=\"hidden\" value=\""
    .$row['id_modelli']."\" />
                                 <input name=\"id_desc\" type=\"hidden\" value=\""
    .$row['id_desc']."\" />
                                 <input name=\"nome\" type=\"hidden\" value=\""
    .$nome."\" />
                                 <input type=\"submit\" name=\"Submit\" value=\""
    $row['nome_barca'] ."\" />
                                 </form> - "
    ;
                         }  
    // chiudo while 
    In questo modo stampo dei pulsanti separati da "-". Ovviamente dopo l'ultimo mi compare ancora come nell'esempio:
    btm - btm -
    Se lo metto all'inizio, mi compare per il primo
    - btm - btm - btm

    Come faccio a stampare cosi?
    btm - btm - btm?
    Dove posso fare un controllo?

  2. #2
    o fai un if con una variabile di controllo che cambierai subito dopo il primo elemento, o li metti tutti dentro un array e poi fai l'implode(), o metti tutto in una stringa e poi fai un substr($stringa, 1)

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Anche secondo me ti conviene mettere tutto dentro una stringa e poi applicare substr.

    $output = substr($output,0,$output-1); // dove 0 è l'inizio e $output-1 è la lunghezza (cioè tutta la stringa - l'ultimo carattere).
    Nel tuo caso
    </form> - ";
    ti conviene mettere il trattino attaccato ai doppi apici.
    </form> -";

  4. #4
    Originariamente inviato da nicola75ss
    $output = substr($output,0,$output-1); // dove 0 è l'inizio e $output-1 è la lunghezza (cioè tutta la stringa - l'ultimo carattere).
    eeeh? VVoVe:
    guarda che è vietato bestemmiare sul forum

    deve fare strlen($output) - 1 per calcolare la lunghezza della stringa meno 1, dove l'hai vista 'sta cosa di fare la stringa - 1?

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da skidx
    eeeh? VVoVe:
    guarda che è vietato bestemmiare sul forum

    deve fare strlen($output) - 1 per calcolare la lunghezza della stringa meno 1, dove l'hai vista 'sta cosa di fare la stringa - 1?

    Hai ragione, intendevo quello.

    edit: mi è sorto il dubbio perchè mi sembrava di ricordare che funzionasse senza bisogno di strlen. Questo è il risultato. Verifica tu stesso:

    $stringa = "stringa in cui rimuovere il -";
    $senza = substr($stringa,0,$stringa-1);
    echo $senza; // stringa in cui rimuovere il

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Sono io ad avere le allucinazioni o cosa? :master:

  7. #7
    è solo una botta di culo, occhio che poi sono le peggiori da correggere in fase di debugging

    $stringa - 1 infatti restituisce -1 (la stringa convertita in intero vale 0), e il terzo parametro della funzione substr accetta anche valori negativi, intendendoli come numero di caratteri da eliminare da fine stringa.

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da skidx
    è solo una botta di culo, occhio che poi sono le peggiori da correggere in fase di debugging

    $stringa - 1 infatti restituisce -1 (la stringa convertita in intero vale 0), e il terzo parametro della funzione substr accetta anche valori negativi, intendendoli come numero di caratteri da eliminare da fine stringa.

    Svelato l'arcano. Grazie skidx, vedrò di non sfidare troppo la sorte in futuro. Grazie e buona notte.

  9. #9
    Originariamente inviato da nicola75ss
    Sono io ad avere le allucinazioni o cosa? :master:
    si un po si
    prova con $stringa = "1stringa in cui rimuovere il -";

    semplicemente valutava -1 quel 'stringa'-1 , il che tra l'altro è la soluzione ottimale:
    $senza = substr($stringa,0,-1);

    ciao a todos

    [edit]tardi vabbè

  10. #10
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    Mi sono perso un po' via con tutte le vostre risposte...
    non ho mica capito come realizzare la stringa.
    La creo all'interno del while? O fuori?

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.