[Zend_Db][1.0.1] Ordre Select avec jointure

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [Zend_Db][1.0.1] Ordre Select avec jointure

par Cyrano » 16 nov. 2007, 17:06

par Gargan21 » 15 nov. 2007, 12:52

Tu récupéres bien les champs que tu voulais ?
Oui oui, j'ai tout ce qu'il me faut
En quoi cet ordre peut il géner ton application ?
Tout simplement mon système d'affichage, dans mon cas un pdf, exemple :
$colonnes = array(25, 85, 20);
$entete = array('Champ1', 'Champ2', 'Champ3');
$champs = array_keys($resultat[0]);

for ($i=0 ; $i<count($entete) ; $i++) {
  $pdf->Cell($colonnes[$i], 5, $entete[$i], 1, 0, 'C', 1);
}
$pdf->Ln();

foreach ($resultat as $ligne) {
  for ($i=0 ; $i<count($entete) ; $i++) {
    $pdf->Cell($colonnes[$i], 5, $ligne[$champs[$i]], 1);	
  }
  $pdf->Ln();
}
Je sais, c'est un peu particulier, mais le fait d'avoir mon résultat de requête dans le bon ordre, m'évite de mettre en place une méthode de correspondance.

par momox » 15 nov. 2007, 12:29

Question, quel est le problème ? tu récupéres bien les champs que tu voulais ?
En quoi cet ordre peut il géner ton application ?
@+

[Zend_Db][1.0.1] Ordre Select avec jointure

par Gargan21 » 15 nov. 2007, 11:56

Bonjour,

Comme dis dans l'objet, j'utilise Zend_Db 1.0.1, et j'ai un petit soucis d'ordre des champs, voici mon problème :


Pour l'une de mes requête, j'utilise des jointures. Jusque-là tout va bien ... Par contre j'aurais besoin de mettre un petit peu d'ordre dans mon select pour éviter d'avoir à le retraiter après.

En requête SQL, je peux faire aisément :
SELECT t1.champ1, t2.champ2, t1.champ3 FROM t1 INNER JOIN t2 USING(id);
et mon résultat est comme il faut.

Par contre en ZF, j'ai ca :
$db->select()
-> from('t1', array('champ1', 'champ3')
-> join('t2', 't1.id=t2.id', array('champ2')
;
Ce qui me ressort le tableau suivant "champ1|champ3|champ2"

Comment faire en sorte que mon tableau soit "champ1|champ2|champ3" ?

Merci