Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di blob696
    Registrato dal
    Feb 2007
    Messaggi
    119

    form integrato con mysql

    Può darsi che nell'illustrazione del codice ci possa essere qualche errore di sintassi, perdonatemi, quello che mi interessa sapere, se possibile, è il procediimento logico del codice.

    ho un form che preleva i dati da un database e inserisce una checkbox per ogni record


    Codice PHP:
    $query_limit mysql_query("SELECT * FROM nome_tabella ORDER BY fasi_id");

    /* premetto che fasi_id è un campo auto_increment*/

    echo "<form id=\"fasi\" name=\"fasi\" method=\"post\" action=\"sviluppo_fasi.php\">";
    echo 
    "<table border =\"1\" cellspacing=\"0\" >";

    while(
    $results mysql_fetch_array($query_limit)) { 


    echo 
    "<tr><td>
          <input type=\"checkbox\" name=\"scheda[
    $results[fasi_id]]\" id=\"$results[fasi_id]\" />
        </td>"
    ;
    echo 
    " <td>$results[fasi_codice]</td>";
    echo 
    " <td>$results[fasi_titolo]</td></tr>";




    echo 
    "</table>";

    echo 
    "<input type=\"submit\"value=\"sviluppa le schede\"></form>"
    nella pagina il form si vede correttamente.

    Adesso vorrei far visualizzare solo i record che vengono spuntati nel form

    creo la pagina sviluppo_fasi.php e inserisco il seguente codice


    Codice PHP:
    $scheda $_POST['scheda']; 

    foreach (
    $scheda as $key => $value) { 
        echo 
    "Hai selezionato la checkbox: $key con valore: $value
    "




    /*la variabile $key contiene tutti i codici spuntati nel form che equivalgono ai valori del campo fasi_id
    il foreach funziona, mi fa vedere i codici che ho spuntato*/

    /*il problema viene quando voglio integrare il tutto nella tabella, cioè far stampare i record che che l'utente ha spuntato nel form*/


    /*ho iniziato cosi*/

    $query_limit mysql_query("SELECT * FROM nome_tabella ORDER BY fasi_id");
    echo 
    "<table border =\"1\" cellspacing=\"0\" >";
    while(
    $results mysql_fetch_array($query_limit)) { 
    echo 
    " <tr><td>$results[fasi_id]</td>";
    echo 
    " <td>$results[fasi_codice]</td>";
    echo 
    " <td>$results[fasi_titolo]</td></tr>";



    echo 
    "</table>"
    e mi sono bloccato, manca qualcosa, chi mi aiuta?

  2. #2
    Credo manchi il value alle checkbox.
    Codice PHP:
          <input type=\"checkbox\" name=\"scheda[$results[fasi_id]]\" id=\"$results[fasi_id]\" value="1"/> 
    Se vuoi un valore numerico progressivo, al posto dell'uno potresti mettere una $i a cui assegni 1, poi prima della fine del ciclo while metti $i=$i++;
    Ce l'ho fatta! - ItalianPixel -

  3. #3
    Utente di HTML.it L'avatar di blob696
    Registrato dal
    Feb 2007
    Messaggi
    119
    ti ringrazio, comunque il problema non è nel form. Il form funziona.

    Il problema che ho io è nella query che ho inserito nell'ultimo blocco.

    Io ho un foreach che mi stampa tutti i valori spuntati.

    Questi valori equivalgono al campo fasi_id di una tabella di mysql.

    A me serve una query che che in pratica esegua quanto segue:

    "stampa tutti i record della tabella dove il campo fase fasi_id sia uguale al valore spuntato nella form"

    Sinceramente non so se mi spiego bene.

    Comunque io continuo a cercare il metodo. speriamo di riuscirci.

    si accettano aiuti

    Codice PHP:
    $query_limit mysql_query("SELECT * FROM nome_tabella [I] /* WHERE FASI_ID CORRISPONDA AI VALORI SPUNTATI NEL FORM*/[/I]  ORDER BY fasi_id"); 

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.