• User

    Inserimento di nuove caratteristiche di un prodotto.

    Ciao a tutti, premetto di essere alle prime armi con programmazione e cose simili, anche se avendo ereditato un sistema mysql e php funzionante sono riuscito a bercamenarmi fino ad ora... Ora però ho un problema che faccio fatica anche ad esporre, cercherò di essere il più chiaro possibile.
    Devo fare in modo che in un sito di atletica ci sia il curriculum aggiornabile per ogni atleta. In pratica ogni atleta (aggiunto dinamicamente) ha una sua scheda con i dati anagrafici in cui dovrebbe venire aggiornato il curriculum delle gare disputate. In oltre siccome si tratta di staffettisti per ogni gara c'è anche il campo che indica con anche con chi a corso e il rimando a quest'altro atleta. E' un casino...(per me:x). Se qualcuno sapesse orientarmi su come procedere...poi al massimo cerco come realizzarlo...Grazie spero mi aiutiate. Ciao


  • Moderatore

    Ciao,
    ti posso solo consigliare di prendere carta e penna e di farti uno schema di come deve essere organizzato il database.

    Successivamente fai uno studio sulle classi da creare (se hai intenzione di programmarlo ad oggetti) delle dipendenze e tutto il resto.

    INFINE e solo ALLA FINE cominci a mettere mano al codice passettino per passettino. 😉


  • User

    Ciao Shad, prima di tutto grazie. Ho fatto come mi hai detto. Ora devo chiederti ancora una cosa io vorrei che nell'inserimento tramite il form nella tabella delle gare alla voce atleta comparisse per esempio in un menù a tendina stile SELECT solo i nomi inseriti nella tabella atleti. Per fare questo dovrei richiamare l'ID_atleta e fare in modo che mi appaia il nome e non il numero identificativo. Fin qui penso la teoria sia giusta ma come faccio a legare le due tabelle? Ciao e grazie ancora per la disponibilità Ps_nella tabella atleti devo aggiungere una voce ? Ciao e grazie di nuovo


  • User Attivo

    Dunque, ammettiamo che nel db ci sia una tabella chiamata atleti con i campi ID_Atleta e Nome_Atleta
    Se vuoi far comparire tutti gli atleti in una select(a partire dall'ID dell'atleta), ecco la soluzione:

    Supponiamo che hai una tabella cosi:
    TABELLA ATLETI
    +--------------------------+

    ID nome cognome
    21 antonio esposito
    14 carlo rossi

    Tu hai l'ID 14.Se vuoi sapere il nome dell'atleta, ecco come fare:
    $query=mysql_query("SELECT FROM atleti WHERE ID = '$id'");
    $row=mysql_fetch_array($query);//Adesso tutti i valori dei campi li richiami come array(seguendo i nomi dei campi)
    echo "<select name=".$row[nome].">".$row[cognome]."</select><br>\n";


  • User

    Grazie ilnetsurfer credo di aver capito, ora provo spero di riuscirci, se no mi sa che ti disturberò ancora 😉 per ora ciao e grazie ancora


  • User Attivo

    Ma quale disturbo!:)
    Qui sei su forum GT!


  • User

    Grazie allora, non ho ancora provato a fare come mi hai detto, oggi pomeriggio proverò e poi ti farò sapere. Per ora ciao di nuovo...


  • User

    Ok fatto! tutto bene per ora, ma adesso un nuovo scoglio...
    rifaccio il punto ho una tabella atleti, una tabella accompagnatori e ho fatto una tabella gare_disputate. In questa tabella gare_disputate io ho le voci:
    ID_gara(che si auto_incrementa), ID_atleta, ID_accompagnatore, data, luogo, piazzamento. Ora io devo fare in modo che nella pagina dell'atleta si carichi solo il suo curriculum gare? Ma come posso fare? Scusa ma sono un po' in confusione...mi hanno fatto fare una full immersion di php e sono un attimo in panne. Super ilnetsurfer pensaci tu 😉


  • User Attivo

    Il Net-Surfer all'azione!:D:D
    A parte gli scherzi, ecco una soluzione possibile:

    Allora crea una pagina chiamata atleti.php

    ecco il codice:

    [php]<?php
    require "config.inc.php";//qui tutti i dati di connessione, e la connessione mysql stessa
    if(isset($_GET['atleta'])){
    $atleta=$_GET['atleta'];
    $query=mysql_query("SELECT FROM atleti WHERE atleta = '$atleta'")or die("Impossibile eseguire la query");
    if(mysql_num_rows($query)!=0){
    $row=mysql_fetch_array($query);
    $query_2=mysql_query("SELECT FROM gare_disputate WHERE id_atleta = '$row[id]'")or die("Impossibile eseguire la query");//$row[id] è relativo alla tabella atleti
    $row_2=mysql_fetch_array($query_2);
    $query_3=mysql_query("SELECT FROM accompagnatori WHERE id_accompagnatore = '$row_2[id_accompagnatore]'")or die("Impossibile eseguire la query");
    $row_3=mysql_fetch_array($query_3);
    //dato che non conosco la struttura della tabella accompagnatori, ho inventato il campo accompagnatore, che sarebbe relativo al nome dell'accompagnatore
    }else{
    die("Impossibile trovare l'atleta da te cercato!");
    }
    }
    <html>
    <head>
    <title><?php echo "Scheda dell'atleta $atleta"; ?></title>
    </head>
    <body>
    <table border="0" width="45%">
    <tr>
    <td width="100%" colspan="2" align="center">Dati dell'atleta</td>
    </tr>
    <tr>
    <td width="50%">Nome atleta</td>
    <td width="50%"><?php echo $atleta; ?></td>
    </tr>
    <tr>
    <td width="50%">Accompagnatore</td>
    <td width="50%"><?php echo $row_3[accompagnatore]; ?></td>
    </tr>
    <tr>
    <td width="50%">Data</td>
    <td width="50%"><?php echo $row_2[data]; ?></td>
    </tr>
    <tr>
    <td width="50%">Luogo</td>
    <td width="50%"><?php echo $row_2[luogo]; ?></td>
    </tr>
    <tr>
    <td width="50%">Piazzamento</td>
    <td width="50%"><?php echo $row_2[piazzamento]; ?></td>
    </tr>
    </table>
    </body>
    </html>[/php]Per richiamare un atleta, utilizzando GET, ecco come devi fare:
    www.iltuosito.est/ script/ atleti.php?atleta=nome_atleta
    Non l'ho provato e potrebbero esserci degli errori...comunque, spero di essere stato utile:)


  • User

    Ciao Il Net-Surfer, scusa ma devo ancora provare lo scrip oggi ti faccio sapere al più presto se va tutto bene. Grazie tante ancora