0

サイトを構築していて、情報を取得する必要があります。このクエリがあります。

$SQL = "SELECT distretto_108, provinca_113, regioni_116, tipologia_pdv_106, 
        richiesta_ccnl_107, coop_va_109, nome_pdv_110, 
        indirizzo_pdv_111, localita_112 
        FROM civicrm_value_informazioni_su_tute_le_schede_p_22 ";  

この他のコードを追加する必要があります:

WHERE civicrm_event.title_en_US='".addslashes($_GET["titles"])."' 

しかし、それは機能していません...別のテーブルのIDと現在のテーブルのIDを比較する必要があります...どうすればいいですか?

前もって感謝します...

4

2 に答える 2

0

テーブルの結合について何かを学ぶ必要があります...

2つのテーブル間の関係がわからない(簡単に言うと、あるテーブルのどの列が別のテーブルのどの列を指しているか)が、同様のことを試してください(You DB構造を満たすために必要な変更)-ここで、両方のテーブルがevent_idと呼ばれる関連列:

$SQL = "SELECT distretto_108, provinca_113, regioni_116, tipologia_pdv_106, 
        richiesta_ccnl_107, coop_va_109, nome_pdv_110, 
        indirizzo_pdv_111, localita_112 
    FROM civicrm_value_informazioni_su_tute_le_schede_p_22 cvistlsp22
    LEFT JOIN civicrm_event ce ON ce.event_id = cvistlsp22.event_id
    WHERE ce.title_en_US='".mysql_real_escape_string($_GET["titles"])."'";

civicrm_value_informazioni_su_tute_le_schede_p_22テーブル名が非常に長く、他のDBMS(ORACLEなど)でそのような長い名前のテーブルを作成することはできないため、自己記述しながら短くするようにしてください...

テーブルを結合する場合は、リレーションが必要です。リレーションとその使用方法の詳細については、http://net.tutsplus.com/tutorials/databases/sql-for-beginners-part-3-database-を参照してください。関係/

于 2012-05-16T14:17:02.680 に答える
0

クエリでテーブル civicrm_value_informazioni_su_tute_le_schede_p_22 からデータを取得していますが、追加している where 句はテーブル civicrm_event を参照しています。この新しいテーブルを from 句に追加し、いくつかの共通キーを使用して 2 つのテーブルを結合する必要があります。以下の例:

$SQL = "
SELECT distretto_108, provinca_113, regioni_116, tipologia_pdv_106, richiesta_ccnl_107, coop_va_109, nome_pdv_110, indirizzo_pdv_111, localita_112 
FROM civicrm_value_informazioni_su_tute_le_schede_p_22 
  JOIN civicrm_event ON civicrm_value_informazioni_su_tute_le_schede_p_22.ID_PK = civicrm_event.ID_FK
WHERE civicrm_event.title_en_US='".addslashes($_GET["titles"])
"; 

ID_PK と ID_FK を、テーブルをバインドする関連する主キーと外部キーに置き換える必要があります。

そのようなクエリ パラメータの使用は推奨されないことに注意してください。詳細については、こちらの PHP ドキュメントを参照してください。

于 2012-05-16T14:23:52.143 に答える