Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/11/2007, 06:10
shilen79
 
Fecha de Ingreso: octubre-2007
Mensajes: 118
Antigüedad: 16 años, 6 meses
Puntos: 11
Pregunta sobre consulta de base de datos

Buenas, sigo atascado en una cosa, pero me doy cuenta que hay una cosa que no entiendo y que sino se como funciona, poco voy a poder solucionarlo.

Mas o menos entiendo la dinamica de las clases en PhP, y de las consultas con php-mysql, pero tengo una consulta que me junta ambas cosas y ando muy perdido en como me resuelve la consulta y como me devuelve los datos.

La consulta es esta :

Código:
<?php

$db =& new ps_DB;
$q = "SELECT * FROM `#__{vm}_orders` WHERE ";
$q .= "#__{vm}_orders.user_id='" . $auth["user_id"] . "' ";
$q .= "AND #__{vm}_orders.order_id='$order_id'";
$db->query($q);



// Get bill_to information
	$dbbt = new ps_DB;
	$q  = "SELECT * FROM `#__{vm}_order_user_info` WHERE order_id='" . $db->f("order_id") . "' ORDER BY address_type ASC";
	$dbbt->query($q);
	$dbbt->next_record();
	$user = $dbbt->record;

	/** Retrieve Payment Info **/
	$dbpm = new ps_DB;
	$q  = "SELECT * FROM `#__{vm}_payment_method`, `#__{vm}_order_payment`, `#__{vm}_orders` ";
	$q .= "WHERE #__{vm}_order_payment.order_id='$order_id' ";
	$q .= "AND #__{vm}_payment_method.payment_method_id=#__{vm}_order_payment.payment_method_id ";
	$q .= "AND #__{vm}_orders.user_id='" . $auth["user_id"] . "' ";
	$q .= "AND #__{vm}_orders.order_id='$order_id' ";
	$dbpm->query($q);
	$dbpm->next_record();


$total = $db->f("order_total");
	
?>
Se crean nuevos objetos de la clase ps_Db que se almacenan en esas respectivas
variables pero no entiendo el modo de sintaxis, ni que me devuelve en concreto esto:

Código:
$dbpm = new ps_DB;
	$q  = "SELECT * FROM `#__{vm}_payment_method`, `#__{vm}_order_payment`, `#__{vm}_orders` ";
	$q .= "WHERE #__{vm}_order_payment.order_id='$order_id' ";
	$q .= "AND #__{vm}_payment_method.payment_method_id=#__{vm}_order_payment.payment_method_id ";
	$q .= "AND #__{vm}_orders.user_id='" . $auth["user_id"] . "' ";
	$q .= "AND #__{vm}_orders.order_id='$order_id' ";
	$dbpm->query($q);
	$dbpm->next_record();


$total = $db->f("order_total");
No comprendo la sintaxis de la consulta, de
$dbpm=new ps_DB;
$q.="SELECT.......etc..

¿¿En 2 variables almacena la consulta o??

Pero bueno imagino que hara referencia a la clase y sus atributos , solo que no he consigo encontrar la construccion de la clase aun....

Pero lo que no comprendo sobre todo es esto :

$total = $db->f("order_total");

Que es lo que me daba problemas con mi otra duda en otro post anterior....
Para sacar los datos, cantidad, etc.. de las consultas usaba el mysql_num_rows,mysql_fetch_array...etc...
Pero esta instruccion no la comprendo , si me saca su valor entero(es un campo INT) tal cual o no.