Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    checkbox e recuperare dati

    Ragazzi io ho una lista di prodotti, ovviamente inseriti in un database, tipo:

    id titolo testo foto

    adesso ad ogni prodotto ho inserito un altro campo chiamato "stato" che di default è FALSE. A questo punto faccio una query e che stampo tutti i prodotti, ma ad ogni prodotto vorrei inserire un campo checkbox, cosi l'amministratore del sito può scegliere quale prodotto mettere in primo piano, adesso questo come lo posso fare? mi potete dare una mano?

  2. #2
    Cioè vorresti che il checkbox fosse associato al nuovo campo (impostato a FALSE) che tu hai inserito?

  3. #3
    no io vorrei che su tutta la lista dei prodotti venissero scelti 2 prodotti, quindi impostare il campo "stato" nel db da FALSE a TRUE. Ovviamente solo nei 2 prodotti scelti, la scelta deve avvenire tramite checkbox!!! non so se ora mi sono fatta capire meglio...

  4. #4
    Allora è come ti ho detto io
    Fai comparire accanto ad ogni record, nella tua pagina php, un checkbox che permetta di fare quello che hai richiesto.
    Ti consiglio di usare un boolean sul database (0 oppure 1).
    Per ogni checkbox metti gli attributi "name=primo_piano" e "value=id_prodotto" in modo tale che, quando vai a fare l'update, se il checkbox relativo al record considerato è checked allora lo imposti ad 1 sul database altrimenti a 0.

    Non so se sono stato chiaro.

  5. #5
    si la teoria l'ho capita, ma non so come fare il discorso del recuperare checkbox, perchè se sono 2 i prodotti scelti, che update faccio? mi puoi aiutare con un pò di codice?

  6. #6
    Ti propongo un'altra soluzione.
    Se hai una pagina con un elenco (prodotto da una query di selezione) del tipo:
    PRODOTTO - QUANTITA - PREZZO - (IN_VETRINA)
    (IN_VETRINA) vedilo come un pulsante, una immagine da far comparire secondo le seguenti condizioni:

    Chiamiamo sul database il campo boolen "in_vetrina"
    $prodotto è il risultato di un fetch_array per il quale è stata effettuata una select

    Codice PHP:
    if($prodotto['in_vetrina']==0)                         
          print(
    "<a href=\"pagina.php?id=".$prodotto['id']."&amp;attiva=1\" title=\"Prodotto in vetrina\"><img src=\"icone/non_in_vetrina.png\" border=\"0\" /></a>"); 
    else                         
          print(
    "<a href=\"pagina.php?id=".$prodotto['id']."&amp;attiva=2\" title=\"Prodotto non in vetrina\"><img src=\"icone/in_vetrina.png\" border=\"0\" /></a>"); 
    Al click verrà richiamato, nella stessa pagina se vuoi, il seguente codice:


    Codice PHP:
    if(isset($_GET['attiva'])){         
       if(
    $_GET['attiva']==1){             
          
    mysql_query("UPDATE prodotti SET in_vetrina=\"1\" WHERE id=\"$_GET[id]\"");
       }           
       if(
    $_GET['attiva']==2){             
          
    mysql_query("UPDATE prodotti SET in_vetrina=\"0\" WHERE id=\"$_GET[id]\"");
       }     


  7. #7
    mmm è se i prodotti ad es sono 10 e in vetrina ne vanno 4, come lo posso fare?

  8. #8
    Clicchi sull'iconcina in corrispondenza di ogni prodotto nell'elenco e attivi/disattivi il prodotto in vetrina

    Prova con quel codice e te ne renderai conto.

  9. #9
    Ho risolto cosi è sembra funzionare bene!!!
    Codice PHP:
    <form method="post" action="<? $PHP_SELF ?>">
    <input type="hidden" name="op" value="mod">
    <tr><td>Scegli</td><td>Titolo Prodotto</td></tr>
    <? $query=mysql_query("Select * from prodotti");
    while(
    $array=mysql_fetch_array($query)){?>
    <tr>
    <td><input type="checkbox" name="myCheck[<? echo $array[id?>]" value="<? echo $array[id?>" /></td>
    <td><? echo $array[titolo?></td>
    </tr>
    <? ?>
    </table>
    <input id="button" type="submit" value="Salva"
    </form>
    <?
    if($_POST['op']=="mod"){
    $myCheck $_POST['myCheck']; 

    foreach (
    $myCheck as $key => $value) { 
       
    $result mysql_query ("update prodotti set stato='1' where id='$value'"); 
    }



    }
    ?>

  10. #10
    infatti la soluzione per questo problema è effettuare un ciclo foreach.

    Potresti anche non utilizzare un campo hidden ma utilizzare list[] sul campo checkbox.

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.