Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Doppi record

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    115

    Doppi record

    Questa pagina funziona come dovrebbe, se non fosse che negli elenchi a discesa compaiono ripetute tutte le voci, ad eccezione di quello degli anni gli altri tre hanno lo stesso problema.
    Non sono riuscito a capire perchè qualcuno mi dice come mai succede?
    Grazie.

    [PHP]<?php
    $db = mysql_connect('localhost', 'root', '******') or
    die ('Unable to connect. Check your connection parameters.');
    mysql_select_db('moviesite', $db) or die(mysql_error($db));
    ?>
    <html>
    <head>
    <title>Add Movie</title>
    </head>
    <body>
    <form action="commit.php?action=add&type=movie" method="post">
    <table>
    <tr>
    <td>Movie Name</td>
    <td><input type="text" name="movie_name"/></td>
    </tr><tr>
    <td>Movie Type</td>
    <td><select name="movie_type">

    <?php
    // seleziona il tipo di film
    $query = 'SELECT
    movietype_id, movietype_label
    FROM
    movietype
    ORDER BY
    movietype_label';
    $result = mysql_query($query, $db) or die(mysql_error($db));

    // popola le opzioni della select con i risultati
    while ($row = mysql_fetch_assoc($result)) {
    foreach ($row as $value) {
    echo '<option value="' . $row['movietype_id'] . '">';
    echo $row['movietype_label'] . '</option>';
    }
    }
    ?>
    </select></td>
    </tr><tr>
    <td>Movie Year</td>
    <td><select name="movie_year">
    <?php
    // popola le opzioni della select con gli anni
    for ($yr = date("Y"); $yr >= 1970; $yr--) {
    echo '<option value="' . $yr . '">' . $yr . '</option>';
    }
    ?>
    </select></td>
    </tr><tr>
    <td>Lead Actor</td>
    <td><select name="movie_leadactor">
    <?php
    // seleziona i record degli attori
    $query = 'SELECT
    people_id, people_fullname
    FROM
    people
    WHERE
    people_isactor = 1
    ORDER BY
    people_fullname';
    $result = mysql_query($query, $db) or die(mysql_error($db));

    // popola le opzioni della select con i risultati
    while ($row = mysql_fetch_assoc($result)) {
    foreach ($row as $value) {
    echo '<option value="' . $row['people_id'] . '">';
    echo $row['people_fullname'] . '</option>';
    }
    }
    ?>
    </select></td>
    </tr><tr>
    <td>Director</td>
    <td><select name="movie_director">
    <?php
    // seleziona i record dei registi
    $query = 'SELECT
    people_id, people_fullname
    FROM
    people
    WHERE
    people_isdirector = 1
    ORDER BY
    people_fullname';
    $result = mysql_query($query, $db) or die(mysql_error($db));

    // popola le opzioni della select con i risultati
    while ($row = mysql_fetch_assoc($result)) {
    foreach ($row as $value) {
    echo '<option value="' . $row['people_id'] . '">';
    echo $row['people_fullname'] . '</option>';
    }
    }
    ?>
    </select></td>
    </tr><tr>
    <td colspan="2" style="text-align:center;">
    <input type="submit" name="submit" value="Add" />
    </td>
    </tr>
    </table>
    </form>
    </body>
    </html>

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,448
    Perché usi 2 echo? puoi usarne 1 come per l'anno
    Codice PHP:
    echo '<option value="' $row['movietype_id'] . '">' $row['movietype_label'] . '</option>';
    ...
    echo 
    '<option value="' $row['people_id'] . '">' $row['people_fullname'] . '</option>';
    ...
    echo 
    '<option value="' $row['people_id'] . '">' $row['people_fullname'] . '</option>'

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    115
    Ho provato come hai suggerito tu. Ho messo l'ID e il fullname sotto lo stesso echo ma il risultato è lo stesso.
    Non riesco a capire qual'è il problema.

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,448
    Devi togliere i foreach.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    115
    Perfetto Alhazred.
    Ti ringrazio.

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.