• User Newbie •

    Aiuto per un form in php

    Buongiorno a tutti!
    vengo subito al mio problema...
    ho un form che preleva dati dal DB in due tabelle, in una ci sono i nomi delle specifiche di alcuni prodotti e nell'altra le specifiche vere e proprie... ad esempio nome_specifiche = Colore e specifica = rosso, ora il problema è che quando ho due prodotti a confronto i nomi delle specifiche possono essere uguali e io dovrei visualizzarli una sola volta, nella prima colonna e le specifiche invece dovrebbe andarsi a posizionare nelle colonne accanto

             Prodotto 1       Prodotto2
    

    Colore Rosso Verde

    Come posso fare?
    grazie mille a tutti e buon pranzo o digestione! 🙂
    :ciauz:


  • User •

    Ciao reeda80 perche non provi a postarci la query cosi magari vediamo come la hai istrutturata?


  • User Newbie •

    Eccolo!

    [PHP]<?php
    $sql = " SELECT

    id_prodotto,
    nome_specifica,
    specifica
    
    FROM prodotti 
    LEFT JOIN specifiche USING(products_id)
    LEFT JOIN nome_specifica ON specifiche.id_specifiche=nome_specifica.id_nome_specifica
    WHERE ";
    

    for ($i=0; $i < sizeof($HTTP_POST_VARS['confronta']); $i++)
    {
    $sql .= "id_prodotto='".$HTTP_POST_VARS['confronta']*."'";
    if (($i + 1) < sizeof($HTTP_POST_VARS['confronta'])){ $sql .= " OR "; }
    }

    $risulta= mysql_query($sql);
    $riga= mysql_fetch_array($risulta);
    $totale= mysql_num_rows($risulta);?>

    <?php do

    { ?>

    <table class="confronta" width="98%" style="margin:auto;" align="right" border="1" cellpadding="2" cellspacing="1" >
    <tr>
    <td width="187.95">
    <table>

    <tr><td width="187.95"><?php echo '<b>'."$riga[nome_specifica]";?>
    </td></tr>

    </table>
    </td>

    <td>
    <table>

    <tr><td><?php echo "$riga[specifiche]";?></td></tr>

    </table>
    </td>
    <?php } while ($riga=mysql_fetch_array($risulta));?>

    <p> </p>
    </tr>
    </table>[/PHP]


  • User •

    Ciao reeda80 ci sono un sacco di errori del code io te l'ho semplificato un po' prova cosi se non ti funziona dimmi come hai organizato le tabelle nel database e vediamo, ci sono anche dei errori nella query, quando fai SELECT e scrivi i campi devi mettere prima il nome della tabella dove si trova il campo e poi il campo esempio: nometabella.nomecampo

    [PHP]
    <?php
    $sql = "SELECT id_prodotto, nome_specifica, specifica
    FROM prodotti
    GROUP BY specifica
    LEFT JOIN specifiche USING(products_id)
    LEFT JOIN nome_specifica ON specifiche.id_specifiche=nome_specifica.id_nome_specifica
    WHERE ";

    for ($i=0; $i < sizeof($_POST['confronta']); $i++)
    {
    $sql .= "id_prodotto='".$_POST['confronta']*."'";

    if(($i + 1) < sizeof($_POST['confronta']))
      { 
       $sql .= " OR "; 
      }
    

    }

    $risulta= mysql_query($sql);
    $totale= mysql_num_rows($risulta);

    while($riga=mysql_fetch_array($risulta))
    {
    echo'
    <table class="confronta" width="98%" style="margin:auto;" align="right" border="1" cellpadding="2" cellspacing="1" >
    <tr>
    <td>
    <b>'.$riga['nome_specifica'].'</b>
    </td>
    <td>
    '.$riga['specifiche'].'
    </td>
    </tr>
    </table>';
    }
    ?>
    [/PHP]