Dear Reynier, You can use JOIN on your both, The JOIN have to run on the same feilds i.e IDA.
SELECT * FROM carro_de_compras LEFT JOIN os_articulo ON carro_de_compras.IDA = os_articulo.IDA This query returns all your users with their articles if any and you can iterate on it. but one note: Use INDEX on both tables. You may encounter problems when your rows grow up. about the UPDATE query: UPDATE table SET value=value+1" WHERE id='1' is enough, use that. On 2/7/06, Reynier Perez Mira <[EMAIL PROTECTED]> wrote: > > Hi: > I'm develop a simple shopping cart. I have this two tables: > carro_de_compras > ---------- > IDU int(11) NOT NULL > IDA int(11) NOT NULL > CantidadDeArticulos int(11) NOT NULL > > os_articulo > ---------- > IDA int(11) NOT NULL auto_increment, > IDC int(11) NOT NULL default '0', > ANombre varchar(200) NOT NULL default '', > ADescripcion text, ACantidad int(11) NOT NULL default '0', AImagen varchar(50) default NULL, IDU int(11) NOT NULL default '0', APrecio float(6,2) default NULL, KEY AI_IDA (`IDA`) > > Before ask let me explain some things. As you can see in the tables I have > the same field IDU in both tables. So in first(table carro_de_compras) it > means is user ID loged on ecommerce system, the second is the user ID who > upload articles for sale. Something like eBay in wich you can sale and buy > at every time. The arrive the point in wich I need to optimize queries: > > PHP Code: > ----- > $sql = mysql_query("SELECT * FROM carro_de_compras"); > $sresultado = mysql_fetch_assoc($sql); > > $query = mysql_query("SELECT * FROM os_articulo WHERE > (IDA='".$sresultado['IDA']."')"); > while ($record = mysql_fetch_assoc($query)) { > $productos[] = $record; > } > > The question for this problem is: exists any way to optimize this query > and leave only in one line? I read in MySQL doc about it and found some > about JOIN but I can't understand how it works. Maybe because I'm cuban and > not understand english as well as I want. > > The other questions is how to add some values to a field. For example: > $sql = mysql_query("UPDATE table SET value=value+1" WHERE id='1'); > > For do this query I do this: > $sql = mysql_query("SELECT value FROM table WHERE id='1'"); > $result = mysql_query($sql); > $update = mysql_query("UPDATE table SET (value='".$result['value']."' + 1) > WHERE id='1'); > > So is possible to optimize this query? > > > Regards > ReynierPM > 4to. año Ing. Informática > Usuario registrado de Linux: #310201 > ************************************************************************* > El programador superhéroe aprende de compartir sus conocimientos. > Es el referente de sus compañeros. Todo el mundo va a preguntarle y él, > secretamente, lo fomenta porque es así como adquiere su legendaria > sabiduría: escuchando ayudando a los demás... > > -- > MySQL General Mailing List > For list archives: http://lists.mysql.com/mysql > To unsubscribe: > http://lists.mysql.com/[EMAIL PROTECTED] > > -- Sincerely, Hadi Rastgou <a href="http://www.spreadfirefox.com/?q=affiliates&id=0&t=1">Get Firefox!</a>