Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    1,471

    estrazione chechbox array

    Ho un problema banale nell'estrazione di checkbox, dopo averli inseriti nel db.

    in un form online ho inserito dei campi chechbox:
    Codice PHP:
    <input type="checkbox" name="servizi[]" value="1"biclette

    <input type="checkbox" name="servizi[]" value="2"piscina

    <input type="checkbox" name="servizi[]" value="3"aria condizionata

    <input type="checkbox" name="servizi[]" value="4"fitness

    <input type="checkbox" name="servizi[]" value="5"tv 
    poi li ho aggiunti nel campo "servizi" di una tabella separandoli gli uni dagli altri da semplici "\n"

    Come faccio ad estrarli nuovamente?


    Ho provato in questo modo, ma nn li riconosce....
    Codice PHP:
    <input type="checkbox" name="servizi[]" value="1" <?if ($servizi==1) echo "checked"?>> biclette

    <input type="checkbox" name="servizi[]" value="2" <?if ($servizi10==2) echo "checked"?>> piscina

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    inseriscili separati da ; e poi usa explode per riottenere l'array.

    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    1,471
    Originariamente inviato da gianiaz
    inseriscili separati da ; e poi usa explode per riottenere l'array.

    ciao
    in pratica nel campo "servizi" (varchar) inserisco solo i numeri separati da ; tipo:
    3;4;6 ecc.

    poi quando li vado ad estrarre:
    $servizi10 = explode(";", $servizi10);

    <input type="checkbox" name="servizi[]" value="1" <?if ($servizi10==1) echo "checked"; ?>> biclette

    <input type="checkbox" name="servizi[]" value="2" <?if ($servizi10==2) echo "checked"; ?>> piscina

    <input type="checkbox" name="servizi[]" value="3" <?if ($servizi10==3) echo "checked"; ?>> aria condizionata

    ecc.

    ma nn corrispondono. come dovrei fare?

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    1,471
    il mio problema è quello di estrarre dei dati numerici in sequenza da mysql separati da ;
    e confrontarli poi con i checkbox relativi.
    Mi sembra una cosa banale, dove posso aver sbagliato?


  5. #5
    anche qui io uso una semplicissima funzione:

    Codice PHP:
    function Checked($val$num) {
        
    $val=trim($val);
        if (
    $val==$num)
          return 
    " checked=\"checked\"";
        else
          return 
    "";

    dove $val è il valore prelevato dal db e $num è il valore con cui confrontarlo. quindi nel tuo caso:

    Codice PHP:
    <input type="checkbox" name="servizi[]" value="1" <?=Checked($servizi1?>> biciclette

    <input type="checkbox" name="servizi[]" value="2" <?=Checked($servizi2?>> piscine

    // eccetera

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    1,471
    in pratica l'ho impostato in questo modo:
    Codice PHP:
     <tr>
                  <td>servizi hotel


                  <?
                                   $servizi10 
    $ris10["servizi"];
                       
    //checbox
                       
    echo $val explode(";"$servizi10);
                        function 
    Checked($val$num) {
                             echo 
    $val=trim($val);
                                     if (
    $val==$num)
                                     return 
    " checked=\"checked\"";
                                     else
                                     return 
    "";
                                }
                  
    ?>
                  </td>
                 <td class="alt">
                     <input type="checkbox" name="servizi[]" value="1" <?=Checked($servizi101?>> biclette

                     <input type="checkbox" name="servizi[]" value="2" <?=Checked($servizi102?>> piscina

                     <input type="checkbox" name="servizi[]" value="3" <?=Checked($servizi103?>> aria condizionata

                     <input type="checkbox" name="servizi[]" value="4" <?=Checked($servizi104?>> fitness

                     <input type="checkbox" name="servizi[]" value="5" <?=Checked($servizi105?>> tv

    ........
    ma nn ho capito perchè nn funge


  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    1,471
    Originariamente inviato da Emulman
    anche qui io uso una semplicissima funzione:

    Codice PHP:
    function Checked($val$num) {
        
    $val=trim($val);
        if (
    $val==$num)
          return 
    " checked=\"checked\"";
        else
          return 
    "";

    Scusa Emulman, la tua funzione anche come prova nn funzia

    Codice PHP:
    function Checked($val$num) {
        
    $val=trim($val);
        if (
    $val==$num)
          return 
    " checked=\"checked\"";
        else
          return 
    "no check";
    }
    Checked(21); 

  8. #8
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    io non ho più seguito la discussione, e forse dico una cavolata, ma cosi ti pare brutto?

    codice:
    $elenco = explode(";", $elenco_id_separati_dapuntevirgola);
    
    <input type="checkbox" name="servizi[]" value="1" <?php if(in_array(1, $elenco)) echo checked="checked" ?> > biciclette
    ciao

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    1,471
    ti ringrazio tantissimo gianiaz, mi hai risolto il problema!!



    eccolo in forma definitiva:
    Codice PHP:
    <input type="checkbox" name="servizi[]" value="1" <? if(in_array(1$elenco)) echo "checked=checked"?>> biciclette

  10. #10
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da lilo
    ti ringrazio tantissimo gianiaz, mi hai risolto il problema!!



    eccolo in forma definitiva:
    codice:
    <input type="checkbox" name="servizi[]" value="1" <? if(in_array(1, $elenco)) echo "checked=checked"; ?>> biciclette
    meglio cosi:

    codice:
    <input type="checkbox" name="servizi[]" value="1" <?php if(in_array(1, $elenco)) echo 'checked="checked"'; ?>> biciclette
    Ricorda che gli attributi html devono essere racchiusi tra apici doppi.
    Inoltre sempre meglio aprire il codice php con il tag lungo, e non il tag corto (<?php e non <?)

    ciao

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 © 2024 vBulletin Solutions, Inc. All rights reserved.