Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    684

    Inserimento dati in tabelle relazionate

    Ciao a tutti,
    vi spiego il mio problema, sono un pincipiante in php e avrei bisogno di aiuto per l'inserimento di alcuni dati in due tabelle, relazionate tra loro. Mi spiego meglio. Ho due tabelle:

    tab_fotografie
    tab_categorie

    L'intento finale del mio script è inserire, tramite form, una fotografia con relativi campi descrittivi ed un campo categoria, in modo tale, per esempio, da avere una foto nella categoria Sport, altre 5 nella categoria Cinema e via discorrendo.

    Ho creato un mini pannello dove aggiungo, modifico e cancello le categoria e fin qui non ci sono problemi.

    La tab_categoria ha solo due record: Id e nome.

    La tab_fotografie ha più record, tra cui un Categoriaid che dovrebbe riportare l'id della categoria presente in tab_categoria.

    Ora il mio dubbio è:

    in fase di inserimento di una foto, che codice devo scrivere per inserire il giusto id della categoria?

    Attualmente tutte le categorie inserite le visualizzo da un menu a tendina in questo modo:

    <select name="categoria" id="categoria">
    <?php
    $query = mysql_query("select * from tab_categoria where id order by nome");

    while($cat = mysql_fetch_array($query)) {
    $nomecat = $cat['id'];
    $nomecategoria = htmlspecialchars($cat['nome']);
    ?>
    <option value="<?php echo $nomecat ?>"><?php echo $nomecategoria ?></option>


    <?php
    }

    ?>
    </select>


    ed il codice attuale di inserimento nella tab_fotografie è questo:

    $images_sql = "INSERT INTO tab_fotografie(Titolo_fotografia,Testo,Img,Img2,Im g3)
    VALUES('" . $_POST['titolo'] . "','" . $_POST['text'] . "','" . $img1_name . "','" . $img2_name . "','" . $img3_name . "')";

    mysql_query($images_sql);

    Come devo modificare il tutto per inserire anche l'id della categoria?


    Grazie in anticipo.

  2. #2
    Codice PHP:
    $images_sql "INSERT INTO tab_fotografie (Titolo_fotografia, Testo, Img, Img2, Img3, Categoriaid) VALUES ('".$_POST['titolo']."', '".$_POST['text']."', '".$img1_name."', '".$img2_name."', '".$img3_name."', $_POST['categoria'])"
    Ho presupposto che Categoriaid fosse numerico, in caso contrario devi aggiungere gli apici.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    684
    Grazie Satifal, funziona tutto a meraviglia.

    Pensavo a chissà quale difficoltà...


  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    684
    Un'ulteriore domandina inerente al codice del menu a tendina...quando modifico una voce il menu mi presenta per default, la prima voce dell'elenco che potrebbe non coincidere con quella realmente presente nel database.

    In che modo dovrebbe essere modificato il codice così da visualizzare la voce giusta?

    <?php
    if(isset($_GET['edit'])){
    $_POST['edit'] = $_GET['edit'];
    }
    if (isset($_POST['edit'])) {

    $news_query = "SELECT * FROM tab_fotografie WHERE Id_fotografia = " . $_POST['edit'];

    $result_news = mysql_query($news_query);
    $result_array = mysql_fetch_array($result_news);

    }
    ?> </td>
    <td width="68%"></td>
    </tr>

    <tr>
    <th id="nomiform3" class="col">Categoria fotografia</th>
    <td><select name="categoria" id="categoria">
    <?php
    $query = mysql_query("select * from tab_categoria where id order by nome");

    while($cat = mysql_fetch_array($query)) {
    $nomecat = $cat['id'];
    $nomecategoria = htmlspecialchars($cat['nome']);
    ?>

    <option value="<?php echo $nomecat ?>"><?php echo $nomecategoria ?></option>

    <?php
    }

    ?>
    </select>

    Grazie ancora per l'aiuto.

  5. #5
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    where id che sta a significare?

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    684
    Sta a significare l'id della foto che dovrebbe essere modificata nel form.

    Cmq non escludo errori di nessun tipo..

    Grazie

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    684
    Nessuno sa darmi una mano?

    Grazie

  8. #8
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    la clausola where vuole una condizione

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    684
    Originariamente inviato da bstefano79
    la clausola where vuole una condizione
    Sicuramente..ma sto chiedendo aiuto proprio perchè non so come agire..

  10. #10
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    togli where id

    togli questa cosa che non si può vedere
    $_POST['edit'] = $_GET['edit'];
    e scrivi magari $id= $_GET['edit'];
    ovviamente dove hai $_POST['edit']; poi sostituisci con $id


    e poi se ho capito bene sostituisci

    <option value="<?php echo $nomecat ?>"><?php echo $nomecategoria ?></option>

    con

    <option value="<?php echo $nomecat ?>"
    <?php if(isset($_GET['edit']) && $id==$nomecat){
    echo "selected=\"selected\"";
    }
    ?>
    ><?php echo $nomecategoria ?></option>

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.