- Home
- Categorie
- Coding e Sistemistica
- PHP
- Non riesco ad estrarre dati da doppia tabella
-
Non riesco ad estrarre dati da doppia tabella
Allora:
Io ho due tabelle quasi uguali...immagini_Donne
id id_personaggio categoria file_immaginevideo_donne
id id_personaggio categoria file_antemprima file_videoIl problema è che non riesco ad estrarli...mi stampa una sessantina di record (quando dovrebbero essere 9 x la tabella foto e 3 per quella video)
Se vi puo'essere utile..mi stampa ripetutemente l' id 1,2,3 della tabella video...sempre quelle tre...$sql_materiale="SELECT * FROM immagini_donne,video_donne WHERE immagini_donne.id_vip='$_GET[id]' OR video_donne.id_vip='$_GET[id]' ";
$result_materiale = mysql_query($sql_materiale) or die (mysql_error());<?
while ($materiale=mysql_fetch_array($result_materiale) )
{
if ( $materiale[categoria]=="Foto%") { $categoria="immagini"; }
elseif ( $materiale[categoria]=="Video%") { $categoria="video"; }
echo "<tr>
<td width="95" height="88">
<div align="center"><font size="2" face="Verdana"><img src="$donne[categoria]/$cartella/$categoria/supermini/$materiale[immagine]$materiale[nome_foto]" width="54" height="58" border="0"></font></div></td>
<td width="405"><div align="center">
<table width="300" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="3"><font size="2" face="Verdana"><strong>Materiale</strong>:
<a href="ffff"><font color="#000000">$materiale[categoria] $materiale[id]</font></a>
</font>
<div align="right"></div></td>
</tr>
<tr>
<td colspan="3"><div align="center"><font size="2" face="Verdana"><img src="../images/linea_380.gif" width="300" height="2"></font></div></td>
</tr>
<tr>
<td height="22" colspan="3" valign="top"><div align="center"><font size="2" face="Verdana">Voto
4.99 | Visto 1250 | Commenti
500</font></div></td>
</tr>
<tr>
<td width="138"><font size="2" face="Verdana">27/11/2007<br>
</font></td>
<td width="1"> </td>
<td width="161" align="right" valign="bottom"><font size="2" face="Verdana"><strong>Segnalata
da</strong> Gallo</font></td>
</tr>
<tr>
<td height="22" colspan="3">
<div align="center"><font size="2" face="Verdana"><strong><a href="../foto_ok.html"><font color="#FF0000">Visualizza
Video</font></a></strong></font></div></td>
</tr>
</table>
</div></td>
</tr>
";
} ?>
-
Prova a modificare la query cosi:
$sql_materiale="SELECT DISTINCT(immagini_donne.id), * FROM immagini_donne,video_donne WHERE immagini_donne.id_vip='$_GET[id]' OR video_donne.id_vip='$_GET[id]' ";
-
@ayrton2001 said:
Prova a modificare la query cosi:
$sql_materiale="SELECT DISTINCT(immagini_donne.id), * FROM immagini_donne,video_donne WHERE immagini_donne.id_vip='$_GET[id]' OR video_donne.id_vip='$_GET[id]' ";non va bene
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 '* FROM immagini_donne,video_donne WHERE immagini_donne.id_vip='7' OR video_donne' at line 1
-
Mi spiego meglio:
Allora
Mettiamo io ho queste due tabella:
Articoli
ID TITOLO TESTO DATA
REcensioni
ID TITOLO TESTO DATA
Allora... dovrei fare due query:
SELECT titolo FROM articoli
e l' altra
SELECT titolo FROM news
Dopo di che, stampare i record di entrambe le tabelle in ordine di data,il problema è unire i record, non voglio stampare prima i record della tabella articoli, e poi quella delle news. devono essere "mischiati" in base alla data di inserimento...ma come?
-
[PHP]SELECT titolo, data FROM Articoli, News ORDER BY data[/PHP]
Occhio a maiuscole, minuscole e a nomi esatti di tabelle e campi. Se sgarri di un pelino non ti funziona più niente.
-
@Shad said:
[php]SELECT titolo, data FROM Articoli, News ORDER BY data[/php]
Occhio a maiuscole, minuscole e a nomi esatti di tabelle e campi. Se sgarri di un pelino non ti funziona più niente.
cosi non riesco, perchè le due tabelle non sono proprio identiche.
Son riuscito cosi:
SELECT id,categoria FROM immagini_donne WHERE id_vip='$_GET[id]' UNION ALL SELECT id,categoria FROM video_donne WHERE id_vip='$_GET[id]'Il problema è questo adesso... ho provato a mettere ORDER BY data... ma mi da questo errore: come faccio?
Incorrect usage of UNION and ORDER BY
-
Guarda qui: http://www.vbsimple.net/index.htm?/database/db_08_01.htm
Credo che la Full Outer Join faccia al caso tuo