Ver Mensaje Individual
  #11 (permalink)  
Antiguo 23/02/2011, 16:15
Avatar de crissrocca
crissrocca
 
Fecha de Ingreso: febrero-2011
Mensajes: 51
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: obtener valor de otra tabla segun ID

Cita:
Iniciado por bienpiyao Ver Mensaje
Me alegro que te funcionara lo de la foto, ahora a ver si solucionamos lo otro.

Prueba esto:

Código PHP:
$resultados mysql_query("SELECT id FROM phpbazar_ads WHERE publicview = 1");
$total_registros mysql_num_rows($resultados);
$resultados mysql_query("SELECT * FROM phpbazar_ads WHERE publicview = 1 ORDER BY precio DESC LIMIT $inicio, $registros");
$total_paginas ceil($total_registros $registros);

if(
$total_registros) {

while(
$articulo=mysql_fetch_array($resultados)) {

/*Aquí dentro debes hacer una consulta a la tabla phpbazar_adcat para sacar el NAME según el id*/

$sql "SELECT name
FROM phpbazar_adcat
WHERE id='"
.$variable."'";

$resmysql_query($sql);
$row mysql_fetch_array($res);

/*Ahora, cada vez que el while de una vuelta, tendrás sólo 1 id, por tanto te sacará el nombre de ese id y ya sólo te queda imprimirlo con $row["name"];
Debes sustituir $variable por aquella variable que contenga el campo que une las dos tablas (que no sé cuál es).*/


echo "<b>".$articulo["catid"]."/".$articulo["subcatid"]."/".$articulo["subcat2id"]."/".$articulo["formato"]."</b><br>";
echo 
"<b>".$articulo["precio"]."</b><br>";
echo 
"<b>".$articulo["picture1"]."</b>";
echo 
"<b>".$articulo["picture2"]."</b><br>";
echo 
"<font color='#666666'>".$articulo["location"]."</font><br><br><br>";
}

} else {
echo 
"<font color='darkgray'>(sin resultados)</font>";

Pruébalo y me dices.

Un saludo!
Usando la sentencia:
Código PHP:
$sql "SELECT name FROM phpbazar_adcat WHERE id='".$articulo['catid']."'";

$resmysql_query($sql);
$row mysql_fetch_array($res); 
he podido imprimir los resultados correctamente vinculandolo con las tres tablas que contienen el NAME relacionado con ese ID.

esta opcion era algo que habia valorado pero pensaba que se podria usar algo mas rapido y sencillo, ya que he tenido que realizar la query 3 veces y a su vez esta dentro de otra query que llena el while.. pero bueno, si funciona lo dejaremos asi.

muchas gracias!!

ahora voy a pegarme con la query principal
Código PHP:
        $resultados mysql_query("SELECT id FROM phpbazar_ads WHERE publicview = 1");
        
$total_registros mysql_num_rows($resultados); 
    
$resultados mysql_query("SELECT * FROM phpbazar_ads WHERE publicview = 1 ORDER BY precio DESC LIMIT $inicio, $registros");
    
$total_paginas ceil($total_registros $registros); 
ya que tengo que recoger las variables que envia el FORM e incluirlas de esta forma
Código PHP:
        $resultados mysql_query("SELECT * FROM phpbazar_ads WHERE publicview = 1 AND catid =$_POST['catid'] OR subcatid=$_POST['subcatid'] OR subcat2id=$_POST['subcat2id'] OR formato=$_POST['formato'] OR location=$_POST['location']");
        
$total_registros mysql_num_rows($resultados); 
    
$resultados mysql_query("SELECT * FROM phpbazar_ads WHERE publicview = 1 AND catid =$_POST['catid'] OR subcatid=$_POST['subcatid'] OR subcat2id=$_POST['subcat2id'] OR formato=$_POST['formato'] OR location=$_POST['location'] ORDER BY precio DESC LIMIT $inicio, $registros");
    
$total_paginas ceil($total_registros $registros); 
actualmente las variables las recoge el PHP correctamente y si solo incluyo un valor, por ejemplo:
Código PHP:
$resultados mysql_query("SELECT * FROM phpbazar_ads WHERE publicview = 1 AND catid =$_POST['catid'] ORDER BY id");
        
$total_registros mysql_num_rows($resultados); 
    
$resultados mysql_query("SELECT * FROM phpbazar_ads WHERE publicview = 1 AND catid =$_POST['catid'] ORDER BY precio DESC LIMIT $inicio, $registros");
    
$total_paginas ceil($total_registros $registros); 
funciona correctamente, pero no consigo sacarlo diciendole que haga la query con todas las variables.

supongo que es algo que esta mal puesto en la query o que para varios valores tengo que ponerlo de otra manera, no?