Foros del Web » Programando para Internet » PHP »

Problema con Select SQL

Estas en el tema de Problema con Select SQL en el foro de PHP en Foros del Web. Hola, este es el asunto: tengo dos tablas users y statuses; hago un inner join entre las dos tablas, las dos tienen un campo id. ...
  #1 (permalink)  
Antiguo 17/08/2009, 12:57
 
Fecha de Ingreso: enero-2008
Ubicación: Chaco
Mensajes: 116
Antigüedad: 16 años, 3 meses
Puntos: 0
Problema con Select SQL

Hola,

este es el asunto:

tengo dos tablas users y statuses; hago un inner join entre las dos tablas,
las dos tienen un campo id.

Código:
"SELECT * from statuses inner join users on statuses.user = users.username where permissions = 'public' and status like '%@$user%' order by statuses.id desc limit $q"
bueno, todo bien, pero cuando quiero conseguir el valor del id del status y no del usuario tengo problemas :(

hago esto:

Código PHP:
$status_query "SELECT * from statuses inner join users on statuses.user = users.username where permissions = 'public' and status like '%@$user%' order by statuses.id desc limit $q"

$statuses_q mysql_query($status_query$conexion) or die (mysql_error());
    
    while(
$reg_statuses mysql_fetch_array($statuses_q)){
        if(
$reg_statuses['imgfile'] != ""){
            
$imgfile $reg_statuses['imgfile'];
        }else{
            
$imgfile 'no-photo.png';
        }
        
        
$statuses[] = array(
                            
'id' => $reg_statuses['id'],      //Este quiero que sea el id del status no del usuario...
                            
'status' => $reg_statuses['status'],
                            
'user' => $reg_statuses['user'],
                            
'imgfile' => $imgfile,
                            
'name' => $reg_statuses['name'],
                            
'time' => $reg_statuses['time'],
                            
'from' => $reg_statuses['from'],
                            
'reply' => $reg_statuses['reply'],
                            
'permissions' => $reg_statuses['permissions']
                            ); 
    } 
Intenté poniendo $reg_statuses['statuses.id'];
pero no pasa naa xD jejje
php no es mi fuerte y sinceramente no se como se hace xD

Gracias
Salu2
__________________
La web es ciencia xD www.resiscity.com.ar, http://www.leoferreyra.com.ar
  #2 (permalink)  
Antiguo 17/08/2009, 13:15
Avatar de JuJoGuAl  
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 14 años, 8 meses
Puntos: 19
Respuesta: Problema con Select SQL

Haber si ID de usuario no es igual al de Estatus tienes que especificar en tu consulta que quieres seleccionar el problema creo yo es que colocases * y no limitastes que campos quieres, puedes poner algo como:

"SELECT status.id as STATUSID,MAS CAMPOS QUE NECESITES from statuses inner join users on statuses.user = users.username where permissions = 'public' and status like '%@$user%' order by statuses.id desc limit $q"

Luego abajo cambias:
'id' => $reg_statuses['id'],
por
'id' => $reg_statuses['STATUSID'],

Trabaja con TABLA.CAMPO asi seleccionas exactamente lo que necesitas, y el AS para nombrar la columna donde caera el valor que selecciona, prueba asi y dime como te va....
  #3 (permalink)  
Antiguo 18/08/2009, 19:13
 
Fecha de Ingreso: enero-2008
Ubicación: Chaco
Mensajes: 116
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Problema con Select SQL

@JuJoGuAl Gracias !

pero, resulta que en mi tabla son muchos campos, y mas si uno dos tablas, y es bastante para andar poniendo campo x campo xD

no conoces otra forma?

Gracias
Salu2
__________________
La web es ciencia xD www.resiscity.com.ar, http://www.leoferreyra.com.ar
  #4 (permalink)  
Antiguo 19/08/2009, 08:36
Avatar de JuJoGuAl  
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 14 años, 8 meses
Puntos: 19
Respuesta: Problema con Select SQL

Pues entonces deja el * y solo pon esta linea:

'id' => $reg_statuses['STATUS.ID']

asi le dices al php que quieres es el ID de estatus....
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:37.