Associer les colonnes de la base de données

  • shibbyy05
  • Beginner
  • Beginner
  • No Avatar
  • Inscription: Sep 07, 2005
  • Messages: 64
  • Loc: Ohio
  • Status: Offline

Message Novembre 12th, 2009, 4:03 pm

Bon, j'ai été aux prises avec la création de ce script pour un peu de temps et j'espérais que quelqu'un pourrait m'aider un peu.

Disons que j'ai 2 colonnes dans la base de données MySql (SKU, SkuDiff).

Sku possède une liste d'UGS qui contient skus double. Les doublons sont là parce qu'il y sont associés numéros de référence dans SkuDiff. Ainsi, par exemple:

Sku | SkuDiff
----------------
1234 | 1234-1
1234 | 1234-2
1234 | 1234-3

(Sa fait similaire à l'exemple ci-dessus, alors je me suis aide d'expressions régulières, j'ai pu associé)

Ce que je dois faire est de créer un script qui crée un fichier CSV basée sur les données qui déclenche l'affichage comme ci-dessous.

Sku | SkuDiff
----------------
1234 | 1234-1, 1234-2, 1234-3
4567 | 4567-1, 4567-2, 4567-3

Si vous pouviez me point dans la bonne direction guys that would be great!
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Novembre 12th, 2009, 4:03 pm

  • lostboy
  • Expert
  • Expert
  • No Avatar
  • Inscription: Juin 03, 2005
  • Messages: 511
  • Loc: Just north of Toronto
  • Status: Offline

Message Novembre 15th, 2009, 8:50 pm

Son paraît que vous êtes une recherche pour un Cross-tab requête . Vous pouvez l'essayer en utilisant les méthodes des articles, ou vous pouvez l'interroger et utiliser PHP pour traiter la requête et l'ensemble de résultats dans ce que vous avez besoin qu'il soit. Je devine que la requête est quelque chose que vous possédez déjà, Donc prenons le traitement. Le ci-dessous devrait créer un tableau avec UGS comme la clé et le comma separated values que la partie "valeur" du tableau. Une fois que vous avez ce tableau,, c'est un chose simple à boucler dans le tableau et imprimer la clé et des articles de valeur dans un fichier
Code: [ Select ]

//..query code

if($result){
 if(mysql_num_rows($result)>0){
  $arrSku = array();
  while($rows = mysql_fetch_array($result)){  

   //see if the sku value is present in the array and add the skudiff
   if(in_array($rows['sku'])){
    $arrSku[$rows['sku']] .= ','.$rows['skudiff'];
   }else{
    $arrSku[$rows['sku']] = $rows['skudiff'];
   }
  }
 }
}
  1. //..query code
  2. if($result){
  3.  if(mysql_num_rows($result)>0){
  4.   $arrSku = array();
  5.   while($rows = mysql_fetch_array($result)){  
  6.    //see if the sku value is present in the array and add the skudiff
  7.    if(in_array($rows['sku'])){
  8.     $arrSku[$rows['sku']] .= ','.$rows['skudiff'];
  9.    }else{
  10.     $arrSku[$rows['sku']] = $rows['skudiff'];
  11.    }
  12.   }
  13.  }
  14. }
Lostboy

Cat, the other other white meat
  • joebert
  • Sledgehammer
  • Genius
  • No Avatar
  • Inscription: Fév 10, 2004
  • Messages: 13455
  • Loc: Florida
  • Status: Offline

Message Novembre 15th, 2009, 11:44 pm

Essayez-vous de le faire avec une simple [= acronyme Structured Query Language: 30cjviau] SQL [/acronym] requête afin que vous puissiez exécuter quelque chose comme ce qui suit?

Code: [ Select ]
~/$ cat query.sql | mysql -uuser -ppass > output.csv


Est-ce pour une application web où une personne demande le fichier CSV à la volée et quelque chose comme [acronyme = Hypertext préprocesseur: 30cjviau] PHP [/acronym] / [acronyme = Active Server Pages: 30cjviau] ASP [/acronym] / etc communiqueront entre MySQL et le navigateur?
Strong with this one, the sudo is.

Afficher de l'information

  • Total des messages de ce sujet: 3 messages
  • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 182 invités
  • Vous ne pouvez pas poster de nouveaux sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas éditer vos messages
  • Vous ne pouvez pas supprimer vos messages
  • Vous ne pouvez pas joindre des fichiers
 
 

© 2011 Unmelted, LLC. Ozzu® est une marque déposée de Unmelted, LLC