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&amp;id=0&amp;t=1";>Get
Firefox!</a>

Reply via email to