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

    non riesco ad associare l'id della materia con il suo nome

    ciao,
    nella tabella a_corsi ho il campo id_materia1 che corrisponde ad una materia della tabella a_materie, vorrei visualizzare a video il nome della materia, invece mi esce il suo corrispondente numero id, come si fa a visualizzare il nome anzichè l'id? Ho provato a fare così ma non mi funziona.

    Codice PHP:
    <?php 
    $query3 
    "SELECT a_iscrizioni.*, a_creacorsi.*, a_corsi.*
            FROM a_iscrizioni, a_creacorsi, a_corsi
            WHERE a_iscrizioni.id_creacorsi = a_creacorsi.id_creacorsi AND a_creacorsi.id_corsi = a_corsi.id_corsi AND id_iscrizioni=
    $voto";
    $result3 mysql_query($query3$conn) or die (mysql_error() );
    $row3 mysql_fetch_array($result3);
    ?>

    <?php 
    $query4 
    "SELECT * FROM a_materie";
     
    $result4 mysql_query($query4$conn) or die (mysql_error() );
    $row4 mysql_fetch_array($result4);
    if (
    $row3[id_materia1]==$row4['id_materie']){?>
    <span class="testo_grigio_bold"><?=$row['nome_materia']?></span>
    <?php
    }
    ?>

  2. #2

  3. #3
    non ho potuto verificare la query perchè non ho le tue tabelle, ma proverei questa strada, o una simile che si adatta meglio alla tua struttura dati

    <?php

    $query = "select * from a_materie
    join (select a_iscrizioni.*
    join a_creacrosi on a_iscrizioni.id_creacorsi = a_creacorsi.id_creacorsi
    join a_corsi a_creacorsi.id_corsi = a_corsi.id_corsi)
    on id_materia1=id_materia
    where id_iscrizioni=$voto";

    $result = mysql_query($query, $conn) or die (mysql_error() );

    ...
    ?>
    ciao
    sergio

  4. #4
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478

    Re: non riesco ad associare l'id della materia con il suo nome

    Originariamente inviato da ufficio
    ciao,
    nella tabella a_corsi ho il campo id_materia1 che corrisponde ad una materia della tabella a_materie, vorrei visualizzare a video il nome della materia, invece mi esce il suo corrispondente numero id, come si fa a visualizzare il nome anzichè l'id? Ho provato a fare così ma non mi funziona.
    [...]
    codice:
    <span class="testo_grigio_bold"><?php echo $row4['nome_materia']; ?></span>
    ci sarebbe da rivedere comunque l'intera query...

  5. #5
    Originariamente inviato da mondobimbi
    non ho potuto verificare la query perchè non ho le tue tabelle, ma proverei questa strada, o una simile che si adatta meglio alla tua struttura dati

    <?php

    $query = "select * from a_materie
    join (select a_iscrizioni.*
    join a_creacrosi on a_iscrizioni.id_creacorsi = a_creacorsi.id_creacorsi
    join a_corsi a_creacorsi.id_corsi = a_corsi.id_corsi)
    on id_materia1=id_materia
    where id_iscrizioni=$voto";

    $result = mysql_query($query, $conn) or die (mysql_error() );

    ...
    ?>
    ciao
    sergio
    facendo queste join mi da il seguente errore:

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'on a_iscrizioni.id_creacorsi = a_creacorsi.id_creacorsi join a_corsi a_creacorsi' at line 3

  6. #6

    Re: Re: non riesco ad associare l'id della materia con il suo nome

    Originariamente inviato da neida
    codice:
    <span class="testo_grigio_bold"><?php echo $row4['nome_materia']; ?></span>
    ci sarebbe da rivedere comunque l'intera query...
    aggiungendo $row4 mi visualizza un nome di una materia a caso e non quella corrispondente all'id.

  7. #7
    ora ho provato a fare così ma non mi stampa niente

    Codice PHP:
    <?php 
    $query3 
    "SELECT a_iscrizioni.*, a_creacorsi.*, a_corsi.* 
            FROM a_iscrizioni, a_creacorsi, a_corsi 
            WHERE a_iscrizioni.id_creacorsi = a_creacorsi.id_creacorsi AND a_creacorsi.id_corsi = a_corsi.id_corsi AND id_iscrizioni=
    $voto"
    $result3 mysql_query($query3$conn) or die (mysql_error() ); 
    $row3 mysql_fetch_array($result3); 
    ?> 

    <?php 
    $query4 
    "SELECT * FROM a_materie"
    $result4 mysql_query($query4$conn) or die (mysql_error() ); 
    $row4 mysql_fetch_array($result4); 
    if (
    $row3[id_materia1]==$row4['id_materie'])
    {
    echo 
    "$row4->nome_materia";
    }
    ?>

  8. #8
    facendo così, l'id della materia me lo da giusto, invece il nome me lo da sbagliato (mi stampa il primo della tabella a_materie)

    Codice PHP:
    <?php 
    $query3 
    "SELECT a_iscrizioni.*, a_creacorsi.*, a_corsi.*, a_materie.* 
            FROM a_iscrizioni, a_creacorsi, a_corsi, a_materie
            WHERE a_iscrizioni.id_creacorsi = a_creacorsi.id_creacorsi AND a_creacorsi.id_corsi = a_corsi.id_corsi AND id_iscrizioni=
    $voto"
    $result3 mysql_query($query3$conn) or die (mysql_error() ); 
    $row3 mysql_fetch_array($result3); 
    ?> 
    <span class="testo_grigio_bold"><?=$row3['id_materia1']?></span>
    <span class="testo_grigio_bold"><?=$row3['nome_materia']?></span>

  9. #9
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Devi creare una ulteriore relazione con la tabella a_materie, nella condizione WHERE della query, per selezionare il nome della materia interessata.

  10. #10
    ok, GRAZIE ,così funziona benissimo solo che mi viene un codice un pò lungo, c'è un modo per farlo più concentrato, con un'unica query?

    Codice PHP:
    <?php 
    $query1 
    "SELECT a_creacorsi.*, a_corsi.*, a_materie.* 
            FROM a_creacorsi, a_corsi, a_materie
            WHERE a_creacorsi.id_corsi = a_corsi.id_corsi AND a_corsi.id_materia1 = a_materie.id_materie"

    $result1 mysql_query($query1$conn) or die (mysql_error() ); 
    $row1 mysql_fetch_array($result1); 
    ?> 
    <?php 
    $query2 
    "SELECT a_creacorsi.*, a_corsi.*, a_materie.* 
            FROM a_creacorsi, a_corsi, a_materie
            WHERE a_creacorsi.id_corsi = a_corsi.id_corsi AND a_corsi.id_materia2 = a_materie.id_materie"

    $result2 mysql_query($query2$conn) or die (mysql_error() ); 
    $row2 mysql_fetch_array($result2); 
    ?> 
    <?php 
    $query3 
    "SELECT a_creacorsi.*, a_corsi.*, a_materie.* 
            FROM a_creacorsi, a_corsi, a_materie
            WHERE a_creacorsi.id_corsi = a_corsi.id_corsi AND a_corsi.id_materia3 = a_materie.id_materie"

    $result3 mysql_query($query3$conn) or die (mysql_error() ); 
    $row3 mysql_fetch_array($result3); 
    ?> 
    <?php 
    $query4 
    "SELECT a_creacorsi.*, a_corsi.*, a_materie.* 
            FROM a_creacorsi, a_corsi, a_materie
            WHERE a_creacorsi.id_corsi = a_corsi.id_corsi AND a_corsi.id_materia4 = a_materie.id_materie"

    $result4 mysql_query($query4$conn) or die (mysql_error() ); 
    $row4 mysql_fetch_array($result4); 
    ?> 
    <?php 
    $query5 
    "SELECT a_creacorsi.*, a_corsi.*, a_materie.* 
            FROM a_creacorsi, a_corsi, a_materie
            WHERE a_creacorsi.id_corsi = a_corsi.id_corsi AND a_corsi.id_materia5 = a_materie.id_materie"

    $result5 mysql_query($query5$conn) or die (mysql_error() ); 
    $row5 mysql_fetch_array($result5); 
    ?> 
    <span class="testo_grigio_bold"><?=$row1['nome_materia']?></span>
    <span class="testo_grigio_bold"><?=$row2['nome_materia']?></span>
    <span class="testo_grigio_bold"><?=$row3['nome_materia']?></span>
    <span class="testo_grigio_bold"><?=$row4['nome_materia']?></span>
    <span class="testo_grigio_bold"><?=$row5['nome_materia']?></span>

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.