Visualizzazione dei risultati da 1 a 8 su 8

Discussione: "Annidare" form

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    92

    "Annidare" form

    Salve ragazzi ho questo codice:

    Codice PHP:

          
    echo '<form action="elimina.php?lista='.$_GET['lista'].'" method="post">';  
          echo 
    '<div class="tabella">
                   <table>'
    ;
          while (
    $result mysql_fetch_array($query))
          { 
             
    $id $result['ID'];
             
    $cod $result['COD'];
             
    $oggetto $result['OGGETTO'];
             
    $prezzo $result['PREZZO'];
             
    $venduto $result['VENDUTO'];
             
    $submit $_POST['submit_del'];
          
             echo 
    '<tr>
                    <td id="codice">'
    .$cod.'</td>
                    <td id="oggetto">'
    .$oggetto.'</td>
                      <td id="prezzo">'
    .$prezzo.'</td>
                    <td id="venduto">'
    .$venduto.'</td>
                    <td><input type="checkbox" name="id[]" value="'
    .$id.'"></td>
                    <td><input type="checkbox" name="vend[]" value"'
    .$id.'"></td> <<===            
                   </tr>'
    ;
          } 
          echo 
    '</table>
                </div>
                <div class="bottone">
    <input type="submit" name="submit_del" value="ELIMINA OGGETTI SELEZIONATI">
                <div class="bottone">
    <input type="submit" name="submit_ven" value="SEGNA COME VENDUTI">
                </form>
                <form action="mostra_liste.php"><input type="submit" value="TORNA ALLE LISTE">
                   </form></div> '

    Vedete quella colonna (<td>) dove ho messo la freccia, li vorrei inserire un altro form, perchè quelle checkbox hanno un compito diverso, solo che anche se è possibile "annidare" un form in quel campo, essendo un ciclo while che stampa alcuni valori stamperebbe sempre lo stesso form, cosa alquanto bizzarra...Avete qualche consiglio da darmi??
    Se non sono stato chiaro ditelo pure

  2. #2
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    assolutamente NO

    i form in html non si possono annidare uno dentro l'altro come faresti con un div ad esempio , hai dei risultati totalmente fuori da ogni previsione
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    92
    Ok puoi dirmi come posso assegnare ad ogni campo un'altra checkbox con un altro form?

  4. #4
    In base a quello che devi fare, puoi assegnargi una funzione Javascript che effettua una chiamata Ajax e fargli eseguire l'operazione che vuoi!

    Almeno io farei così!

  5. #5
    Non ho capito bene cosa devi fare

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    92
    Allora vi dico che devo fare, io ho questo codice
    Codice PHP:
          echo '<form action="elimina.php?lista='.$_GET['lista'].'" method="post">';  
          echo 
    '<div class="tabella">
                   <table>'
    ;
          while (
    $result mysql_fetch_array($query))
          { 
             
    $id $result['ID'];
             
    $cod $result['COD'];
             
    $oggetto $result['OGGETTO'];
             
    $prezzo $result['PREZZO'];
             
    $venduto $result['VENDUTO'];
             
    $submit $_POST['submit_del'];
          
             echo 
    '<tr>
                    <td id="codice">'
    .$cod.'</td>
                    <td id="oggetto">'
    .$oggetto.'</td>
                      <td id="prezzo">'
    .$prezzo.'</td>
                    <td id="venduto">'
    .$venduto.'</td>
                    <td><input type="checkbox" name="id[]" value="'
    .$id.'"></td>
                    <td><input type="checkbox" name="vend[]" value="'
    .$id.'"></td>                
                   </tr>'
    ;
          } 
          echo 
    '</table>
                </div>
                <div class="bottone">
    <input type="submit" name="submit_del" value="ELIMINA OGGETTI SELEZIONATI">
                
    <input type="submit" name="submit_ven" value="SEGNA COME VENDUTI">
                </form>
                <form action="mostra_liste.php"><input type="submit" value="TORNA ALLE LISTE">
                   </form></div> '

    Quando viene segnata una checkbox con name="vend" si passa tramite post alla pagina elimina.php, io qui ho messo il seguente codice:
    Codice PHP:
    if($_POST['submit_ven'])
    {
       if(
    is_array($_POST['vend']))
       {
          foreach(
    $_POST['vend'] as $idv)
          {
             
    mysql_query("SELECT VENDUTO FROM ".$_GET['lista']." WHERE ID = '.$idv.'")or die(mysql_error());
             
    mysql_query("INSERT INTO ".$_GET['lista']."(VENDUTO) VALUES('v') ")or die(mysql_error());
          }
          echo 
    '<div class="risp">Oggetti segnati come venduti. [url="lista_nozze.php?lista='.$_GET['lista'].'"]Torna alla lista[/url]</div>';
       }
       else
       {
          echo 
    '<div class="risp">Devi selezionare almeno un oggetto</div>';
       }

    Solo che la "v" viene inserita in un altro campo e non nel campo selezionato...mi dite dove sbaglio?

  7. #7
    Ma scusa, perchè non fai un form per ogni riga della tabella? :|

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    92
    Ho risolto con update, grazie comunque a tutti!!

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.