Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    105

    Restituire a video valori di checkbox prelevati da db

    Non sò piu' in quale lingua imprecare!

    Premesse: Ho scandagliato il forum, ho scandagliato altri forum, siti in inglese ecc ecc ma non ho trovato nulla che potesse aiutartmi! Smanetto php + mysql in locale da un paio di settimane, quindi inesperto ma con un po di impengo sto' realizzando quello che ho in mente.

    Veniamo al dunque:

    Ho un form con campo checkbox i cui valori selezionati vanno inseriti nella tabella del db e successivamente mostrati a video.
    Tutto fila liscio tranne che nella pagina in cui mostro a video i risultati (cioe' i valori selezionati) ottengo si la lista corretta dei campi "ceccati" ma prima della lista compare la voce "array"...
    Mostro un po di codice e il risultato finale:

    File Form.php:

    <form name="form" action="inserisci.php" method="POST" >
    <input type="checkbox" name="target[1]" value="calcio"/> Calcio
    <input type="checkbox" name="target[2]" value="tennis"/> Tennis
    <input type="checkbox" name="target[3]" value="basket"/> Basket
    <input type="checkbox" name="target[4]" value="nuoto"/> Nuoto
    <input type="submit" name="submit" value="submit">
    </form>


    File inserisci.php

    include ("includes/config.php");
    $target = $_POST['target'];

    foreach ($target as $key => $valueTypes) {
    echo $valueTypes . ",";
    $target .= $valueTypes . ",";
    }
    //Elimino la virgola finale
    if (strlen($target)>0) {
    $target = substr($target , 0, strlen($target )-1);
    }
    $query="INSERT INTO tabella (target) VALUES('$target')";
    if (!mysql_query($query, $db))
    {

    print ("Errore insrimento");
    }
    else
    {
    echo ("Inserimento avvenuto");
    }

    File Index.php
    include ("includes/config.php");
    $result=mysql_query("select * FROM tabella ORDER BY id DESC);
    $numrows = mysql_num_rows($result);
    if ($numrows==0){print ("database vuoto");
    }
    else
    {
    while ($i = mysql_fetch_array($result))
    {

    $target=$i["target"];

    echo"Sport preferito: ".$target."
    ";
    }

    --------
    Risultato a video ipotizando di aver ceccato calcio e tennis:

    Sport preferito: ArrayCalcio,Tennis
    ----------------------
    PS. se vado a controllare la tabella nel db con easyphp noto che nel campo TARGET i valori inseriti sono quelli che escono a video e cioe' "arrayCalcioTennis"


    Nel codice postato vi sarebbero altre voci tipo id nome email, ho ridotto per non fare caos.

    Ringrazio anticipatamente chi vorra' ILLUMINARMI

  2. #2
    Modifica l'inizio del tuo file inserisci.php cosi:

    Codice PHP:
    include ("includes/config.php");
    $target = isset($_POST['target']) && is_array($_POST['target']) ? $_POST['target'] : array();
    $valore_target "";
    foreach (
    $target as $key => $valueTypes) {
      echo 
    $valueTypes ",";
      
    $valore_target .= $valueTypes ",";
    }
    $target $valore_target

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    105
    MONDIALE!
    PERFETTO!
    Grazie mille per il prezioso aiuto!!!!!!!!!!

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.