Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    5

    problema checkbox con database dinamico

    Ciao a tutti ragazzi, ho un problema con una pagina php
    Vengo subito al sdo...

    In pratica devo fare una pagina per il noleggio di uno o più film, il problema sorge quando devo raccogliere i film (spuntati dall'utente). Infatti l'elenco dei film è stato estratto da una query e stampato tramite "while".
    Devo prendere i film spuntati e tramite post riceverli nella pagina "noleggio2.php" per continuare il noleggio con gli atri dati tipo "idcliente", "data" etc etc come posso fare?

    ecco il pezzo di codice in questione...

    codice:
    while ($row = mysql_fetch_array($dbResult))
    {
    echo '
    <tr>
    <td>' . ucfirst($row['nome']) . '</td>
    <td>' . ucfirst($row['genere']) . '</td>
    <td>' . ucfirst($row['anno']) . '</td>
    <td><input type="checkbox" value="'???'" name="???'"/></td>
    </tr>';
    }
    echo"<tr><td><input type=\"submit\" value=\"Conferma selezione\" ></td></tr>";
    echo "</form>";
    echo "</table>
    
    ";
    Grazie in anticipo!

  2. #2
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Ciao, puoi utilizzare gli indici, ti faccio vedere come...

    noleggio.php (dove immagino il ciclo sia dentro una form)
    Codice PHP:
    $i=0;
    while (
    $row mysql_fetch_array($dbResult))
    {
    echo 
    '
    <tr>
    <td>' 
    ucfirst($row['nome']) . '</td>
    <td>' 
    ucfirst($row['genere']) . '</td>
    <td>' 
    ucfirst($row['anno']) . '</td>
    <td><input type="checkbox" value="'
    .$row['idfilm'].'" name="film$i"/></td>'//Immagino che il tuo campo id della tabella film si chiami idfilm
    echo '</tr>';
    $i++;
    }
    echo 
    "<input type='hidden' name='numfilm' value='$i'";
    echo
    "<tr><td><input type=\"submit\" value=\"Conferma selezione\" ></td></tr>";
    echo 
    "</form>";
    echo 
    "</table>


    noleggio2.php
    Codice PHP:
    $numfilm=$_POST["numfilm"];
    for(
    $i=0;$i<$numfilm;$i++){
    if(!empty(
    $_POST["film$i"])) //qui fai le operazioni nel caso il film è stato checkato


  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    5
    Ciao, ho provato a fare come mi hai consigliato, ma la pagina è bianca senza niente..
    ho scritto print_r ($_POST);
    in modo da vedere cosa raccoglie...
    ed è uscito questo..
    Array ( [nomef] => [film$i] => 2 [numfilm] => 6 )

    ho aggiunto anche un input hidden come il tuo per portarmi anche il nome, così quando verifica i film selezionati mi stampa il nome.. ma niente!!! help!!
    ecco i 2 codici

    noleggio.php
    Codice PHP:

    $i
    =0;
    while (
    $row mysql_fetch_array($dbResult))
    {
    echo 
    '
    <tr>
    <td>' 
    ucfirst($row['nome']) . '<input type="hidden" name="nomef" /></td>
    <td>' 
    ucfirst($row['genere']) . '</td>
    <td>' 
    ucfirst($row['anno']) . '</td>
    <td><input type="checkbox" value="'
    .$row['idfilm'].'" name="film$i"/></td>';
    echo 
    '</tr>';
    $i++;
    }
    echo 
    "<input type='hidden' name='numfilm' value='$i'";
    echo
    "<tr><td><input type=\"submit\" value=\"Conferma selezione\" ></td></tr>";
    echo 
    "</form>";
    echo 
    "</table>

    "

    noleggio2.php
    Codice PHP:
    print_r ($_POST);

    $nomef $_POST["nomef"];

    $numfilm=$_POST["numfilm"];
    for(
    $i=0;$i<$numfilm;$i++){
    if(!empty(
    $_POST["film$i"])){
    echo 
    $nomef;


  4. #4
    Un errore è di sicuro questo:
    Codice PHP:
    name="film$i
    sostituiscilo con
    Codice PHP:
    name="film' . $i . '" 
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    5
    ho risolto, grazie comunque per l'aiuto!!!
    noleggio.php
    Codice PHP:
    while ($row mysql_fetch_array($dbResult))
    {
    echo 
    '
    <tr>
    <td>' 
    ucfirst($row['nome']) . '<input type="hidden" name="nomef" /></td>
    <td>' 
    ucfirst($row['genere']) . '</td>
    <td>' 
    ucfirst($row['anno']) . '</td>
    <td><input type="checkbox" value="'
    .$row['idfilm'].'" name="selezionato[]"/></td>';
    echo 
    '</tr>';

    noleggio2.php
    Codice PHP:
    if (isset($_POST['selezionato']))
    {
        
    $select $_POST['selezionato'];
        foreach(
    $select as $id)
        {
            
    $query "SELECT idfilm,nome FROM film WHERE idfilm=$id";
            
    $dbResult mysql_query($query$connessione);

            while (
    $campo mysql_fetch_object($dbResult))
            {
                echo 
    '<textarea readonly="readonly" style="overflow-x:hidden; resize:none; width:400px; height:22px; line-height:22px">Nome: '$campo->nome ,'</textarea>
    '
    ;
            }
        }
    }    
    else
    {
        echo 
    "Non hai selezionato nessun film
    <a href=\"noleggio.php\">Torna alla lista</a>"
    ;


  6. #6
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Originariamente inviato da codencode
    Un errore è di sicuro questo:
    Codice PHP:
    name="film$i
    sostituiscilo con
    Codice PHP:
    name="film' . $i . '" 
    E perchè dovrebbe essere un'errore?
    Ho un sacco di codice in cui utilizzo questa soluzione, ed è perfettamente funzionante, cosa ci dovrebbe essere di scorretto?

  7. #7
    Di scorretto c'è che name="film$i" è stato inserito in un output mediante l'apice singolo
    Codice PHP:
    echo 
    ,
    quindi bisogna eseguire la concatenazione in modo che l'interprete stampi il contenuto della variabile.
    Era corretto se l'output fossse stato fatto con il doppio apice:
    Codice PHP:
    echo 
    Riassumendo:
    Codice PHP:
    $nome "Marco";
    echo 
    'Ciao $nome' 
    Ti stamperà: Ciao $nome

    Codice PHP:
    $nome "Marco";
    echo 
    "Ciao $nome
    Ti stamperà: Ciao Marco
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    5
    ragazzi, visto il vostro gentile aiuto vi devo chiedere un'altra cosa!! ^^
    nella stessa pagina (noleggio2.php) devo far vedere un riepilogo dei risultati
    in pratica ad ogni film corrisponde una tabella con delle condizioni, quando vado a selezionare i film(con condizioni diverse ovviamente) eccho quelo che succede
    codice:
    Film selezionati
    -Spazio 1999
    -This is It
    
    
    Riepilogo condizioni
    Film: This is It
    Tipo di condizione: giornaliero
    Mora; 2€ ogni giorno di ritardo.
    Prezzo: 3€
    
    
    Film: This is It
    Tipo di condizione: settimanale
    Mora; 3€ ogni giorno di ritardo.
    Prezzo: 10€
    le condizioni le prende giuste, ma non mi cambia il nome del film!
    ecco il codice..
    Codice PHP:
    $querycond "SELECT idfilm,nome,condizioni,mora,prezzo FROM film,condizioni WHERE idfilm=$id";
    $dbResultCond mysql_query($querycond$connessione) or die (mysql_error());


            while (
    $campo mysql_fetch_assoc($dbResultCond))
            {
                
                echo 
    'Film: '$campo['nome'] ,'
    '
    ;
                echo 
    'Tipo di condizione: '$campo['condizioni'] ,'
    '
    ;
                echo 
    'Mora; '$campo['mora'] ,'€ ogni giorno di ritardo.
    '
    ;
                echo 
    'Prezzo: '$campo['prezzo'],'€


    '
    ;
                
            } 

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    5
    Up!!

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.