Page 1 of 1

a multiple database consult

Posted: Wed Oct 22, 2003 4:31 am
by madpixel
hi! I have these querys :

Code: Select all

<?php
$rs_query=mysql_query("select * from software_descargas where id_cliente=".$_GET["id"]);
$datos_descarga=mysql_fetch_array($rs_query);
$rs_query=mysql_query("select * from software_versiones where id=".$datos_descarga["id_ver"]);
$datos_version=mysql_fetch_array($rs_query);
$rs_query=mysql_query("select * from software where id=".$datos_version["id_soft"]);
$datos_soft=mysql_fetch_array($rs_query);
echo $datos_soft["soft"];
?>
i would want to know how to do this only with on a query.

Thanks!!!!

Posted: Wed Oct 22, 2003 5:23 am
by devork
yes it is possible

mysql> select * from name; select * from name1 ; select * from name3;select * from name2;
+------+
| n |
+------+
| a |
+------+
1 row in set (0.00 sec)

+------+
| n |
+------+
| a |
+------+
1 row in set (0.00 sec)

+------+
| n |
+------+
| a |
+------+
1 row in set (0.00 sec)

+------+------+
| n | b |
+------+------+
| a | d |
+------+------+
1 row in set (0.00 sec)

but have to keep track where the one query result ends...

i did it

Posted: Wed Oct 22, 2003 6:53 am
by madpixel
the query that i wanted is like this :

Code: Select all

<?php
$rs_query=mysql_query("SELECT * FROM software, software_versiones, software_descargas WHERE (
(software.id = software_versiones.id_soft) AND (software_versiones.id = software_descargas.id_ver) AND (software_descargas.id_cliente = ".$_GET["id"]."))");
?>

Posted: Wed Oct 22, 2003 7:36 am
by devork
have you tried running that query...

works

Posted: Wed Oct 22, 2003 7:38 am
by madpixel
yes, i tried it and it seems that works fine

Posted: Wed Oct 22, 2003 9:57 am
by devork
so are you getting the correct data from row after fetching the record... from query result

Posted: Wed Oct 22, 2003 10:14 pm
by JAM
How about you tried something like the following:

Code: Select all

-- applied linebreaks to make it abit readable...
$query = "
select 
    software_descargas.*, software_versiones.*, software.*
from 
    software_descargas
    inner join software_versiones on software_versiones.id = software_descargas.id_ver
    inner join software on software.id = software_versiones.id_soft
where
    software_descargas.id_cliente = '$_GET&#1111;id]'
";

Posted: Thu Oct 23, 2003 6:36 am
by devork
you can also do this by joins as
JAM has mentioned above
good technique to do stuff like this...;)