Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Aiuto per Select form dinamica

    Buonasera a tutti, spero di risolvere questo problema. Sto realizzando un piccolo database domestico che viene popolato attraverso un form. Ho realizzato la pagina php per aggiungere nuovi elementi al database, quella per eliminare gli elementi memorizzati precedentemente nel database ora sono arrivato alla pagina di modifica e mi sono piantato. Vi spiego il problema tramite il click in un lnk all utente viene mostrato il form compilato con i dati memorizzati nel db il problema arriva nel momento di popolare l elemento select del form con il dato registrato nel db.Vi posto il codice


    Codice:
    Titolo Mittente:
    < form id .........>
    ..
    ...
    ....
    .....
    <select name="tito_mitt">
    <option value="<?php echo $row['id_titolo']; ?>" selected="selected"><?php echo $row['titolo'];
    ?>
    </option>
    <?php
    $sql = "SELECT * FROM tipo_mittente";
    $result = mysql_query($sql);
    while($row = mysql_fetch_array($result))
    {
    echo "<OPTION VALUE=\"".$row["id_tipo"]."\">".$row["tipo"]."</OPTION>";
    }
    ?>
    </select>
    .
    ..
    ...
    .....
    L'elemento select viene popolato esattamente ma tutti gli altri elementi del form che si trovano sotto questo select non vengono recuperati. Ho provato cancellando la query e recuperare solo il valore ed è tutto ok ma appena faccio la query per popolare gli option questo blocca gli inserimenti dell elementi successivi. La pagina non mi restitutisce errore ma il form compilato fino alla select "incriminata".
    Mi potete aiutare.
    Scusate per la poca chiarezza

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Posta il codice completo del form, racchiudilo tra i tag [php], prima di postare visualizza l'anteprima per assicurarti che il codice sia ben formattato ed indentato.

  3. #3
    Ciao scusami ma è la prima volta che scrivo e sono un neofita del php. Ecco il codice


    codice HTML:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>MODIFICA </title>
    </head>
    
    <body>
    
    [PHP]<?php
    /*
    DELETE.PHP
     
    // connessione al database
    include("connessione_db.php");
    include("config.php");
    
    // ottiene il valore id
    $id = $_GET['id'];
     
    $result = mysql_query("SELECT * FROM mittente, titolo WHERE id_mitt= $id 
                                     AND mittente.id_titolo = titolo_mittente.id_titolo")
                            or die(mysql_error());
    
    $row = mysql_fetch_array($result);
    
    
    ?>
    [/PHP]
    
    <form action="mod.php" method="post" name="mod_mitt" id="mod_mitt">
    <fieldset>
    <legend>Dati Anagrafici</legend>
    <input type="hidden" value="<?php echo $id; ?>" name="id" />
    <p>
    <label for="Nome">Nome:</label>
    <input type="text" name="nome_mitt" id="nome" value="<?php echo $row['nome']; ?>"/>
    </p>
    <p>
    <label for="Cognome">Cognome:</label>
    <input type="text" name="cognome_mitt" id="cognome" value="<?php echo $row['cognome']; ?>" />
    </p>
    <p>
    Titolo Mittente:
    <select name="tito_mitt">
            <option value="<?php echo  $row['id_titolo']; ?>" selected="selected"><?php echo  $row['titolo']; ?></option>
    <?php
    $sql = "SELECT * FROM titolo_mittente";
    $result = mysql_query($sql);
    while($row = mysql_fetch_array($result))
    {
    echo "<OPTION VALUE=\"".$row["id_titolo"]."\">".$row["titolo"]."</OPTION>";
    }
    ?>
    </select> 
    </p>
    <p>
    <label for="telefono">Telefono:</label><input type="text" name="telefono" id="telefono" value="<?php echo  $row['telefono']; ?>"/>
    </p>
    <p>
    <input type="submit" name="submit" id="submit" value="Modifica Mittente" /> 
    </p>
    </fieldset>
    </form>
    </body>
    </html>
    Spero che vada bene

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Intanto la prima query non verrà eseguita, perché è commentata, c'è /* prima di DELETE.PHP, che essendo il marcatore del commento su più righe, fa diventare un commento anche ciò che sta sotto a DELETE.PHP

    Poi vorrei chiederti cosa intendi con "L'elemento select viene popolato esattamente ma tutti gli altri elementi del form che si trovano sotto questo select non vengono recuperati."
    dici dallo script mod.php? In tale script come recuperi i dati?

    E ancora: "appena faccio la query per popolare gli option questo blocca gli inserimenti dell elementi successivi.
    questo non l'ho proprio capito

  5. #5
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Intanto la prima query non verrà eseguita, perché è commentata, c'è /* prima di DELETE.PHP, che essendo il marcatore del commento su più righe, fa diventare un commento anche ciò che sta sotto a DELETE.PHP
    Si scusami infatti è stato un errore copia e incolla.

    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Poi vorrei chiederti cosa intendi con "L'elemento select viene popolato esattamente ma tutti gli altri elementi del form che si trovano sotto questo select non vengono recuperati."
    dici dallo script mod.php? In tale script come recuperi i dati?
    Vediamo se riesco a spiegarmi:la pagina di cui ho scritto il codice sopra dovrebbe mostrarmi il form con tutti i suoli elementi input text e select memorizzati nel db. Quello che intendo io è che il nome viene recuperato, cosi anche il valore del cognome e quello del titolo mittente ma ciò non avviene per il valore telefono. Allora ho provato a cancella re la seguente parte di codice
    Codice PHP:
    <?php
    $sql 
    "SELECT * FROM titolo_mittente";
    $result mysql_query($sql);
    while(
    $row mysql_fetch_array($result))
    {
    echo 
    "<OPTION VALUE=\"".$row["id_titolo"]."\">".$row["titolo"]."</OPTION>";
    }
    ?>
    e il valore del campo telefono viene recuperato così pure quello del titolo mittente (select) come posso risolvere.

    E ancora: "appena faccio la query per popolare gli option questo blocca gli inserimenti dell elementi successivi.
    questo non l'ho proprio capito
    Intendevo ciò che ho detto al punto sopra.
    Grazie mille

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Ah, ma allora è logico, tu quando esegui la seconda query, quella per il select, sovrascrivi la variabile $row che hai definito prima.
    Usa un nome diverso per la variabile per il select, che so... chiamala $row2

  7. #7
    E' vero, che def.......
    Grazie mille

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.