Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1
    Utente di HTML.it L'avatar di leaf
    Registrato dal
    Oct 2012
    Messaggi
    316

    radio button checked in base al database

    ciao, come da titolo..ho un radio button con 3 scelte e vorrei che quella di default fosse quella il cui valore è stato memorizzato nel database..ad esempio se nel db il valore è Caselle di Sommacampagna vorrei che il corrispondente radio fosse checked..
    codice

    codice:
    <td>
                    <legend>Sala Prove</legend></td>
                    <td>
                        Caselle <input type='radio' name='sp' value='Caselle di Sommacampagna'/>""
                        Castelnuovo  <input type='radio' name='sp' value='Castelnuovo del Garda'/>
                        Lazise <input type='radio' name='sp' value='Lazise'/>
                    </td>


    sono dentro a un echo"" di una form..volevo sapere se c'è un modo per evitare di spezzaro l'echo per scrivere questo papiro (che funziona ma che è uno spreco di codice)


    codice:
    if(isset($res[13]) && $res[13] == "Caselle di Sommacampagna") {
                    echo"<td>
                        <legend>Sala Prove</legend>
                        </td>
                        <td>
                            Caselle <input type='radio' name='sp' value='Caselle di Sommacampagna' checked='checked'/>
                            Castelnuovo  <input type='radio' name='sp' value='Castelnuovo del Garda'/>
                            Lazise <input type='radio' name='sp' value='Lazise'/>
                        </td>";
                }else if(isset($res[13]) && $res[13] == "Castelnuovo del Garda") {
                    echo"<td>
                        <legend>Sala Prove</legend>
                        </td>
                        <td>
                            Caselle <input type='radio' name='sp' value='Caselle di Sommacampagna'/>
                            Castelnuovo  <input type='radio' name='sp' value='Castelnuovo del Garda' checked='checked'/>
                            Lazise <input type='radio' name='sp' value='Lazise'/>
                        </td>";
                }else{
                    echo"<td>
                        <legend>Sala Prove</legend>
                        </td>
                        <td>
                            Caselle <input type='radio' name='sp' value='Caselle di Sommacampagna'/>
                            Castelnuovo  <input type='radio' name='sp' value='Castelnuovo del Garda'/>
                            Lazise <input type='radio' name='sp' value='Lazise' checked='checked'/>
                        </td>";
                    }

    ciao e grazie
    Ultima modifica di leaf; 07-11-2014 a 18:53

  2. #2
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Per prima cosa ti consiglierei di eliminare gli echo e mettere il codice html fuori i tag php quando hai del codice così corposo. E' più leggibile e ti eviti casini con gli apici
    Codice PHP:
    <?php
     PHP CODE
    ?>
    <td>
      <legend>Sala Prove</legend>
    </td>
    <td>
          Caselle <input type='radio' name='sp' value='Caselle di Sommacampagna'/>
          Castelnuovo  <input type='radio' name='sp' value='Castelnuovo del Garda' checked='checked'/>
          Lazise <input type='radio' name='sp' value='Lazise'/>
     </td>
    <?php
     PHP CODE
    ?>
    Per il checkbox, potresti fare così:
    Codice PHP:
    <td>
      <legend>Sala Prove</legend>
    </td>
    <td>
    <?php
    $radio_options  
    = array('Caselle' => 'Caselle di Sommacampagna',
                             
    'Castelnuovo'  =>'Castelnuovo del Garda'
                             
    'Lazise' =>'Lazise');
    foreach(
    $radio_options as $label => $value):
        
    $checked = (isset($res[13]) && $res[13] == $value) : 'checked' '';?>
       <?php echo $label ?> <input type='radio' name='sp' value='<?php echo $value ?><?php echo $checked ?> />
    <?php endforeach ?>
    </td>
    Ultima modifica di boots; 07-11-2014 a 20:09

  3. #3
    Utente di HTML.it L'avatar di leaf
    Registrato dal
    Oct 2012
    Messaggi
    316
    ciao, grazie..ho cambiato il radio con un select (e i vari menù)..posso comunque utilizzare uesto codice?

  4. #4
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Si...banalmente:
    Codice PHP:
    <td>
      <legend>Sala Prove</legend>
    </td>
    <td>
    <select name="" >
    <?php
    $radio_options  
    = array('Caselle' => 'Caselle di Sommacampagna',
                             
    'Castelnuovo'  =>'Castelnuovo del Garda'
                             
    'Lazise' =>'Lazise');
    foreach(
    $radio_options as $label => $value):
        
    $selected = (isset($res[13]) && $res[13] == $value) : 'selected' '';?>
        <option value='<?php echo $value ?><?php echo $selected ?> ><?php echo $label ?></option>
    <?php endforeach ?>
    </select>
    </td>

  5. #5
    Utente di HTML.it L'avatar di leaf
    Registrato dal
    Oct 2012
    Messaggi
    316
    grazie, mi da un errore (unexpected) sui : dell if

  6. #6
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    togli la parentesi tonda subito dopo la variabile $value e prima del :
    dovrebbe essere quello l'errore

  7. #7
    Utente di HTML.it L'avatar di leaf
    Registrato dal
    Oct 2012
    Messaggi
    316
    mmm no continua a darmi l'errore..

  8. #8
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Scusa la parentesi ci va, dal telefonino vedevo male
    Prova ad usare il foreach con la notazione classica con le graffe invece che usando i :

  9. #9
    Utente di HTML.it L'avatar di leaf
    Registrato dal
    Oct 2012
    Messaggi
    316
    machcè, niente da fare..ho tolto endforeach e ho messo le grafe..più che altro è che non ho capito come funzioni esattamente questo codice quindi non so dove mettere le mani :/

  10. #10
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Semplicemente, definisce un array con le città e nel foreach confronta $res[13] con il valore dell'array che scorre, se uguale mette selected nell'option altrimenti nulla

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.