• User Newbie

    Predefinito select form php mysql che manda due valori Salve sto imparando ora il php

    select form php mysql che manda due valori
    Salve sto imparando ora il php ho un problema devo creare select che manda due valori ad una tabella mysql da un'altra tabella e volevo :

    id -> id_cat
    categoria -> categoria

    Io sono arrivato a

    [php] <?php

    $result = mysql_query("SELECT * FROM categorie")
    or die(mysql_error());

    echo "<select name="categoria">";

    while($row = mysql_fetch_array( $result )) {
    echo "<option value=".$row['id']."> ";
    echo $row['categoria'];
    echo "</option>";
    }

    echo "</select>";
    ?> [/php]

    Così riesco a beccare solo la categoria ma non id come posso fare???

    Grazie.


  • User Attivo

    [....]

    Così riesci a beccare solo id perchè la categoria la visualizza soltanto.
    Se ho ben capito i valori da mandare si trovano nella stessa tabella.
    Se così fosse non resta altro che aggiungere alla option l'altro valore interessato, separandolo con qualcosa (vedi esempio), per poi inserirli.

    [php]echo "<select name="categoria">";

    while($row = mysql_fetch_array( $result )) {
    // così i valori sono congiunti da un _ underscore
    echo "<option value=" . $row['id'] . "_" . $row['categoria'] . "> ";
    echo $row['categoria'];
    echo "</option>";
    }
    echo "</select>";[/php]

    Quando il valore giunge all'altra tabella bisogna separarlo prima di inserirlo.
    La clausula explode ci aiuta a fare questo.

    Se la variabile che arriva si chiamasse $VAR
    $EXPLODE = explode('_', $VAR, 2);
    $VAR_1 = $EXPLODE[0]; // ID
    $VAR_1 = $EXPLODE[1]; // CATEGORIA

    Il gioca è fatto.
    Spero sia stato di aiuto.
    Alla prossima.