- Home
- Categorie
- Coding e Sistemistica
- PHP
- Aiuto per un form in php
-
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 accantoProdotto 1 Prodotto2
Colore Rosso Verde
Come posso fare?
grazie mille a tutti e buon pranzo o digestione!
-
Ciao reeda80 perche non provi a postarci la query cosi magari vediamo come la hai istrutturata?
-
Eccolo!
[PHP]<?php
$sql = " SELECTid_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]
-
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]