Ver Mensaje Individual
  #3 (permalink)  
Antiguo 31/08/2012, 13:58
Avatar de protoameeba
protoameeba
 
Fecha de Ingreso: septiembre-2005
Mensajes: 195
Antigüedad: 18 años, 7 meses
Puntos: 3
Respuesta: Hola se pueden cruzar JOINs MYSQL

jajaja ... que va es que estoy un poco atrapado con dos bases de datos cruzando datos para mostrar si o no... en un email.

lo que quiero es simplificar la consulta, porque funciona!! pero es muy larga y a veces es como que se pierde la consulta y me saca un error.

esta es la consulta:

Código PHP:
Ver original
  1. $searchFocus="anuncios WHERE city='$city' AND( (money='EUR' AND budget >= $euroUserBudget) OR (money='USD' AND budget >= $euroUserBudget*$moneyUSD) OR (money='JPY' AND budget >= $euroUserBudget*$moneyJPY) OR (money='BGN' AND budget >= $euroUserBudget*$moneyBGN) OR (money='CZK' AND budget >= $euroUserBudget*$moneyCZK) OR (money='DKK' AND budget >= $euroUserBudget*$moneyDKK) OR (money='GBP' AND budget >= $euroUserBudget*$moneyGBP) OR (money='HUF' AND budget >= $euroUserBudget*$moneyHUF) OR (money='LTL' AND budget >= $euroUserBudget*$moneyLTL) OR (money='PLN' AND budget >= $euroUserBudget*$moneyPLN) OR (money='RON' AND budget >= $euroUserBudget*$moneyRON) OR (money='SEK' AND budget >= $euroUserBudget*$moneySEK) OR (money='CHF' AND budget >= $euroUserBudget*$moneyCHF) OR (money='NOK' AND budget >= $euroUserBudget*$moneyNOK)OR (money='HRK' AND budget >= $euroUserBudget*$moneyHRK) OR (money='RUB' AND budget >= $euroUserBudget*$moneyRUB) OR (money='TRY' AND budget >= $euroUserBudget*$moneyTRY) OR (money='AUD' AND budget >= $euroUserBudget*$moneyAUD) OR (money='BRL' AND budget >= $euroUserBudget*$moneyBRL) OR (money='CAD' AND budget >= $euroUserBudget*$moneyCAD) OR (money='CNY' AND budget >= $euroUserBudget*$moneyCNY) OR (money='HKD' AND budget >= $euroUserBudget*$moneyHKD) OR (money='IDR' AND budget >= $euroUserBudget*$moneyIDR) OR (money='ILS' AND budget >= $euroUserBudget*$moneyILS) OR (money='INR' AND budget >= $euroUserBudget*$moneyINR) OR (money='KRW' AND budget >= $euroUserBudget*$moneyKRW) OR (money='MXN' AND budget >= $euroUserBudget*$moneyMXN) OR (money='NZD' AND budget >= $euroUserBudget*$moneyNZD) OR (money='PHP' AND budget >= $euroUserBudget*$moneyPHP) OR (money='SGD' AND budget >= $euroUserBudget*$moneySGD) OR (money='THB' AND budget >= $euroUserBudget*$moneyTHB) OR (money='ZAR' AND budget >= $euroUserBudget*$moneyZAR) ) AND ( $preSk_FocusEnded ) AND ( name LIKE '%$searchMail%' OR title LIKE '%$searchMail%' OR comment LIKE '%$searchMail%' OR budget LIKE '%$searchMail%' OR city LIKE '%$searchMail%' OR state LIKE '%$searchMail%' OR country LIKE '%$searchMail%' OR email LIKE '%,$nombreusuario,%' OR email LIKE '%,$nombreusuario,%' ) AND refused NOT LIKE '%,$nombreusuario,%' AND readed NOT LIKE '%,$nombreusuario,%' ";

primero saco los datos del usuario de la TABLA A que los puede modificar... puede meter un presupuesto elegir una moneda (euros dolares...) ciudad pais habilidades que domina

y en la TABLA B estan los anuncios que sube la gente.. presupuesto ciudad pais y habilidad que requiere.

Esta consulta es para un gestor de correo en donde el usuario ve las coincidencias que tiene de todos los anuncios segun sus preferencias, y para mas inri esta todo embebido con AJAX, con lo cual lo de hacer la criba despues con if - contine; descartao porque la consulta MYSQL me puede volcar 15 resultados, y me los pagina de 5 en 5, pero si el continue que esta despues dela consulta me dice que no muestre esos primeros ciinco resultados entonces la primera pagina se veria sin resultados, un poco comico no?

Lo que pasa es que funciona bien porque esta todo bien pero de vez en cuando me saca este error MYSQL y me tiene todo loco!!!

for the right syntax to use near mysql_set_charset_name

En fin y se me habia ocurrido que alomejor con join se podia simplificar la cosa


el orden de lo que tengo que hacer es:

de la prmera tabla-- consultar un valor estable en algo de la segunda que es variable.
depues algo que es estable en la primera y en la segunda tabla
y concluyendo algo que es variable en la primera tabla y estable en la segunda...

menudo liazo no?
__________________
Ser libre no es hacer lo ke uno kiere, sino kerer lo ke uno hace....